6.1.1 Parameter Messages

Parameter messages are one of the basic concepts of the software. They are used to transport parameter settings and status information between the components of the software.

parameter-message.gif

A Message is composed of a message identifier and the value which shall be transported. The latter can be a text string, an enumerated value, a numeric value (integer or floating point) or a boolean flag. The message ID indicates the source or destination of the message.

Message identifiers

The message identifier defines the device driver variable, this message belongs to. Depending on the direction in which the actual message is sent, this can be the recipient of the message or the originating variable.

A message identifier is a textual string composed of two or more words which are separated by dots. The first of these words is the name of the device, the remaining part of the identifier is the name if the device driver variable. A message identifier ' MODEM-1.tx.on ' refers to the variable ' tx.on ' at the device ' MODEM-1 '.

The usage of messages for parameter settings

Picking up the example with the ' MODEM-1.tx.on ' parameter, the following shall explain what happens, if a parameter is changed by the operator. The user interface window containing this parameter sends a message to the M&C/VLC server which dispatches the message to the device driver variable which listens to messages with this identifier. The device gets the new value and sets it at the device. The value will be read back (immediately after it has been set, but in regular intervals, too) and a message with the value read from the device is distributed to all windows showing this parameter.

Range messages

Well, but how does the user interface 'know' that ' MODEM-1.tx.on ' is a CHOICE parameter with the possible selection OFF or ON?. It does not know this from it's own, it receives a so called range message from the device driver with this information. A range message describes the data type and the valid range of a parameter. It uses the message ID of the parameter it describes with a ' .R ' appended. The range message for the parameter above would use the identifier ' MODEM-1.tx.on.R '. The message contents describes the ' MODEM-1.tx.on ' parameter as a (OFF/ON) choice parameter.

A device driver distributes range messages for all variables it maintains. It tells the user interface about the presence type, and range of all it's parameters. Two important consequences of this fact are:

Message transport

Messages are transported within the software over TCP/IP streams. They can be sent within the same software component, from one sub-component to the other. But they also carry their information between the M&C/VLC server and the user interface program (client) which may be on another computer located somewhere completely different.

To to reduce the number of messages which are sent, the software uses some Optimizations, two of them are listed below: