Pattern Name: Actuator-Sensor
Intent: Specify various kinds of sensors and actuators in an embedded system.
Motivation: Embedded systems usually have various kinds of sensors and actuators. These sensors and actuators are all either directly or indirectly connected to a control unit. Although many of the sensors and actuators look quite different, their behavior is similar enough to structure them into a pattern. The pattern shows how to specify the sensors and actuators for a system, including attributes and operations. The Actuator-Sensor pattern uses a pull mechanism (explicit request for information) for PassiveSensors and a push mechanism (broadcast of information) for the ActiveSensors.
Constraints: Each passive sensor must have some method to read sensor input and attributes that represent the sensor value. Each active sensor must have capabilities to broadcast update messages when its value changes. Each active sensor should send a life tick, a status message issued within a specified time frame, to detect malfunctions. Each actuator must have some method to invoke the appropriate response determined by the ComputingComponent. Each sensor and actuator should have a function implemented to check its own operation state. Each sensor and actuator should be able to test the validity of the values received or sent and set its operation state if the values are outside of the specifications.