Controllable events are under the control of the controller. They are outputs of the controller and inputs for the system being controlled. The controller determines when these events occur. Typical examples include turning an actuator on or off, or enabling or disabling a sub-system.
Uncontrollable events are outside of the control of the controller. They are inputs for the controller and outputs of the system being controlled. The controller can not prevent such events from occurring in the system. Typical examples include a sensor going on or off, such as for a button push sensor or a movement limit sensor.
The events can be modeled in CIF as follows:
uncontrollable u_button_pushed, u_button_released; controllable c_turn_motor_on, c_turn_motor_off;
Controllable events are by convention given names starting with
c_, while uncontrollable events start with
For channels, a special kind of events, see the CIF language tutorial:
The next step in the process is to model the plant.