Extending BPMN 2.0

5,027 views
4,687 views

Published on

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.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,027
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
170
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • After a brief introdution, I will present the proposed method for the development of extensions. Then I will show the tool we have developed to support the method Finally I will present some conclusions we have arrived at.
  • If we look at the diagram depicting the BPMN extension mechanism, we can see that defining extensions to BPMN is basically a matter of creating ExtensionDefinition elements Containing a set of extension attributes of different types that can be attached to elements In the inheritance hierarchy of BaseElement. We refer to this way of extending metamodels as the approach of extension by addition, Which is different of other extensibility approaches like the Extension by Specialization provided by UML.
  • If we compare the MOF representation (on the left hand) with the XML Schema representation of the BPMN extension mechanism (on the right hand). We will see that the ExtensionDefinition and the ExtensionAttributeDefinition elements have no counterpart. This is because according to the BPMN specification, when the XML interchange format defined by the XML Schema of BPMN is used, extensions are defined in separate XML Schema Documents which are then imported by de documents describing BPMN models.
  • If we compare the MOF representation (on the left hand) with the XML Schema representation of the BPMN extension mechanism (on the right hand). We will see that the ExtensionDefinition and the ExtensionAttributeDefinition elements have no counterpart. This is because according to the BPMN specification, when the XML interchange format defined by the XML Schema of BPMN is used, extensions are defined in separate XML Schema Documents which are then imported by de documents describing BPMN models.
  • In this context, we have identified two major pitfalls in the development of extensions to BPMN. The first is a lack of methodological guides for developing language extensions by applying the extension by addition approach provided by BPMN. The second one is a lack of graphical notations for the representing and visualizing extensions in terms of the elements defined by the BPMN metamodel. This fact requires people defining extensions to deal with low level details of XML Schema.
  • Therefore the goals of this work are The development of an MDA-based method for the development of extensions Enabling their conceptualization. Their graphical representation in terms of the BPMN extension mechanism. Their transformation into XSD Documents that can be processed by BPMN tools. And The development of a tool supporting that method.
  • Now, I will present the proposed method for the development of extensions.
  • The method consists of four steps which starts with the Definition of a Conceptual Domain Model of the Extension by using UML Follows by Deriving a BPMN plus Extensions (BPMN+X) model from the created conceptual model. And ends with the transformation of the BPMN+X model into a model representing the extension in terms of XML Schema and its serialization into an XML Schema document.
  • At the first step …
  • We start by creating a UML model of the extension Representing the concepts of the extension without taking into account any restriction imposed by the BPMN extension mechanism. Then, we analyze the concepts of that model looking if they can be mapped with a concept of the BPMN metamodel. If that is the case, the given concept will be preliminarily characterized as a BPMN concept, In other case, the concept will be assumed as defined in the context of the represented domain. The result of this step will be the concepts defined as part of the modeled domain and their relationships with the BPMN concepts.
  • In this slide we can see three possible results of this step for an extension defined in order to specify additional details with regard to the way in which the work associated with an UserTask has to be distributed to the resources participating in a process. In this case, the BPMN Concepts are colored in gray while the Extension concepts are shown in white. We will see in the next steps how a valid BPMN extension can be derived from any of these alternative conceptual models of the extension.
  • The second step consists of deriving a BPMN plus Extensions model from the conceptual domain model of the extension.
  • BPMN+X is a UML Profile developed to enable the specification and visualization of BPMN extensions. It is based on the BPMN extension mechanism. It consists of the following stereotypes ExtensionModel is the topmost container of the elements defining a BPMN extension. BPMNElement and BPMNEnum enables representing the elements and enumerations of the BPMN metamodel. ExtensionDefinition which allows grouping a set of extension attributes under a concept name. ExtensionAttributeDefinition that allows representing each of the new attributes to be attached to the BPMN elements. ExtensionElement and ExtensionEnum enables representing the new kinds of elements and enumerations belonging to the domain of the extension.
  • The procedure to derive a BPPMN+X model from a conceptual model of an extension has two stages. First, create an extension model and populate it with the BPMN+X elements which cha be directly mapped to the characterized concepts of the conceptual model of the extension.
  • In this slide we can see the BPMN+X model resulting of the described procedure.
  • In the second stage, a set of rules based on an analysis of the properties and generalization relationships of the CDME concepts Are applied to decide how they have to be represented in the BPMN+X model and to decide whether the Extension concepts of the CDME have to be represented as an ExtensionDefinition or as an ExtensionElement within the BPMN+X model. The table shows the structure of the rules for representing properties.
  • This table shows the structure of the rules for representing generalization relationships.
  • In this slide, we can see how the elements of the resulting BPMN+X model can derived from the different conceptual domain models of an extension by applying different sets of rules.
  • The third step consists of transforming the BPMN+X model in another model representing the extension in terms of the elements defined by XML Schema.
  • In this step An ExtensionModel element is transformed into a Schema element. An ExtensionDefinitionModel is transormed into a ModelGroupDefinitionElement. ExtensionElements are translated into ComplexTypeDefinition elements And ExtensionEnums are translated into SimpleTypeDefinition elements.
  • This slide shows the result of the described transformation. Notice that BPMNElements and BPMNEnums are not represented in the resulting model as the XML schema of BPMN is will be imported in the resulting document enabling the reutilization of its elements.
  • In the last step, the model resulting of the third step is serialized as an XML Schema document defining the created extension.
  • This is done by a straightforward model-to-code transformation. The structure of the resulting documents will be the following The document defining the extension (on the right) imports the XML schema document of BPMN. AND XML documents defining BPMN models will be an instance of the BPMN XML Schema and will import the document defining extensions.
  • Here we can see an example of XML Schema document defining a BPMN extension.
  • And this is an Example of an BPMN model definition applying the developed extension.
  • With regards to the tool support …
  • A tool based on the eclipse platform was developed. The conceptual domain models of the extension can be defined by means of the UML Tools plugin. The BPMN+x models can be developed by using a plugin implementing the developed profile. The model to model transformation of the third step was implemented by means of a QVT transformation. And the model to code transformation of the last step was implemented as a JET transformation.
  • This work proposed an MDA-based method for the development of BPMN 2.0 extensions It encourages starting from an UML CDME. It defines a procedure for creating a BPMN+X model from a CDME by applying the developed rules. The remaining steps can be done automatically with the aid of the provided tool.
  • 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.
  • Extending BPMN 2.0

    1. 1. Centro de Investigación y Desarrollo de Ingeniería en 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) Extending BPMN 2.0: Method and Tool Support
    2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>Method for the Development of BPMN Extensions </li></ul><ul><li>Tool Support </li></ul><ul><li>Conclusions </li></ul>
    3. 3. Introduction <ul><li>The BPMN 2.0 metamodel provides an extension mechanism. </li></ul><ul><li>Supports the approach of Extension by Addition. </li></ul><ul><li>This approach differs from the Extension by Specialization provided by UML Profiles. </li></ul>
    4. 4. Introduction MOF representation XSD representation <ul><li>Comparison of the two representations of the BPMN Extension Mechanism. </li></ul>
    5. 5. Introduction MOF representation XSD representation <ul><li>Comparison of the two representations of the BPMN Extension Mechanism. </li></ul>
    6. 6. BPMN Extension Mechanism <ul><li>There are two major pitfalls in the development BPMN extensions: </li></ul><ul><li>Lack of methodological guides supporting the BPMN extension approach. </li></ul><ul><li>Lack of graphical notations for representing the structure of extensions. </li></ul>
    7. 7. Goals <ul><li>To propose a method for the development of BPMN extensions that enables: </li></ul><ul><ul><li>The conceptualization of extensions. </li></ul></ul><ul><ul><li>Their graphical representation in terms of the BPMN extension mechanism. </li></ul></ul><ul><ul><li>Their transformation into XSD Documents that can be processed by BPMN tools. </li></ul></ul><ul><li>To develop a tool supporting the proposed method. </li></ul>
    8. 8. MDA-based Method for the Development of BPMN 2.0 Extensions
    9. 9. <ul><li>STEPS: </li></ul><ul><li>Definition of a Conceptual Domain Model of an Extension by using UML (CDME). </li></ul><ul><li>Definition of a BPMN Extension Model (BPMN+X ). </li></ul><ul><li>Transformation of a BPMN+X model into an XML Schema Extension Definition Model. </li></ul><ul><li>Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. </li></ul>MDA-based Method for the Development of BPMN Extensions
    10. 10. <ul><li>STEPS: </li></ul><ul><li>Definition of a Conceptual Domain Model of an Extension by using UML (CDME). </li></ul><ul><li>Definition of a BPMN Extension Model (BPMN+X ). </li></ul><ul><li>Transformation of a BPMN+X model into a XML Schema Extension Definition Model. </li></ul><ul><li>Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. </li></ul>MDA-based Method for the Development of BPMN Extensions
    11. 11. <ul><li>Create a UML model describing: </li></ul><ul><ul><li>The concepts of the domain to be represented disregarding any restriction imposed by the BPMN extension mechanism. </li></ul></ul><ul><li>The concepts of a CDME are then preliminarily characterized as: </li></ul><ul><ul><li>BPMN Concepts : Defined in the BPMN metamodel. </li></ul></ul><ul><ul><li>Extension Concepts : Exclusive of the modeled domain. </li></ul></ul>MDA-based Method for the Development of BPMN Extensions
    12. 12. BPMN Concept Extension Concept MDA-based Method for the Development of BPMN Extensions <ul><li>Case Study: Work Distribution Extension </li></ul><ul><li>Alternative conceptual models </li></ul>
    13. 13. <ul><li>STEPS: </li></ul><ul><li>Definition of a Conceptual Domain Model of an Extension by using UML (CDME). </li></ul><ul><li>Definition of a BPMN Extension Model (BPMN+X ). </li></ul><ul><li>Transformation of a BPMN+X model into a XML Schema Extension Definition Model. </li></ul><ul><li>Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. </li></ul>MDA-based Method for the Development of BPMN Extensions
    14. 14. MDA-based Method for the Development of BPMN Extensions <ul><li>BPMN+X is a UML Profile for the specification of BPMN extensions: </li></ul><ul><ul><li>It is based on the BPMN extension mechanism. </li></ul></ul><ul><ul><li>It consists of the following stereotypes: </li></ul></ul>
    15. 15. <ul><li>Procedure to derive a BPMN+X model from a CDME. First Stage: </li></ul><ul><li>Create an ExtensionModel named as the CDME </li></ul><ul><li>Populate it with the BPMN+X elements that map directly to the characterized concepts of the CDME. </li></ul>MDA-based Method for the Development of BPMN Extensions BPMN Concept CDME UML Class BPMN Concept CDME UML Enum BPMN+X BPMNElement BPMN+X BPMNEnum Extension Concept CDME UML Enum BPMN+X ExtensionEnum CDME UML Package BPMN+X ExtensionModel
    16. 16. <ul><li>Case Study: Work Distribution Extension </li></ul>MDA-based Method for the Development of BPMN Extensions
    17. 17. <ul><li>Procedure to derive a BPMN+X model from a CDME. Second Stage: </li></ul><ul><li>Apply rules to decide the representation of CDME properties: </li></ul>MDA-based Method for the Development of BPMN Extensions <ul><li>The representation of c and t is the inferred based on the representation of p </li></ul>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 Type b) 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
    18. 18. <ul><li>Procedure to derive a BPMN+X model from a CDME. Second Stage: </li></ul><ul><li>Apply rules to decide the representation of CDME generalizations: </li></ul>MDA-based Method for the Development of BPMN Extensions <ul><li>The representation of c and s is then inferred based on the representation of g </li></ul>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. Concept b) BPMN Concept ExtensionRelationship 8 Extension Concept New a) Ext. Concept b) Ext. Concept ExtensionElement / ExtensionDefinition Generalization
    19. 19. MDA-based Method for the Development of BPMN Extensions Rule 3 Rule 2 Rule 7 Case Study: Work Distribution Extension
    20. 20. <ul><li>STEPS: </li></ul><ul><li>Definition of a Conceptual Domain Model of an Extension by using UML (CDME). </li></ul><ul><li>Definition of a BPMN Extension Model (BPMN+X ). </li></ul><ul><li>Transformation of a BPMN+X model into a XML Schema Extension Definition Model. </li></ul><ul><li>Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. </li></ul>MDA-based Method for the Development of BPMN Extensions
    21. 21. <ul><li>Transformation of a BPMN+X model into a XML Schema Extension Definition Model. </li></ul>MDA-based Method for the Development of BPMN Extensions BPMN+X Profile Metamodel of XML Schema
    22. 22. MDA-based Method for the Development of BPMN Extensions Case Study: Work Distribution Extension
    23. 23. <ul><li>STEPS: </li></ul><ul><li>Definition of a Conceptual Domain Model of an Extension by using UML (CDME). </li></ul><ul><li>Definition of a BPMN Extension Model (BPMN+X ) . </li></ul><ul><li>Transformation of a BPMN+X model into a XML Schema Extension Definition Model. </li></ul><ul><li>Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. </li></ul>MDA-based Method for the Development of BPMN Extensions
    24. 24. <ul><li>An XML Schema document is generated. </li></ul><ul><ul><li>By means of a straightforward model to code transformation. </li></ul></ul><ul><li>The Structure of the resulting documents is the following: </li></ul>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
    25. 25. <ul><li>XSD Document Defining the Extension </li></ul>MDA-based Method for the Development of BPMN Extensions
    26. 26. <ul><li>BPMN Model Importing an Extension </li></ul>MDA-based Method for the Development of BPMN Extensions
    27. 27. Tool Support
    28. 28. Tool Support <ul><li>Structure of the developed tool </li></ul><ul><ul><li>Available at: http://code.google.com/p/bpmnx/ </li></ul></ul>1 2 3 4 EMF Eclipse Platform UML2 / UML2 Tools Plugins QVT JET BPMN+X Eclipse-based Plug-in BPMN+X To XML Schema M2M Transformation XML Schema M2C Transformation
    29. 29. Conclusions <ul><li>This work proposed an MDA-based method for the development of BPMN 2.0 extensions </li></ul><ul><ul><li>It encourages to start by developing a conceptual model of the extension (CDME). </li></ul></ul><ul><ul><li>It defines a procedure for deriving a unique BPMN+X model representing an extension from potentially different CDMEs by applying different rules. </li></ul></ul><ul><ul><li>It enables producing XML Schema Documents defining extensions that can be processed by compliant BPMN tools. </li></ul></ul>
    30. 30. Conclusions <ul><li>This work also proposed the BPMN+X profile </li></ul><ul><ul><li>It enables defining BPMN extensions graphically. </li></ul></ul><ul><ul><li>It is better suited than XML Schema to be used by people. </li></ul></ul>
    31. 31. Conclusions <ul><li>A tool supporting the method was also developed : </li></ul><ul><ul><li>It allows creating BPMN+X models based on conceptual models and enables the automatic generation of XML Schema Documents defining BPMN extensions. </li></ul></ul><ul><ul><li>It makes use of different plugins provided by the Eclipse platform such as UML2, QVT and JET. </li></ul></ul><ul><ul><li>It was demonstrated that the method can be supported by using currently available tools. </li></ul></ul>
    32. 32. <ul><li>The use of ontologies to conceptualize extensions and define Conceptual Domain Models of Extensions. </li></ul><ul><li>The development of approaches for extending the BPMN notation to depict instances of extensions in BPMN diagrams. </li></ul>Future Work

    ×