The software runs on an IBM PC compatible, It is written in C++. Currently, it is written to run under DOS. The system is designed as a series of objects which interact with each other to run the layout. The interaction between objects is by passing messages.

Object Model

A diagram of the objects and the interconnection between them is shown below.

Elliptical boxes show an object, concentric elliptical boxes indicate an object which may be a set of derived classes and the rectangular boxes show external entities. The diagram does not follow any of the standard conventions because I am not familiar with any of them.


This object is the lynch pin of the system. It handles and routes all messages. It also processes most received messages and generates appropriate messages for other objects. If I was selling this I would call it the operating system :-)

Dispay Manager

This object manages all panel controls on the screen. It also routes some events to these panel controls.

Panel Control

This is a set of classes derived from a base class. They provide the user interface elements to control the layout e.g. a throttle.

Event Manager

This object handles events originating from input devices. An additional event is the timer tick. The timer tick controls the behaviour of most objects and provides them with a time base for periodic tasks.

Packet Dispatcher

This object handles the serial port for communication with the external PIC controllers. It also serves to abstract the interface between the Master and the external hardware. This will allow different external hardware configurations be controlled by the Master object without affecting the rest of the system.


This is a set of classes derived from a base class. These objects are counterparts of external controllers and encapsulate the behaviour of individual controllers. They may also mirror the internal state of external controllers. This allows program logic to be distributed between the object and the external controller without changing the interface between other system components.

Message Passing

Each object class has a type. Each object instance has a unique id. Assigned at the time of creation. Most messages are passed through the master object. The sender sends its own id. and a parameter with the message. The master maintains the message queue.
Home Back Previous
Updated on 13 Nov 95. Feedback to