previous next Up Title Contents

The Connection Management System

Programming using the first release of the CRL (version 1.0.0) required the use of careful techniques when making connections between processes, using the ConnectOutToInSignal_EarObject(...) routine. The difficulties came about because a process does not create an EarObject's output signal until it has been performed at least once, and connections between EarObjects were made via the created signals. This also led to some programming situations having insecure connections between EarObjects.

In this new release of the CRL (version 2.0.9 ) a connection management system is used. Whenever connections are made, entries are made in reference lists registering links between all EarObjects. Whenever a process is attempted upon an EarObject this list is checked, ensuring that incoming connections are kept up to date (e.g. if a signal has had to be deleted and re-created), and also notifying outgoing connections that updating is required.

The connection management system works invisibly. The obvious outward change in CRL programming is that connections can be set up, or 'registered' all in the same place (stage (iv) in the standard program format), and all connections are secure in every situation. An example of the use of the ConnectOutSignalToIn_EarObject(...) routine can be found in figure~[7], and detailed explanation of its use can be found in the associated text.


previous next Up Title Contents