# A Preview of Synchronous/Reactive Models

Synchronous/reactive systems will be the topic of a future lecture.
A reactive system is one that reacts to the environment as the speed
of the environment, as opposed to an interactive system that responds
to the environment as its own speed or a batch system that processes
requests eventually.
A reactive system, such as a real-time embedded DSP system, is severely
limited in memory and size.
In synchronous/reactive systems, synchronous means time, and the behavior
of the system changes every clock tick.
Clock ticks do not have to occur at uniformly space intervals.
Within a clock tick, these systems follow the
*Synchronous Hypothesis* which is given below:

Computations occur in zero time.

# Handling simultaneous events and feedback when computation
takes zero time

The key is the notion of a fixed-point iteration.
During each clock tick, the behavior of each component block of the
synchronous/reactive system cannot change.
Therefore, there must be a set of values on the wires (arcs) that
represents a unique set of values that satisfies the behavior of
all component blocks.
The unique set of wire values is called the (least) *fixed point*
of the system.
It represents the only stable state for the system.
If `x`

were a vector of all possible wire values, then the
state `x`

that satisfies
f(x) = x

represents the fixed-point of the system.
The analogy to Synchronous Dataflow is that the repetitions vector
represented the unique solution to the load balance equations, and
the (least) fixed-point of the system.
Fixed-point examples

Updated 02/16/04.