Database Reference
In-Depth Information
Figure 8: First Intermediate Snapshot Diagram
i = 1, 2, 3 are also specifi ed (see Table 1). These maps do not correspond exactly with the
above-mentioned three subtasks in Harel and Naamad (1996), since we are dealing with UML
State Machines and Harel and Naamad (1996) deal with a different version of Statecharts.
More specifi cally, map
TTT
calculates the enabled compound transitions (ECTs) taking into
account the current event instance, the active state confi guration, the distinct connectors (in
order to compute the compound transitions), the values of variables and guards, and so on.
This is done by means of the
computeEnabled
operation of the
lntermediateStateMachine1
class (see Figure 8 and Table 1). A step is calculated by means of
TTT
starting from the set of
ECTs, solving the possible confl icts between transitions in this set and taking into account
the fi ring priorities. The
computeStep
operation of the
IntermediateStateMachine2
class is
used in this case (Figure 8 and Table 1). Finally, the step is executed by means of map
TTT
,
which causes the execution of some actions and gives rise to a new snapshot state machine,
representing the new current status. The
execute
operation of class
Step
performs this task
(Figure 9 and Table 1). In turn, any of these intermediate maps could also be refi ned, with
new stages and maps being added until the desired degree of detail is reached. Further-
more, each one of the operations used in these maps must be implemented by means of a
method, but we do not include them here for space reasons. In this respect, it is important
to mention the detailed algorithm shown in Lilius and Paltor (1999), which specifi es the
run-to-completion step.