Page 366 -
P. 366
364 G. Decket et al.
two branches: one corresponds to the rule evaluating to true, the other corresponds
to the rule evaluating to false. If the rule evaluates to true, a variable corresponding
to the rule event is set to true (variable e in the figure), and the subprocess instance
is terminated. On the other hand, if the rule evaluates to false, the normal flow of
control is followed. The rule is also evaluated when the subprocess starts.
Assuming that the rule event depends only on data within the scope of the sub-
process, this mapping ensures that the satisfaction of the rule will be detected as
early as possible. On the other hand, this mapping can lead to spaghetti-like models
as an XOR-split and an additional arc need to be inserted for every activity in the
subprocess. Also, this mapping corresponds to one interpretation of the BPMN spec-
ification. The BPMN specification does not state exactly when a rule event should be
raised. One possible interpretation of BPMN is that an attached rule event is raised
when changing from a state of nonsatisfaction of the condition to a state of satisfac-
tion of the condition during the execution of the subprocess. Another interpretation
is that the event is raised whenever the activity to which it is attached is enabled or
running, and the rule evaluates to true (in particular, the event is raised if the rule
evaluates to true when the activity is enabled or started). Thus, what we present is
one possible interpretation of the BPMN specification rather than a definite mapping
of rule events to YAWL.
An alternative mapping of attached rule events could be obtained by introducing
a task within the subprocess that evaluates the rule periodically (e.g., every 5 min).
However, this introduces a potentially heavy execution overhead and does not ensure
that the rule event is raised as soon as the condition becomes true.
Yet another approach to mapping attached events from BPMN to YAWL is by
making use of the concept of exlets, as described in Chaps. 5 and 11.
13.4 Tool Support
The BPMN2YAWL tool supports the transformation described earlier. It is imple-
mented as an Eclipse plug-in. The tool itself and installation instructions are avail-
able for download through the YAWL web site, together with the other components
of the YAWL System.
The tool takes as input BPMN diagrams produced by the STP BPMN Mod-
4
eler. The models produced by this tool are split into two files: one contains a
representation of the model in XMI (XML Interchange Format), while the other con-
tains layout information (e.g., coordinates of graphical elements). Once installed,
the BPMN2YAWL plug-in provides a menu item that transforms the XMI file
(.bpmn file). It then produces a YAWL Engine file that does not contain layout infor-
mation. This file can be imported into the YAWL Editor, which applies an automated
layout algorithm.
4 The STP BPMN Modeler is available at www.eclipse.org/stp/bpmn/

