Sign up & Download
Sign in

Translating bpmn to bpel

by Chun Ouyang, Wil M P Van Der Aalst, Marlon Dumas
Business (2006)

Abstract

The Business Process Modelling Notation (BPMN) is a graph- oriented language in which control and action nodes can be connected almost arbitrarily. It is supported by various modelling tools but so far no systems can directly execute BPMN models. The Business Process Exe- cution Language forWeb Services (BPEL) on the other hand is a mainly block-structured language supported by several execution platforms. In the current setting, mapping BPMN models to BPEL code is a necessary step towards unified and standards-based business process development environments. It turns out that this mapping is challenging from a scien- tific viewpoint as BPMN and BPEL represent two fundamentally differ- ent classes of languages. Existing methods for mapping BPMN to BPEL impose limitations on the structure of the source model, especially with respect to cycles. This report proposes a technique that overcomes these limitations. Beyond its direct relevance in the context of BPMN and BPEL, this technique addresses difficult problems that arise generally when translating between flow-based languages with parallelism.

Cite this document (BETA)

Available from citeseerx.ist.psu.edu
Page 1
hidden

Translating bpmn to bpel

Translating BPMN to BPEL?
Chun Ouyang1, Wil M.P. van der Aalst2,1, Marlon Dumas1, and
Arthur H.M. ter Hofstede1
1 Faculty of Information Technology, Queensland University of Technology,
GPO Box 2434, Brisbane QLD 4001, Australia
{c.ouyang,m.dumas,a.terhofstede}@qut.edu.au
2 Department of Technology Management, Eindhoven University of Technology,
GPO Box 513, NL-5600 MB, The Netherlands
{w.m.p.v.d.aalst}@tm.tue.nl
Abstract. The Business Process Modelling Notation (BPMN) is a graph-
oriented language in which control and action nodes can be connected
almost arbitrarily. It is supported by various modelling tools but so far no
systems can directly execute BPMN models. The Business Process Exe-
cution Language for Web Services (BPEL) on the other hand is a mainly
block-structured language supported by several execution platforms. In
the current setting, mapping BPMN models to BPEL code is a necessary
step towards unified and standards-based business process development
environments. It turns out that this mapping is challenging from a scien-
tific viewpoint as BPMN and BPEL represent two fundamentally differ-
ent classes of languages. Existing methods for mapping BPMN to BPEL
impose limitations on the structure of the source model, especially with
respect to cycles. This report proposes a technique that overcomes these
limitations. Beyond its direct relevance in the context of BPMN and
BPEL, this technique addresses difficult problems that arise generally
when translating between flow-based languages with parallelism.
1 Introduction
The Business Process Execution Language for Web Services (BPEL) [4] is emerg-
ing as a de-facto standard for implementing business processes on top of web ser-
vices technology. Numerous platforms support the execution of BPEL processes
(see http://en.wikipedia.org/wiki/BPEL). Some of these platforms also pro-
vide graphical editing tools for defining BPEL processes. However, these tools
directly follow the syntax of BPEL without elevating the level of abstraction
to make them usable during the analysis and design phases of the development
cycle. On the other hand, the Business Process Modelling Notation (BPMN) [10]
has attained some level of adoption among business analysts and system archi-
tects as a language for defining business process blueprints for subsequent im-
plementation. Despite being a recent proposal, BPMN is already supported by
? This work is supported by the Australian Research Council under the Discovery
Grant “Expressiveness Comparison and Interchange Facilitation between Business
Process Execution Languages” (DP0451092).
Page 2
hidden
more than 30 tools (see www.bpmn.org). Consistent with the level of abstraction
targeted by BPMN, none of these tools supports the execution of BPMN models
directly. Instead, some of them support the translation of BPMN to BPEL.
Close inspection of existing translations from BPMN to BPEL, e.g. the one
sketched in [10], shows that these translations fail to fulfill the following key
requirements: (i) completeness, i.e. applicable to any BPMN model; (ii) automa-
tion, i.e. capable of producing target code without requiring human intervention
to identify patterns in the source model; and (iii) readability, i.e. consistently
producing target code that is understandable by humans. The latter require-
ment is important since the BPEL definitions produced by the translation are
likely to require refinement (e.g. to specify partner links and data manipulation
expressions) as well as testing and debugging. If BPEL was only intended as a
language for machine consumption and not for human use, it could be replaced
by mainstream programming languages or even (virtual) machine languages, but
this would defeat the purpose of BPEL as a domain-specific language for service
composition.
The limitations of existing BPMN-to-BPEL translations are not surprising
given that BPMN and BPEL belong to two fundamentally different classes of
languages. BPMN is graph-oriented while BPEL is mainly block-structured (al-
beit providing graph-oriented constructs with syntactical limitations). Mapping
between graph-oriented and block-structured process definition languages is no-
toriously challenging. In the case of flowcharts, mapping unstructured charts
to structured ones is a well-understood problem. However, graph-oriented pro-
cess definition languages extend flowcharts with parallelism (i.e. AND-splits and
AND-joins) and other constructs such as deferred choice [1].
This paper addresses the challenge of proposing a translation from BPMN to
BPEL addressing all three requirements above. This is a first step towards model-
driven, standards-based tools for developing process-oriented web services. Be-
yond its direct relevance in this context, the proposed technique addresses diffi-
cult problems that arise when translating from graph-oriented process languages
(e.g. UML Activity Diagrams, YAWL, or Petri nets) to block-structured ones.
The remainder of the report is structured as follows. Section 2 gives an
overview of BPMN and BPEL and reviews related work. Section 3 presents
an algorithm for translating BPMN into BPEL. The translation algorithm is
then illustrated through a case study in Section 4. Finally, Section 5 concludes
and outlines future work.
2 Background and Related Work
2.1 BPEL and BPMN
BPEL [4] is essentially an extension of imperative programming languages with
constructs specific to web service implementations. A BPEL process definition
relates a number of activities. An activity is either a basic or a structured ac-
tivity. Basic activities correspond to atomic actions such as: invoke, invoking
2

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

24 Readers on Mendeley
by Discipline
 
by Academic Status
 
58% Ph.D. Student
 
13% Student (Postgraduate)
 
13% Student (Bachelor)
by Country
 
21% Germany
 
13% Australia
 
8% Sri Lanka