Page 203 -
P. 203
194 M. Pesic
transitions. Naturally, the same approach is applied again to all states, as the auto-
maton changes states due to execution of tasks.
6.3.5 Enforcing Correct Instance Completion
The goal of the execution of a constraint workflow model instance is to satisfy all
mandatory constraints, and so the state of the instance should be satisfied at com-
pletion. The automaton generated for the mandatory formula of the model is used to
monitor the state of the instance. Recall that the state of the instance is satisfied if the
automaton is in an accepting state. Now the completion of an instance is allowed, if
and only if, the generated automaton is in an accepting state.
Enforcing the correct execution and completion of instances is done in the fol-
lowing way: (1) The states of all constraints are constantly monitored; (2) The
state of the instance is constantly monitored; (3) The correct execution of instance
is enforced by prohibiting the execution of tasks that would eventually bring the
instance into the violated state; and (4) The completion of the instance is allowed if
and only if the instance state is satisfied. All this can be done using the automaton
generated for the mandatory formula of the instance’s constraint model.
6.4 Dynamic Instance Change
In some cases, it is necessary that the model of the instance changes (i.e., by adding
and removing tasks or constraints), although the instance is already executing and
the instance trace might not be empty. We refer to such a change as a dynamic
instance change. Workflow management systems that support dynamic change are
called adaptive systems. For example, ADEPT is a workflow management system
that uses powerful mechanisms to support dynamic change of procedural process
models by allowing to add, remove, and move tasks at runtime. The constraint-
based approach offers a simple method for dynamic change that is based on a single
requirement: the instance should not become violated after the change.
Because of the fact that in dynamic instance change the trace of an instance
remains the same whereas the model changes, it might happen that the instance state
changes according to the new model (cf. Definition 12). For example, it is possible
that after adding a mandatory constraint, the instance state changes from satisfied
to violated, which is an undesired state. Therefore, instance change can only be
successfully applied if the change does not bring the instance into the violated
state. After a successful change, the instance continues execution with an updated
model and the original trace. Automata generated for ConDec models enable easy
implementation of dynamic change of ConDec instances: dynamic change of a Con-
Dec instance is successful if the instance trace can be “replayed” on the mandatory
automaton of the new model.

