Information Technology Reference
In-Depth Information
cReq
i
,sReq
j
cAns
i
,sAns
j
For each pair of components
i
and
j
, the following automaton synchronizes the
events
openCS
i
and
openSS
j
to establish a connection between components
i
and
j
and the events
closeCS
i
and
closeSS
j
to release the connection again.
These two consecutive synchronizations together thus model one session between
the client of component
i
and the server of component
j
.
openCS
i
,openSS
j
closeCS
i
,closeSS
j
Combining the automata above models the port connections in a session (shown
below). As stated before communication between components is only possible
after requesting a session to be opened. After the components have finished their
communication the session is closed. The
interleaving product
of these combined
automata for all pairs of components results in an automaton describing the
behavioral interface of the
Broker
.
cReq
i
,sReq
j
openCS
i
,openSS
j
closeCS
i
,closeSS
j
cAns
i
,sAns
j
Notice that interleaving allows for components to be involved in more than one
session at a time. The
synchronized product
of the network manager automa-
ton with the component automata (from the previous subsection) describes the
overall behavior of the system. The product restricts the network manager and
the components to exclusive sessions, i.e. a component is involved in at most one
session at a time.
Channels.
We further refine the network model by introducing
channels
(which
are primitive connectors) [3,19]. In general, a channel provides two (channel)-
ends
. We distinguish between input-ends (to which a component can
write
)and
output-ends (from which a component can
read
). We also describe the syn-
chronization between the two channel-ends by an automaton. For example, the
automaton below models a 1-place buffer. It provides an input-end
in
and an
output-end
out
. In state
e
the buffer is empty and in state
f
it is full (for sim-
plicity, we abstract from the data transferred and stored).
in
out
We model the data-transfer from server
j
to client
i
, i.e., the connection between
the answer ports, by replacing the synchronization of
cAns
i
and
sAns
j
by the
following synchronization with the above 1-place buffer.
sAns
j
,in
cAns
i
,out