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.
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
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 :-)
This object manages all panel controls on the screen. It also
routes some events to these panel controls.
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.
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
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.
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.
Updated on 13 Nov 95. Feedback to