Database Reference
In-Depth Information
Figure 6: Iterative routing
Iterative Routing
Iterative routing is similar to conditional routing. Again, C1 and C2 are two mutually
exclusive conditions. Whether or not the system stays in state B in Figure 6 depends on the
truth or falsity of the iterative condition C1.
DESIRABLE PROPERTIES
Workfl ow management systems and active database systems both employ triggers to
respond to exceptions and events. Thus desirable properties of active database systems are
also applicable to workfl ow management systems. We chose to examine three salient desir-
able properties of active database systems, namely, termination, confl uence, and observable
determinism. Given a statechart of a business workfl ow, we present several procedures to
determine whether the given statechart has these properties.
Termination
As discussed in the Modeling Workfl ow Concepts section, external events are generated
by elements outside the given statechart. Internal events, on the other hand, are generated
by elements inside the statechart. Sometimes events can be generated both externally and
internally. For example, consider the statechart of a machine. The event “power off” can
be generated externally by an operator when he shuts down the machine or the event may
be generated internally by the machine itself when it is overheated. Generation of events
may lead to infi nite execution of a statechart. In Figure 7, which is adapted from Figure
47 in Harel (1987), once the event E1 occurs externally, events E2, E3, E4, and E1 will be
generated in this order internally, forever, meaning that the statechart will never terminate.
A workfl ow design tool should be able to detect cycles of this sort before the actual deploy-
ment of the system. In this way, termination problems can be detected and corrected during
modeling rather than in production.
There are certain distinguishing features in Figure 7. First, it leads to infi nite execution
and second, it contains cycles. In fact, a statechart that leads to infi nite execution always
has a cycle even though having a cycle in a statechart does not mean that the statechart will
always lead to infi nite execution. Third, in Figure 7, the transitions on the cycles are triggered
by internally generated events or conditions that will never run out or never be false.
Note that in the third point above, the condition that the “internally generated events or
conditions that will never run out or never be false” is important since internally generated
events may eventually run out or conditions of transitions may eventually become false, as
shown in the following example.
Search WWH ::




Custom Search