next up previous contents
Next: The PE Control System Up: Implementation Previous: Implementation

The Central Interface

The central-interface (CI) is the core program that handles the communication between the subsystems, and maintains a global database for the current design and a history of previous designs. There are several types of messages used in the communication. Table 4 shows the different types of messages with a brief description and the direction of each.

  table764
Table 4: Message types used in the communication protocols.  

The CI is the implementation of the communication protocols described in Section 7.3.1. There are some features and enhancement to the protocols has been added to the CI. For example, When the CI receives a change message from an SSI, it directly sends lock messages to the other subsystems so that no more changes can be sent from any SSI until they receive a steady message. This solves the concurrency problem of more than one system send changes to the CI at the same time. The first message received by the CI will be handled and the others will be ignored. If an SSI receives a lock message after it sent a change message, that means its message was ignored. Another feature added to the CI is the ability to detected if an SSI is working or not by tracing the SSI_Start and SSI_Stop messages.

The CI is managing a number of data files that contains information about the robot configuration, platforms, reports, design history, subsystems, and some general information about the project. The basic file operation was implemented by defining a file class, and by adding some member functions to each class in the system that performs the required file management operations. The file operations that are implemented in the system are:

open:
open a file in one of three modes: input, output, or input-output mode.
close:
close an open file.
top:
go to the first record in the file.
end:
go after the last record in the file.
next:
go to next record.
prev:
go to previous record.
read:
read the current record.
write:
write a record to the end of the file.
find:
find a record that contains a certain key.
file_size:
returns the number of records in the file.

Some of these operations are class-specific functions such as, read, write, and find, while the rest are general operations that are implemented as member functions in the basic file class.


next up previous contents
Next: The PE Control System Up: Implementation Previous: Implementation

Matanya Elchanani
Wed Dec 18 17:00:21 EST 1996