Synchronous Reactive
In the synchronous/reactive (SR) model of computation , the arcs
represent data values that are aligned with global clock ticks. Thus,
they are discrete signals, but unlike discrete time, a signal need not
have a value at every clock tick. The entities represent relations
between input and output values at each tick, and are usually partial
functions with certain technical restrictions to ensure determinacy.
Examples of languages that use the SR model of computation include
Esterel, Signal, Lustre, and Argos.
SR models are excellent for applications with concurrent and complex
control logic. Because of the tight synchronization, safety-critical
real-time applications are a good match. However, also because of the
tight synchronization, some applications are overspecified in the SR
model, limiting the implementation alternatives. Moreover, in most
realizations, modularity is compromised by the need to seek a global
fixed point at each clock tick.