Compiling Business Process Models into Executable Code

Compiling Business Process Models into Executable Code

Cesare Pautasso (University of Lugano, Switzerland)
Copyright: © 2009 |Pages: 120
DOI: 10.4018/978-1-60566-288-6.ch015
OnDemand PDF Download:


Model-driven architecture (MDA), design and transformation techniques can be applied with success to the domain of business process modeling (BPM) with the goal of making the vision of business-driven development a reality. This chapter is centered on the idea of compiling business process models for executing them, and how this idea has been driving the design of the JOpera for Eclipse workflow management tool. JOpera presents users with a simple, graph-based process modeling language with a visual representation of both control and data-flow aspects. As an intermediate representation, the graphs are converted into Event-Condition-Action rules, which are further compiled into Java bytecode for efficient execution. These transformations of process models are performed by the JOpera process compiler in a completely transparent way, where the generated executable artefacts are kept hidden from users at all times (i.e., even for debugging process executions, which is done by augmenting the original, high level notation). The author evaluates his approach by discussing how using a compiler has opened up the several possibilities for performing optimization on the generated code and also simplified the design the corresponding workflow engine architecture.
Chapter Preview


New technologies, such as Web services and the semantic Web, are currently available for the development of information systems, where processes may be defined as a composition of services which can be selected dynamically to provide advanced personalized value added services and reactive/proactive systems. In order to employ the full potential of Web services, appropriate models and methods for service-based information systems and for workflows are being developed.

When considering service design and development, first of all the goals of designing a service need to be clarified, as several alternatives are possible [Pernici 2005]:

  • Integration (EAI): In this case the goal is to integrate different information systems in order to create new cooperative applications. It is important to define the granularity at which services are considered, and how existing systems are wrapped to offer their functionalities in a cooperative information system through a service-oriented approach [Papazoglou and Van den Heuvel 2006].

  • Redesign (e.g., in mobile, multi-channel applications): The goal is to modify existing functionalities in order to offer them in a variable environment setting, for instance allowing users to interact with the system from a variety of different devices and from different places. To provide the requested functionality, redesign has to take into consideration quality of service parameters and their variability and to manage the services dynamic selection and binding.

  • New added-value services: New services are created as a composition of existing services. Composition allows reusing services in several contexts and for different applications. Composition may be performed following a fixed process schema, or designing the composition structure dynamically.

The service oriented approach introduces some new issues in the process design strategies in comparison with the traditional software design. For example, the granularity of the service has to be defined and the interface of the service should clearly state all the functional and non functional properties. Possible solutions to some design problems have been proposed by using reference models and ontologies. Regarding models, the need for models with a rich set of elements as a basis for the design process is a clear prerequisite for all design methodologies. Models should include a variety of aspects, and in particular:

  • Business services modeling

  • Service composition and coordination

  • Interaction between clients and providers

  • Service modeling with its Quality of Service (QoS) properties

  • Transactional properties

  • Self description (metadata).

For each model element, a modelling language should be defined. Existing background in the area, which can be a basis for modelling Web services include the WS-stack, UML2, BPMN, EPC, Aris, and so on. No clear and unique background still emerges.

In order to better understand the complexity of Web services design and of the corresponding processes design, the classical life cycle is represented in Figure 1 [Pernici 2005]. Here, the typical phases are:

Figure 1.

Service design phases

Key Terms in this Chapter

Event-Condition-Action Rules: The “ECA” structure for specifying rules originates from active databases, where actions on the data are triggered by the occurrence of particular events subject to the satisfaction of the associated condition (a logical test on properties of the event itself).

Compiler: A software tool which transforms programs written in a source language into executable code for a target platform/architecture. Compilation may occur before a program is executed, but also—in the case of just-in-time compilers—during the execution of a program.

Process Monitor: A software tool used to watch the progress of the execution of one or more business processes.

Data Flow: Activities of a business process may exchange data during the execution of the process. The data flow graph of the process connects activities that exchange data and -- in some notations -- may also represent which input/output parameters of the activities are involved.

XML Serialization: A machine-processable, persistent, representation of a process model that uses the XML syntax to store the model’s information.

Control Flow: The flow of control defines a partial order relationship between the activities of a business process model, specifying in which temporal order they will be executed.

Model-Driven Engineering: This software development methodology is centered around the notion of modeling (as opposed to coding) to be the primary activity in the software development process. Model refinement, transformation and code generation techniques are then applied to produce executable software artifacts in a semi-automatic way.

Complete Chapter List

Search this Book:
Table of Contents
Jorge Cardoso, Wil van der Aalst
Chapter 1
Tiziana Margaria, Bernhard Steffen
The one thing approach is designed to overcome the classical communication hurdles between application experts and the various levels of IT experts.... Sample PDF
Business Process Modeling in the jABC: The One-Thing Approach
Chapter 2
Huy Tran, Ta’id Holmes, Uwe Zdun, Schahram Dustdar
This chapter introduces a view-based, model-driven approach for process-driven, service-oriented architectures. A typical business process consists... Sample PDF
Modeling Process-Driven SOAs: A View-Based Approach
Chapter 3
Stefan Jablonski
This chapter presents a process modeling approach for holistic process management. The main idea is that domain specific process models are required... Sample PDF
Process Modeling for Holistic Process Management
Chapter 4
Matthias Kloppmann, Dieter Koenig, Simon Moser
This chapter introduces a set of languages intended to model and run business processes. The Business Process Modeling Notation 1.1 (BPMN) is a... Sample PDF
The Dichotomy of Modeling and Execution: BPMN and WS-BPEL
Chapter 5
Chun Ouyang, Michael Adams, Arthur H.M. ter Hofstede
Due to the absence of commonly accepted conceptual and formal foundations for workflow management, and more generally Business Process Management... Sample PDF
Yet Another Workflow Language: Concepts, Tool Support, and Application
Chapter 6
Modelling Constructs  (pages 122-141)
Ekkart Kindler
There are many different notations and formalisms for modelling business processes and workflows. These notations and formalisms have been... Sample PDF
Modelling Constructs
Chapter 7
Kwanghoon Kim, Clarence A. Ellis
This chapter introduces the basic concepts of information control net (ICN) and its workflow models. In principle, a workflow model is the... Sample PDF
ICN-Based Workflow Model and its Advances
Chapter 8
Manfred Reichert, Peter Dadam
In dynamic environments it must be possible to quickly implement new business processes, to enable ad-hoc deviations from the defined business... Sample PDF
Enabling Adaptive Process-Aware Information Systems with ADEPT2
Chapter 9
Macello La Rosa, Marlon Dumas, Arthur H.M. ter Hofstede
A reference process model represents multiple variants of a common business process in an integrated and reusable manner. It is intended to be... Sample PDF
Modeling Business Process Variability for Design-Time Configuration
Chapter 10
Cesare Pautasso
Model-driven architecture (MDA), design and transformation techniques can be applied with success to the domain of business process modeling (BPM)... Sample PDF
Compiling Business Process Models into Executable Code
Chapter 11
Cinzia Cappiello, Barbara Pernici
This chapter illustrates the concept of repairable processes and self-healing functionalities and discusses about their design requirements.... Sample PDF
Design of Repairable Processes
Chapter 12
Web Process Adaptation  (pages 245-253)
Kunal Verma
Adaptation is an important concept for Web processes. The author provides an overview of adaptation with respect to control theory and how it is... Sample PDF
Web Process Adaptation
Chapter 13
Carlo Combi, Giuseppe Pozzi
Time is a very important dimension of any aspect in human life, affecting also information and information management. As such, time must be dealt... Sample PDF
Temporalities for Workflow Management Systems
Chapter 14
Karsten Ploesser, Nick Russell
This chapter discusses the challenges associated with integrating work performed by human agents into automated workflows. It briefly recounts the... Sample PDF
The People Integration Challenge
Chapter 15
Dimka Karastoyanova, Tammo van Lessen, Frank Leymann, Zhilei Ma, Joerg Nitzche, Branimir Wetzstein
Even though process orientation/BPM is a widely accepted paradigm with heavy impact on industry and research the available technology does not... Sample PDF
Semantic Business Process Management: Applying Ontologies in BPM
Chapter 16
Hernani Mourao, Pedro Antunes
In this chapter the authors propose a solution to handle unexpected exceptions in WfMS. They characterize these events deeply and recognize that... Sample PDF
Using WfMS to Support Unstructured Activities
Chapter 17
Guillermo Jimenez
In this chapter the authors introduce the role of a business process engineer (BPE) and necessary competencies to define, simulate, analyze, and... Sample PDF
Business Process Engineering
Chapter 18
Christoph Bussler
This chapter introduces the application of process management to business-to-business (B2B) integration and enterprise application integration... Sample PDF
B2B and EAI with Business Process Management
Chapter 19
Paul Grefen
This chapter is devoted to automated support for interorganizational business process management, that is, formation and enactment of business... Sample PDF
Systems for Interorganizational Business Process Management
Chapter 20
Guido Governatori, Shazia Sadiq
It is a typical scenario that many organisations have their business processes specified independently of their business obligations (which includes... Sample PDF
The Journey to Business Process Compliance
Chapter 21
M. Castellanos, A.K. Alves de Medeiros, J. Mendling, B. Weber, A.J.M.M. Weijters
Business Process Intelligence (BPI) is an emerging area that is getting increasingly popular for enterprises. The need to improve business process... Sample PDF
Business Process Intelligence
Chapter 22
Diogo R. Ferreira
This chapter introduces the principles of sequence clustering and presents two case studies where the technique is used to discover behavioral... Sample PDF
Applied Sequence Clustering Techniques for Process Mining
Chapter 23
Kamal Bhattacharya, Richard Hull, Jianwen Su
This chapter describes a design methodology for business processes and workflows that focuses first on “business artifacts”, which represent key... Sample PDF
A Data-Centric Design Methodology for Business Processes
Chapter 24
Laura Sanchez, Andrea Delgado, Francisco Ruiz, Felix Garcia, Mario Piattini
The underlying premise of process management is that the quality of products and services is largely determined by the quality of the processes used... Sample PDF
Measurement and Maturity of Business Processes
About the Editors
About the Contributors