Reactive system
A reactive system is a system that responds (reacts) to external events.
Typically, biological systems are reactive, because they react to certain events. However, the term is used primarily for describing human-made systems. For example, a light consisting of a bulb and a switch is a reactive system, reacting to the user changing the switch position.
System behaviour
The light is an example of a simple reactive system, in the sense that the system reaction to the event is consistent: it does not depend on the context. The response of non-trivial systems to events may depend on the context. For example, a simple thermostat may close a switch when the temperature in a container is below a threshold, and may open it otherwise.
Dynamic systems
A reactive system is regarded as dynamic if the system response to events depends not only on the context, but also on the history of prior events. This usage of Dynamic system should not be confused with Dynamical system, which is a system with continuous states that change over time according to mathematical rules.
Describing the system behavior
Reactive systems are developed through system engineering disciplines. A practical way to handle the dependency on the history of prior events is by defining system parameters, which define the system condition, which affects the system response.
A common practice to define the system condition is by discrete system states, which may represent a range of values of the system parameters. For example, a simple thermostat has two states: connecting or disconnecting. It may close a switch if the temperature in a container is below a threshold, and may open it otherwise.
Interactive systems
A most important type of reactive systems is of interactive systems. These systems may react to the events by providing output to its users and operators. The output may be feedback to the event or indication about the system condition.
Typically, biological systems are interactive, providing feedback to certain event, such as feeding. However, the term is used primarily to describe machines, designed to perform certain functions to their operators or users. Examples of interactive systems include information systems, workflow management systems, systems for e-commerce, production control systems, and embedded software [1]
Note
This definition is different from that of reactive computer system, which counts also internal events. [2]
References
- ↑ , R.J. Wieringa, Design Methods for Reactive Systems: Yourdon, Statemate, and the UML (The Morgan Kaufmann Series in Software Engineering and Programming)
- ↑ , Application of Finite Automata
External links
- R.J. Wieringa, Design Methods for Reactive Systems: Yourdon, Statemate, and the UML (The Morgan Kaufmann Series in Software Engineering and Programming)
- D. Harel, "Statecharts: A Visual Formalism for Complex Systems", Sci. Comput. Programming 8 (1987), 231-274