Information Technology Reference
In-Depth Information
Table 1.
Graphical notation and semantics for channels and nodes
Channel name Graphical notation
Constraint automaton
Sync
A
B
{A, B} d
A
=
d
B
LossySync
A
B
{A}
{A, B} d
A
=
d
B
A
B
{A, B}
SyncDrain
{B}
{A}
AsyncDrain
A
B
{A} d
A
=1
{A} d
A
=0
FIFO
A
B
{B} d
B
=1
{B} d
B
=0
{A}¬expr
(
d
A
)
{A, B} expr
(
d
A
)
∧ d
A
=
d
B
Filter
A
B
{A, B} d
B
=
f
(
d
A
)
Trans form
A
B
A
B
{A, C} d
A
=
d
C
{B,C} d
B
=
d
C
Merger
C
B
C
{A, B, C} d
A
=
d
B
=
d
C
Replicator
A
Mixed nodes combine both behaviors by atomically consuming a data item from
one sink end at the time and replicating it to all source ends.
Semantics of Reo can be given in terms of constraint automata [2]. The transi-
tions in constraint automata are labeled with sets of synchronously firing ports,
as well as with data constraints on these ports, if desired. Table 1 depicts the
graphical notation and the constraint automata semantics for the basic chan-
nels and of the
Merger
and
Replicator
primitives, which can be used to construct
nodes. For example, the constraint automaton for the lossy sync either has flow
on ports
A
and
B
involving the same data value (right self-loop) or has flow on
port
A
only, without further conditions (left self-loop). Note that the constraint
automaton shown for the
FIFO
is with respect to the data domain
Data
=
{
0
,
1
}
.
Formally, constraint automata are defined as follows.
Definition 1.
A constraint automaton
A
=(
S,
N
,
→
,s
0
)
consists of a set of
2
N
×
states
S
, a set of port names
S
,
where
DC
is the set of data constraints over a finite data domain Data, and an
initial state
s
0
∈
N
, a transition relation
→⊆
S
×
DC
×
S
.
For a comprehensive discussion of the constraint automata semantics of Reo we
refer to [2]. The intuitive idea of constraint automata is that if the data constraint
is satisfied, the corresponding transition can fire and data flow is observed at
the given ports. We write
s
N
→
t
, without constraint, for a transition indicating
that while going from the state
s
to the state
t
, flow is observed at the ports in
the set
N
.