Usually transitions in models of
plant represent start or finish of some time consuming actions, while
transitions in the controller's part of the model represent almost
instantaneously executed commands. Hence, when two transitions are enabled, one
in the plant, and the other in the controller, first the latter has to be
executed. Consider a simple
example of process/controller communication as shown in Figure 1.
Figure1:
Model of
plant/controller interaction
and its reachability graph.
The
process is represented by the basic unit of plant which
has two flip-flop
states (as up--down,
left--right, on--off) modeled by places p1 and p2.
Transitions between
the places are spontaneous. First assume that the model is not timed (by
ignoring the time intervals attached to the arcs).
The
block “Observer” makes a "moment photo" of the process, i.e. reads
the value of state in the loop (input DETECT ) and when it is "ON"
(i.e. m(p2)=1), performs some computations and stores the value
in the memory. When the state becomes "OFF" (input
“RELEASE”), the observer clears the memory and returns to the initial state.
If
transitions in the observer were also spontaneous, in the state shown in the Figure 1 there would be the
following enabled steps of transitions: s1={t2},s2={t3},s3={t2,t3}. However, the
first step is not feasible: it reflects the situation when the event occurred
(m(p2)=1), but the controller does not start the corresponding action though it
was able to do so (was not busy), and the information about the action is lost.
a)
b)
Figure
2. Desirable and incorrect sequence of
plant/controller states.
The sequence presented in the right Figure can never occur on the reality but is
generated by the model.
The first, “greedy” transition approach is aimed at non-timed models. All spontaneous transitions in the controller (like those in the “execution logic” part) are marked as greedy. According to the greedy firing rule, if a greedy transition is enabled, then each executable step must include at least one greedy. This guarantees that all enabled transitions (commands) in controller will be executed until the next action occurs in the plant.
Figure
3. Reachability graph of the
interconnected system.
Trajectories eliminated by the “greedy” tick generator are dotted.
To fix the behavior of our model we introduce greedy transition tg connected to t3,t4,t5 via (dotted) event arc. Since tg is always enabled, it fires at every state transition sending forcing “ticks” to the commands in the controller no matter what is going on in the plant. All the transitions t3,t4,t5 could be marked as greedy instead and that would in this example the equivalent behavior. But we prefer forcing such transitions from the greedy “tick” generator on the reasons which become clear in the next section.
In case of timed models, the use of greedy transitions in the former example is obsolete - the desired behavior obtained automatically since at the clock value u(p2)=0 (i.e. right after place p2 gets marked) the process in the plant is delayed, and only transition remains t3 is enabled. The only sequence of firing t3 -> t4 -> (after 1 time unit) t2 -> t5, if all arcs in the controller model have zero-delay (i.e. time interval [0,Ґ]).
© 2003,
Martin
Luther University of Halle-Wittenberg, Automation Technology
Lab.
Recommended
browser: IE 4.0 or higher
Document created and maintained by: Valeriy V. Vyatkin