Page 352 -
P. 352

350                                                     G. Decket et al.


                                                                Payment
                                                                  +
                                               Carrier                           Freight
                                    Ordering
                                              Appointment                        Delivered
                                      +         +               Freight in        +
                                                                 Transit
                                                                  +
                           Fig. 13.2 Example of a business process model in BPMN


                           represented using a star symbol. Figure 13.1 features an event-based exclusive gate-
                           way. When the execution of the process arrives at this point (in other words, when a
                           token arrives at this gateway), the execution of that thread stops until either the mes-
                           sage event or the timer event occur. Whichever occurs first will determine which
                           way the execution will proceed. If the timer event occurs first, a shipment status
                           inquiry is initiated and the execution flow comes back to the event-based exclusive
                           gateway. If the message signaling the freight delivery is received first, the execu-
                           tion flow proceeds along the sequence flow that leads to the AND-join. Note that in
                           Fig. 13.1, the event-based exclusive gateway is also a join, as it has two incoming
                           flows. A token may arrive to this gateway from either of these incoming flows.
                              Events are classified along two criteria. First, an event can be a start event, an
                           end event, or an intermediate event. The sample BPD contains a single start (left-
                           most element) and a single end event (rightmost element), and two intermediate
                           events in the middle of the BPD. Second, events are classified according to their
                           trigger. In this chapter, we consider four types of triggers: messages, timers, condi-
                           tions, and errors. A message event is represented using an envelope icon. Such an
                           event is triggered by the receipt of a message, and can also be used to represent the
                           event of sending a message. Figure 13.1 shows a message event that is triggered by
                           the receipt of a message (presumably from a system located in the warehouse) rep-
                           resenting the arrival of the freight. A timer event is represented using a clock icon.
                           Figure 13.1 shows a timer event that is triggered when 24 h have elapsed. A rule
                           event is represented by an icon corresponding to a sheet of lined paper. It has a con-
                           dition attached to it and the event is triggered when this condition becomes true. An
                           error event is represented by a lightning icon. It is triggered when an error occurs,
                           but it can also represent the event of throwing an error. 2
                              The process model shown in Fig. 13.1 is “flat,” meaning that all the activities in
                           the model correspond to atomic units of work – also called atomic tasks in BPMN.
                           BPMN also supports activities that correspond to the execution of entire subpro-
                           cesses – like composite tasks in YAWL. Figure 13.2 shows a fragment of a BPD
                           consisting of a number of subprocesses, one of which corresponds to the Freight
                           In Transit process shown in Fig. 13.1. Subprocesses are distinguished from atomic
                           tasks using the C marker.


                           2
                            Specifically, an end error event corresponds to throwing an error, while an intermediate error
                           event corresponds to catching an error.
   347   348   349   350   351   352   353   354   355   356   357