extending bpmn 2.0

32
Extending BPMN 2.0: Method and Tool Support Centro de Investigación y Desarrollo de Ingeniería en Centro de Investigación y Desarrollo de Ingeniería en Sistemas de Información Sistemas de Información Universidad Tecnológica Nacional – Facultad Regional Santa Fe Stroppi, L.J.R., Chiotti, O., Villarreal, P.D.: Extending BPMN 2.0: Method and Tool Support. In: BPMN 2011: Proceedings of the 3rd International Workshop and Practitioner Day on BPMN. (November 2011)

Upload: lstroppi

Post on 19-May-2015

3.760 views

Category:

Technology


6 download

DESCRIPTION

There are two major pitfalls in the development of extensions to the BPMN 2.0 metamodel. First, there is a lack of methodological guides considering the extensibility approach supported by the extension mechanism of the language. Second, BPMN does not provide any graphical notation for the representation of extensions. This work proposes a method based on Model-Driven Architecture for the development of extensions to the BPMN 2.0 metamodel. It enables the conceptual modeling of extensions by using UML, their graphical representation in terms of the BPMN extension mechanism, and their transformation into XML Schema documents that can be processed by BPMN tools. A tool supporting the proposed method is also presented.

TRANSCRIPT

Page 1: Extending BPMN 2.0

Extending BPMN 2.0:Method and Tool Support

Centro de Investigación y Desarrollo de Ingeniería en Sistemas de Centro de Investigación y Desarrollo de Ingeniería en Sistemas de InformaciónInformación

Universidad Tecnológica Nacional – Facultad Regional Santa Fe

Stroppi, L.J.R., Chiotti, O., Villarreal, P.D.: Extending BPMN 2.0: Method and Tool Support. In: BPMN 2011: Proceedings of the 3rd International Workshopand Practitioner Day on BPMN. (November 2011)

Page 2: Extending BPMN 2.0

Agenda Introduction

Method for the Development of BPMN Extensions

Tool Support

Conclusions

Page 3: Extending BPMN 2.0

Introduction The BPMN 2.0 metamodel provides an

extension mechanism.

Supports the approach of Extension by Addition.

This approach differsfrom the Extension by Specialization providedby UML Profiles.

Page 4: Extending BPMN 2.0

Introduction

MOF representation XSD representation

Comparison of the two representations of the BPMN Extension Mechanism.

Page 5: Extending BPMN 2.0

Introduction

MOF representation XSD representation

Comparison of the two representations of the BPMN Extension Mechanism.

Page 6: Extending BPMN 2.0

BPMN Extension Mechanism There are two major pitfalls in the

development BPMN extensions:

Lack of methodological guides supporting the BPMN extension approach.

Lack of graphical notations for representing the structure of extensions.

Page 7: Extending BPMN 2.0

Goals To propose a method for the

development of BPMN extensions that enables:

The conceptualization of extensions. Their graphical representation in terms

of the BPMN extension mechanism. Their transformation into XSD

Documents that can be processed by BPMN tools.

To develop a tool supporting the proposed method.

Page 8: Extending BPMN 2.0

MDA-based Method for the Development of BPMN 2.0

Extensions

Page 9: Extending BPMN 2.0

STEPS:

1. Definition of a Conceptual Domain Model of an Extension by using UML (CDME).

2. Definition of a BPMN Extension Model (BPMN+X ).

3. Transformation of a BPMN+X model into an XML Schema Extension Definition Model.

4. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document.

MDA-based Method for the Development of BPMN Extensions

Page 10: Extending BPMN 2.0

STEPS:

1. Definition of a Conceptual Domain Model of an Extension by using UML (CDME).

2. Definition of a BPMN Extension Model (BPMN+X ).

3. Transformation of a BPMN+X model into a XML Schema Extension Definition Model.

4. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document.

MDA-based Method for the Development of BPMN Extensions

Page 11: Extending BPMN 2.0

Create a UML model describing: The concepts of the domain to be

represented disregarding any restriction imposed by the BPMN extension mechanism.

The concepts of a CDME are then preliminarily characterized as: BPMN Concepts: Defined in the BPMN

metamodel. Extension Concepts: Exclusive of the

modeled domain.

MDA-based Method for the Development of BPMN Extensions

Page 12: Extending BPMN 2.0

BPMN Concept Extension Concept

MDA-based Method for the Development of BPMN Extensions

Case Study: Work Distribution Extension Alternative conceptual models

Page 13: Extending BPMN 2.0

STEPS:

1. Definition of a Conceptual Domain Model of an Extension by using UML (CDME).

2. Definition of a BPMN Extension Model (BPMN+X ).

3. Transformation of a BPMN+X model into a XML Schema Extension Definition Model.

4. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document.

MDA-based Method for the Development of BPMN Extensions

Page 14: Extending BPMN 2.0

MDA-based Method for the Development of BPMN Extensions

BPMN+X is a UML Profile for the specification of BPMN extensions: It is based on the BPMN extension

mechanism. It consists of the following stereotypes:

Page 15: Extending BPMN 2.0

Procedure to derive a BPMN+X model from a CDME. First Stage:

Create an ExtensionModel named as the CDME

Populate it with the BPMN+X elements that map directly to the characterized concepts of the CDME.

MDA-based Method for the Development of BPMN Extensions

CDME UML Package

BPMN+X ExtensionModel

BPMN ConceptCDME UML Class

BPMN ConceptCDME UML Enum

BPMN+XBPMNElement

BPMN+XBPMNEnum

Extension ConceptCDME UML Enum

BPMN+XExtensionEnum

Page 16: Extending BPMN 2.0

Case Study: Work Distribution Extension

MDA-based Method for the Development of BPMN Extensions

Page 17: Extending BPMN 2.0

Procedure to derive a BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME properties:

Class c Property p

Type t Representation of p

1 BPMN Concept Original Data Type BPMN Concept

BPMNElement Property

2 BPMN Concept New a) Data Typeb) BPMN Concept

c) Ext. Concept

ExtensionAttributeDefinition

3 BPMN Concept New Ext. Concept ExtensionRelationship

4 Extension Concept

New a) Data Type

b) BPMN Concept

c) Ext. Concept

ExtensionElement Property /

ExtensionAttributeDefinition

MDA-based Method for the Development of BPMN Extensions

The representation of c and t is the inferred based on the representation of p

Page 18: Extending BPMN 2.0

Subclass c Generalization g

Superclass s Representation of g

5 BPMN Concept Original BPMN Concept BPMNElement Generalization

6 BPMN Concept New BPMN Concept Invalid

7 BPMN Concept New a) Ext. Conceptb) BPMN Concept

ExtensionRelationship

8 Extension Concept

New a) Ext. Conceptb) Ext. Concept

ExtensionElement / ExtensionDefinition Generalization

MDA-based Method for the Development of BPMN Extensions

The representation of c and s is then inferred based on the representation of g

Procedure to derive a BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME generalizations:

Page 19: Extending BPMN 2.0

MDA-based Method for the Development of BPMN Extensions

Rule 3Rule 2 Rule 7

Case Study: Work Distribution Extension

Page 20: Extending BPMN 2.0

STEPS:

1. Definition of a Conceptual Domain Model of an Extension by using UML (CDME).

2. Definition of a BPMN Extension Model (BPMN+X ).

3. Transformation of a BPMN+X model into a XML Schema Extension Definition Model.

4. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document.

MDA-based Method for the Development of BPMN Extensions

Page 21: Extending BPMN 2.0

Transformation of a BPMN+X model into a XML Schema Extension Definition Model.

MDA-based Method for the Development of BPMN Extensions

BPMN+X Profile Metamodel of XML Schema

Page 22: Extending BPMN 2.0

MDA-based Method for the Development of BPMN Extensions

Case Study: Work Distribution Extension

Page 23: Extending BPMN 2.0

STEPS:

1. Definition of a Conceptual Domain Model of an Extension by using UML (CDME).

2. Definition of a BPMN Extension Model (BPMN+X ).

3. Transformation of a BPMN+X model into a XML Schema Extension Definition Model.

4. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document.

MDA-based Method for the Development of BPMN Extensions

Page 24: Extending BPMN 2.0

An XML Schema document is generated. By means of a straightforward model to

code transformation.

The Structure of the resulting documents is the following:

MDA-based Method for the Development of BPMN Extensions

instanceOf XML Schema BPMN Metamodel Definition Document

XML BPMN Model Definition Document

XML Schema Extension Definition Document

import

import

Page 25: Extending BPMN 2.0

XSD Document Defining the Extension

MDA-based Method for the Development of BPMN Extensions

Page 26: Extending BPMN 2.0

BPMN Model Importing an Extension

MDA-based Method for the Development of BPMN Extensions

Page 27: Extending BPMN 2.0

Tool Support

Page 28: Extending BPMN 2.0

Tool Support

Structure of the developed tool Available at: http://code.google.com/p/bpmnx/

EMF

Eclipse Platform

UML2 / UML2 Tools Plugins

QVT JET

BPMN+XEclipse-based

Plug-in

BPMN+XTo XML Schema M2M

Transformation

XML Schema M2C

Transformation

1

2 3 4

Page 29: Extending BPMN 2.0

Conclusions

This work proposed an MDA-based method for the development of BPMN 2.0 extensions

It encourages to start by developing a conceptual model of the extension (CDME).

It defines a procedure for deriving a unique BPMN+X model representing an extension from potentially different CDMEs by applying different rules.

It enables producing XML Schema Documents defining extensions that can be processed by compliant BPMN tools.

Page 30: Extending BPMN 2.0

Conclusions

This work also proposed the BPMN+X profile

It enables defining BPMN extensions graphically.

It is better suited than XML Schema to be used by people.

Page 31: Extending BPMN 2.0

Conclusions

A tool supporting the method was also developed:

It allows creating BPMN+X models based on conceptual models and enables the automatic generation of XML Schema Documents defining BPMN extensions.

It makes use of different plugins provided by the Eclipse platform such as UML2, QVT and JET.

It was demonstrated that the method can be supported by using currently available tools.

Page 32: Extending BPMN 2.0

The use of ontologies to conceptualize extensions and define Conceptual Domain Models of Extensions.

The development of approaches for extending the BPMN notation to depict instances of extensions in BPMN diagrams.

Future Work