Next: Prototyping Environment Database Up: The Prototyping Environment Previous: Overall Design

Communication Protocols

The main purpose of this environment is to keep all the subsystems informed of any changes in the design parameters. Therefore, passing information between the subsystems is the most important part of this environment. To be able to control the information flow, some protocols were developed to enable the communication between these subsystems in an organized manner. In our design, all subsystems communicate through the CI which is responsible for passing the information to the subsystems that need to know.

There are two types of events that can occur in this system:

  1. Change reported from one of the subsystems.
  2. Request for data from one subsystem to another.

Figure 3 shows the protocol used for the first event represented by a finite state machine (FSM). The states of this FSM are:

  1. Steady state: Do nothing.
  2. Change has been reported: send lock message to all subsystems. Apply relations and check constraints. If constraints are satisfied, go to state 3. If constraints are not satisfied, report these to sender and go to steady state.
  3. Constraints are satisfied: Notify the subsystems with the changes and wait for acknowledgments.
  4. Acknowledgments received from all subsystems: Send the final acknowledgment to the subsystems and go to steady state.
  5. Acknowledgments not Ok: Send a ``change-back'' command to the subsystems and go to steady state.

Figure 4 shows the protocol for the second event. The states in this FSM are:

  1. Steady state: Do nothing.
  2. Request for SS2 received from SS1. Send the request to SS2.
  3. Required data found at SS2. Send data to SS1 and go to steady state.
  4. Required data not found at SS2. Send report to SS1 and go to steady state.


sobh@bridgeport.edu
Thu Sep 15 15:37:47 MDT 1994