Environmental Control
20.2.2 Environmental Control
Perhaps the most widespread use of embedded software is in control systems. In these systems, the software controls the operation of equipment, based on stimuli from the equipment’s environment. For example, an anti-skid braking system in a car monitors the car’s wheels and brake system (the system’s environment). It looks for signs that the wheels are skidding when brake pressure is applied. If this is the case, the system adjusts the brake pressure to stop the wheels locking and reduce the like- lihood of a skid.
Control systems may make use of the Environmental Control pattern, which is a general control pattern that includes sensor and actuator processes. This pattern is described in Figure 20.9, with the process architecture shown in Figure 20.10. A variant of this pattern leaves out the display process. This variant is used in situations where there is no requirement for user intervention or where the rate of control is so high that a display would not be meaningful.
This pattern can be the basis for a control system design with an instantiation of the Environmental Control pattern for each actuator (or actuator type) that is being controlled. You then optimize the design to reduce the number of processes. For example, you may combine actuator monitoring and actuator control processes, or may have a single monitoring and control process for several actuators. The opti- mizations that you choose depend on the timing requirements. You may need to monitor sensors more frequently than you send control signals, in which case it may
be impractical to combine control and monitoring processes. There may also be
20.2 ■ Architectural patterns 551
Name
Environmental Control
Description The system analyzes information from a set of sensors that collect data from the system’s environment. Further information may also be collected on the state of the actuators that are connected to the system. Based on the data from the sensors and actuators, control signals are sent to the actuators that then cause changes to the system’s environment. Information about the sensor values and the state of the actuators may be displayed.
Stimuli Values from sensors attached to the system and the state of the system actuators.
Responses Control signals to actuators, display information. Processes
Monitor, Control, Display, Actuator Driver, Actuator monitor.
Figure 20.9 The Environmental
Used in
Control systems.
Control pattern
direct feedback between the actuator control and the actuator monitoring process. This allows fine-grain control decisions to be made by the actuator control process.
You can see how this pattern is used in Figure 20.11, which shows an example of
a controller for a car braking system. The starting point for the design is associating an instance of the pattern with each actuator type in the system. In this case, there are four actuators, with each controlling the brake on one wheel. The individual sensor processes are combined into a single wheel-monitoring process that monitors the sensors on all wheels. This monitors the state of each wheel to check if the wheel is
Actuator Monitor
Driver Process
Process
Figure 20.10 Environmental Control process structure
Actuator
552 Chapter 20 ■ Embedded software
Pedal Pressure Sensor
Brake 1
Brake 2
Pedal Monitor
Analysis Process
Figure 20.11 Control
Monitor
system architecture for
Brake 4 an anti-skid braking
Brake 3
system
Wheel Sensors
turning or locked. A separate process monitors the pressure on the brake pedal exerted by the car driver.
The system includes an anti-skid feature, which is triggered if the sensors indicate that a wheel is locked when the brake has been applied. This means that there is insufficient friction between the road and the tyre; in other words, the car is skidding. If the wheel is locked, the driver cannot steer that wheel. To counteract this, the sys- tem sends a rapid sequence of on/off signals to the brake on that wheel, which allows the wheel to turn and control to be regained.
Parts
» Software Engineering Ian Sommerville(www.ebook dl.com)
» An insulin pump control system
» A patient information system for mental health care
» A wilderness weather station
» ■ Agile software development 57
» Plan-driven and agile development
» ■ Requirements engineering 83
» The software requirements document
» Requirements engineering processes
» Architectural design decisions
» System context and interactions
» Preventative maintenance by refactoring
» ■ Sociotechnical systems 265
» Verification and formal methods
» Safety and dependability cases
» Components and component models
» Two-tier client–server architectures
» Multi-tier client–server architectures
» Distributed component architectures
» ■ Service-oriented architecture 509
» ■ Service-oriented architecture 511
» ■ Service-oriented architecture 513
» Services as reusable components
» Service candidate identification
» Service implementation and deployment
» Workflow design and implementation
» Project duration and staffing
» The process improvement process
» The CMMI process improvement framework
Show more