1. Overview of projectsThe following is an overview of some of the more interesting projects I coded for the NTMS while working for B.T. Syntegra. 1.1. AMPT/BMTP (A&B Message Transfer Protocol modules)These modules used the AXE10 Message Transfer Protocol on top of the X25 Protocol to communicate with Erricson AXE10 exchanges over the UK PSS Network. Coding for this module involved analyzing the MTP documentation and implementing a set of functions to facilitate the transfer of data measurement files from the exchange to the NTMS machine. The program was implemented to be able to have several channels open at once to communicate with multiple exchanges. The module was implemented as a finite state, event driven machine. It was written in C and ran on Concurrent 3280’s which used the real time OS OS/32 as their operating system. In house system library functions were used to set up message, timer and interrupt queues so the program could service several channels at once. 1.2. AXE10 Exchange Simulator.This module implemented the exchange side of the AXE10 MTP. By using a loop back cable and a null modem, the exchange simulator could be made to talk to the AMTP/BMTP to enable testing of the NTMS independently of external networks. The simulator also implemented the command mode of the MTP so commands could be entered at the NTMS end (ie to add controls) and responses sent. The command mode was implemented using a file driven process with commands and responses held in an ASCII file which could be edited by the tester to send correct, incorrect or erroneous responses. 1.3. MH – the Message Handler.All tasks that ran on the Concurrent 3280 communicated via message queues. Messages were sent using system calls (SVC) which would transfer a 64 byte message from one program space onto the message queue in another program space. When the NTMS was split into a front end (data collector) and back end (Displays and Database) a method was required for transferring the intertask messages between machines. The message handler was written using the supplied Transport Service Program Interface (TSPI) library to establish a 2-way communication link between the 2 machines. One message handler ran on each machine and intercepted messages that were bound for tasks on the remote machine. It then packaged them into a data buffer and forwarded it to the message handler on the remote machine. The message handler would unpack the buffer and forward the message to the required task. The message handler was started up on the back end machine and was responsible for loading up the remote message handler and maintaining the connection between the handlers. Eventually the increase in the number of exchanges monitored by the NTMS meant the number of front ends was increased. The message handler had to be modified to handle multiple front ends. The MH task was the same on all machines but the one on the back end ran as Master and all other ran as Slaves. This enabled the same code to be used for all machines. 1.4. FORCE Emulator.This project was originally written on my own time in the evenings and weekends to familiarize myself with new SUN hardware that had been introduced and as a programming exercise in X and XVIEW. It was originally intended to be a test tool so I could view images on my workstation that would normally only be viewable on the Wall Board in the operations room. The original hardware allowed for multi plane drawing , so once a background had been set up the foreground could be drawn over the top and not affect the background. Clearing the screen cleared only the foreground image. This was used by the NTMS to draw geographic maps in the background and use the foreground to draw lines and symbols representing route exceptions and exchange exceptions. The module was written in C and used the XVIEW library to set up its windows. The program was eventually incorporated into the NTMS in order to replace the ageing FORCE hardware. |