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/
   361   362   363   364   365   366   367   368   369   370   371