Page 355 -
P. 355

13  The Business Process Modeling Notation                      353
                            <Process Id=’p1’ Name=’Freight in Transit’>
                              <Properties>
                                <Property Name=’trackpoints’ Type=’Trackpoints’/>
                                <Property Name=’currentTrackpoint’ Type=’Trackpoint’/>
                                <Property Name=’trackpointNotices’ Type=’TrackpointNotices’/>
                            ...
                            <Task Id=’a1’ Name=’Issue Trackpoint Notice’>
                              <Properties>
                                <Property Name=’trackpoints’ Type=’Trackpoints’/>
                                <Property Name=’trackpointNotice’ Type=’TrackpointNotice’/>
                                <Property Name=’skipTrackpoint’ Type=’xsd:boolean’/>
                                ...
                              </Properties>
                              <Assignments>
                                <Assignment AssignTime=’Start’ To=’trackpoints’ From=’{p1.trackpoints}’/>
                                <Assignment AssignTime=’End’ To=’p1.trackpointNotices’
                                 From="{p1.trackpointNotices}
                                   {if (skipTrackpoint/@value=’false’) then (trackpointNotice)}"
                            ...
                            <SequenceFlow Source=’g1’ Target=’g2’ Condition=’Expression’
                              ConditionExpression=’{p1.currentTrackpoint!=""}’/>
                           Fig. 13.4 Example of detailed data specification



                              In the YAWL-constrained version of BPMN, properties of a subprocess invoca-
                           tion must be identical to the properties of the process that is invoked. The Input-
                           PropertyMaps and OutputPropertyMaps of the subprocess invocation are ignored.
                           Instead, we map properties of the invoking activity to identically named properties
                           of the invoked process and vice-versa. For example, suppose a process loan appli-
                           cation invokes a process objection, which has the property application number.The
                           activity that invokes the process must then also have the property application num-
                           ber. When performing the subprocess invocation, this activity assigns the value of
                           its application number property to the application number property of the objec-
                           tion subprocess. When the subprocess returns, the value of the application number
                           property of the subprocess is then assigned to the application number property of
                           the activity.



                           13.2.3 Resources


                           BPMN allows modelers to indicate the resources that may perform a given task.
                           Typically, “lanes” are used for that purpose, although BPMN does not prescribe that
                           lanes must necessarily be used for this purpose. A lane is a box in which graphical
                           objects can be placed. The placement of a task inside a lane can represent that the
                           resource represented by the lane performs the task. Lanes can represent individual
                           actors, roles, groups, or any type of resource that the designer requires. Alterna-
                           tively, the performers property of “user” or “manual” tasks can be used to indicate
                           which resources may perform a task. In the remainder, we assume that lanes have
                           been used to represent the resources that perform a task.
   350   351   352   353   354   355   356   357   358   359   360