Page 363 -
P. 363

13  The Business Process Modeling Notation                      361
                           Table 13.1 Mapping data from BPMN to YAWL
                             BPMN                                 YAWL
                             Property                             Variable
                             Process property reference           Process variable reference
                             <process name>.<property name>       <process decomposition name>/
                                                                  <variable name>
                             Task property reference              Task variable reference
                             <process name>.<task name>.<property name>  <task decomposition name>/
                                                                  <variable name>
                             Assignment (Assigntime = Start)      Input parameter
                             Assignment (Assigntime = End)        Output parameter
                             Condition (ConditionType = Expression)  Predicate
                             Condition (ConditionType = Default)  Last predicate is “true()”
                             Property visible in embedded subprocess  Variable of composite task
                             Property visible in independent subprocess  Variable of composite task


                           variable’s type. This principle applies whether the property is defined at the level of
                           a process model or at the level of an individual task. For example, properties track-
                           points, currentTrackpoint,and trackpointNoticesdefined at the top of Fig. 13.4 are
                           defined at the level of the process model. They will therefore be mapped into vari-
                           ables attached to the corresponding YAWL net. Meanwhile, in the same figure, three
                           properties (trackpoints, trackpointNotice,and skipTrackpoint) are defined under the
                           task Issue Trackpoint Notice. These properties are mapped to variables defined at the
                           level of the corresponding YAWL task. A subtle difference here is that, in YAWL,
                           variables defined at the level of a task are grouped inside a decomposition, while in
                           BPMN, properties are assigned directly to a task. Therefore, a decomposition needs
                           to be defined under task Issue Trackpoint Notice and the above three variables must
                           be attached to this decomposition.
                              BPMN assignments that are executed when a task starts (i.e. that have “Assign-
                           time = Start”) assign values from a process property to a task property. Such
                           assignments map to YAWL input parameters. The from part of the assignment is
                           an XQuery expression that refers to properties of the process, and the to part is a
                           reference to a property of the task. In the from and the to parts, references to BPMN
                           properties must be mapped to references to YAWL variables. Assignments that are
                           executed when a task completes (i.e., that have “Assigntime = End”) assign values
                           from a task property to a process property. Such assignments map to YAWL output
                           parameters in a similar manner. For example, Fig. 13.4 contains two assignments
                           attached to task Issue Trackpoint Notice.The AssignTime of the first assignment is
                           Start. Accordingly, this assignment is mapped into an input parameter in the corre-
                           sponding YAWL task decomposition. This input parameter copies the value of the
                           net variable trackpoints into the task variable with the same name. Meanwhile, the
                           AssignTime of the second assignment is End. Hence, this assignment is mapped into
                           an output parameter in YAWL.
                              A BPMN condition on a sequence flow is mapped to a YAWL predicate on a flow.
                           There are two possible cases: either the condition is represented as an (XQuery)
   358   359   360   361   362   363   364   365   366   367   368