XPDL 2.1
Integrating Process Interchange
& BPMN
Robert M. Shapiro
Chairman: WfMC Working Group One
January 2008
White Paper
XPDL 2.1 - Integrating Process Interchange & BPMN
HISTORY
The basic concepts that underlie XPDL1 were formulated by individuals
working together in the WfMC2 who were from companies developing workfl ow
and business process management tools. These concepts were embodied in a
meta-model and glossary which then guided the specifi cation of interfaces for
various aspects of the overall problem. The interchange of process defi nitions
between different tools and also different vendors was regarded as an essential
piece of this whole and the fi rst version of a standard interchange language was
WPDL, published by the WfMC in November 1998.
The growing popularity of XML and its use for defi ning document formats
for the Internet, combined with some years of accumulated experience using
WPDL in workfl ow and BPM tools, led to the creation of XPDL 1.0, which was
offi cially released in October 2002. XPDL retained the semantics of WPDL but
defi ned a new syntax using an XML schema. Neither WPDL nor XPDL 1.0
proposed a specifi c graphical representation, although the underlying meta-
model for a process was based on a directed graph structure consisting of
activities as nodes and transitions as the edges or pathways between them.
BPMN3 was developed by individuals working together in BPMI4 to take the
techniques employed in fl owcharting tools, unify and extend the graphics to
express the semantics required in workfl ow and EAI processes. BPMN 1.0 was
released in May 2004.
In addition to the graphical notation, BPMN incorporated a number of specifi c
mechanisms for process modeling that had not yet been included in XPDL;
among these in particular events and message passing between processes.
XPDL 2.0 incorporated these mechanisms as well as the graphics and offered
an extended meta-model that unifi ed XPDL and BPMN. It was offi cially
approved by the WfMC membership in October 2005.
In June 2007 the OMG5 published an updated version of BPMN: version 1.1.
There were numerous changes to the graphics and semantics. WfMC has
incorporated these changes, along with other improvements to XPDL 2.0
based on two years in the fi eld, to create XPDL 2.1. This white paper has been
updated to refl ect these changes. In the last section of the paper we describe
BPMN Model Portability Conformance which signifi cantly facilitates the
interchange of process models at the design level. An appendix provides a full
example of BPMN, the E-Mail Voting Process.
BASICS
A Business Process
Model consists of a
collection of processes
together with the
applications and
resources required
to perform all the
steps contained in the
processes. We start with
a discussion of the elements in a single process. To keep things simple we focus
fi rst on a minimal subset of elements.
• Activities (the steps in the process)
• Transitions (or sequence fl ow)
For a complete description of the graphics, syntax and semantics refer to 6 and 7
In the diagram above. the four round rectangles are activities and the four
arrows are transitions which defi ne possible paths between activities. The
1 XML Process Defi nition Language
2 Workfl ow Management Coalition
3 Business Process Modeling Notation
4 Business Process Management Initiative
3 Object Management Group
wfmc.org/xpdl
2
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.1 - Integrating Process Interchange & BPMN
leftmost activity, Receive Payment, is the fi rst activity to be performed in the
process since it has no predecessor. Send Receipt is the last activity. Process
Large Payment and Process Small Payment are alternatives: a payment is
routed to one or the other according to the amount of the payment.
The Boolean expressions on the transitions determine which transition occurs,
as determined by a piece of data, amount, associated with the payment. This
notation is commonly employed in Petri Nets, a mathematical formalism that
Infl uenced the development of XPDL.
Flow charts often use specifi c graphical elements to indicate branching logic. To
support this XPDL offers routing activities (gateways). The diagram could then
be drawn as:
Here the diamond shaped nodes are routing activities and the X indicates
exclusive-or logic. The Exclusive Gateway on the left is a branch. Only one exit
transition has a condition expression; the other path is marked as the default
gate, to be taken only if the conditions on all other exit gates evaluate to false.
There are a number of gateway types. For The most commonly used are:
Exclusive (XOR) [Note that the ‘X’ symbol is optional]
Parallel (AND)
The nodes and transitions can form arbitrarily complex graphs with
• Sequential Activities
• Parallel Activities
• Loops / Cycles
• Conditional Paths
6 BPMI/OMG, BPMN
(version 1.1 – June, 2007
7 WfMC, XPDL 2.1 WFMC-TC-1025
(version 1.0 April 2008
In the above fl ow we have introduced a third type of activity node, an Event.
An event is something that “happens” during the course of a business process.
These events affect the fl ow of the process and usually have a cause (trigger) or
an impact (result). There are three types of Events, based on when they affect
the fl ow: Start, Intermediate, and End. There are numerous trigger and result
types. Some common combinations are:
wfmc.org/xpdl
3
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.1 - Integrating Process Interchange & BPMN
Start Event triggered by a message.
Intermediate Event triggered by a Timer.
End Event with Error Result
ACTIVITIES
We have said nothing about the details of a basic activity. It is a step in the
process, but what happens at that step? Typically, to perform a step requires
one or more resources: e.g. a person with a particular skill set or a system
resource. A task or application may need to be executed to perform the step.
So basic activities have attributes which provide information about who can
perform the activity, what application or web services should be invoked, what
properties of the object being worked on are used and/or altered in this step,
and so forth.
The participants (resources) and applications may be defi ned within a single
process or for the entire collection of processes in the Business Process Model.
The properties of work objects are likewise defi nable within a single process or
for the entire model.
Activities have other attributes which further defi ne their specifi c role or how
they are implemented. Here we list a few:
• Loop
• IsATransaction
Activity is repeated until condition is false.
Transaction-based semantics.
TASKS AND APPLICATIONS
There are seven standard Tasks that can be specifi ed for a basic Activity and
are used primarily for invoking Web Services and using WSDL8 meessaging.
An eighth task type is used for invoking Applications whose signatures have
been defi ned in the Business Process Model.
Applications that can be invoked by a process are defi ned at the Process
or Package (See Package meta-model) level. There are multiple types of
applications:
• Traditional applications
• Components
• Web Services
• Business Rules
• Form
• Script
8 Web Services Description Language
wfmc.org/xpdl
4
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.1 - Integrating Process Interchange & BPMN
COMPOUND ACTIVITIES
A compound activity refers to another process (reusable or embedded). The
graphics for a compound activity include a special marker to designate this
Compound activities allow re-use of process defi nitions. If
the reference is to a reusable sub-process, a list of actual
parameters can be passed to the sub-process at the time of
invocation. An embedded sub-process shares the same data
space so no parameters are passed. (As a technical detail
not shown in the graphical representation, an embedded process is an XPDL
activity set and the compound activity is referred to as a Block Activity). A
reusable sub-process may be invoked asynchronously, in which case the exit
transitions from the compound activity immediately determine the routing
of the work object to the successor of the compound activity. Synchronous
invocation requires that the sub-process complete before the compound activity
can continue. Embedded sub-processes are always invoked synchronously.
Process MetaModel
The meta-model depicts the relationships between all the elements in a
Process. The shaded elements were not present in XPDL 1.0 and are now
included in XPDL 2.1 to support BPMN constructs. Gateway and Event have
already been described. Pool and Lane are elements that support the use of
graphical Swimlanes which we discuss later in this chapter.
wfmc.org/xpdl
5
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.0 Integrating Process Interchange & BPMN
Package MetaModel
This meta-model describes the relationship between elements on the Package
or Business Process Diagram level. The shaded elements were not present in
XPDL 1.0 and are now included in XPDL 2.1 to support BPMN constructs.
wfmc.org/xpdl
6
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.0 Integrating Process Interchange & BPMN
SWIM LANES
In the following diagram we depict a single pool containing the process Loan
Application. There are no lanes in the pool. The process can be either a
reusable sub-process or an embedded sub-process.
In the following diagram we depict a single pool containing the process Loan
Application. There are no lanes in the pool. The process can be either a
reusable sub-process or an embedded sub-process.
Notice that the transitions (sequence fl ow) may go across lanes in a pool.
Transitions may not go across pools.
MESSAGE FLOW
Message Flow is normally implemented by Web Services and Message Queues.
In the example we illustrate how message fl ow may go between activities
in different pools. This allows us to represent graphically aspects of the
choreography between processes. It should be noted that message fl ow cannot
occur between activities in the same pool. In other words, sequence fl ow is used
to connect activities in the same pool whereas message fl ow is used to represent
communication between activities in different pools.
In these examples pools have been drawn with a horizontal orientation and a
width that extends across the entire page. However, the specifi cation supports
vertical pools as well, and also allows the width/height to be limited. This
supports the use of pools in the specifi cation of abstract processes and their
choreography.
wfmc.org/xpdl
7
Copyright ©2008: The Workfl ow Management Coalition
XPDL 2.0 Integrating Process Interchange & BPMN
ARTIFACTS
Artifacts provide documentation facilities with graphical representation.
Associations are used to connect the artifacts to fl ow objects such as activities.
The association is like a sequence or message fl ow, but allows optional arrows
at either or both ends of the pathway.
Data Object:
Text Annotation:
Group: Allows diverse objects to be labeled with the same name for reporting
purposes.
wfmc.org/xpdl
8
Copyright ©2008: The Workfl ow Management Coalition