Architecting and designing : Business Process Analysis (BPA) : BPEL generation : BPEL to BPMN mapping reference : BPMN to BPEL mapping for Intermediate Boundary Events : Timer Event
  
Timer Event
In this pattern, the boundary event is a timer event.
BPEL comments
1 A <scope> element is created and all subsequent constructs for this pattern reside within the scope.
2 The ncname of the scope attribute is taken from the name of the process that has the boundary event attached to it. "BPMN Process".name
3 The value of the <variableAccessSerializable> attribute is determined from the process symbol that the boundary event is attached to "Process"."Access Serializable" The value will be either a "yes" or "no"
4 The boundary event definition is obtained from the sequence flow definition. "Sequence Flow". "Initiating Event"
5 The boundary event stereotype must be ONLY be "timer" and its value determined from "BPMN Event".Stereotype
6 The standard-attributes are determined from the process symbol that the boundary event is attached to.
7 A <faultHandlers> element is created.
8 A <catch> element is created and the qname for the faultName attribute in the <catch> element is constructed from the boundary event name "Sequence Flow". "Initiating Event".name and adding the suffix "_Exit" to it.
9 An <eventHandlers> element is created.
10 Within the <eventHandlers> element an <onAlarm> element is created.
11 If the property "BPMN Event". "Time Date" is populated and the property "BPMN Event". "Time Cycle" is empty then for the until attribute the "deadline-expr" is populated with the property value.
12 If the property "BPMN Event". "Time Cycle""is populated and the property "BPMN Event". "Time Date" is empty then for the for attribute the "duration-expr" is populated with the property value.
13 The sequence flow flowing out from the boundary event must connect to another symbol. All the subsequent activities sit within the <onAlarm> element occupying the position indicated by the "Target Process"
14 In case the Source Process itself has detail by way of children diagrams or embedded activities, these will occupy the placeholder position indicated by "Source Process".
Element construct
<scope ="ncname"
variableAccessSerializable="yes|no"
standard-attributes>
<faultHandlers>
<catch faultName="qname">
</faultHandlers>
<eventHandlers>
<onAlarm
for="duration-expr"
until="deadline-expr">
Target Process
</onAlarm>
</eventHandlers>
Source Process
</scope>
See also
BPMN to BPEL mapping for Intermediate Boundary Events