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.
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:
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.