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
Agenda Introduction Method for the Development of BPMN Extensions Tool Support Conclusions
Introduction The BPMN 2.0 metamodel provides an extension mechanism. Supports the approach  of Extension by Addition. This approach differs from the Extension by  Specialization provided by UML Profiles.
Introduction MOF representation XSD representation Comparison of the two representations of the BPMN Extension Mechanism.
Introduction MOF representation XSD representation Comparison of the two representations of the BPMN Extension Mechanism.
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.
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.
MDA-based Method for the Development of BPMN 2.0 Extensions
STEPS: Definition of a Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into an XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
STEPS: Definition of a Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
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
BPMN Concept Extension Concept MDA-based Method for the Development of BPMN Extensions Case Study: Work Distribution Extension  Alternative conceptual models
STEPS: Definition of a Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
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:
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 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
Case Study: Work Distribution Extension  MDA-based Method for the Development of BPMN Extensions
Procedure to derive a BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME properties: MDA-based Method for the Development of BPMN Extensions The representation of c and t is the inferred based on the representation of p 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
Procedure to derive a BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME generalizations: MDA-based Method for the Development of BPMN Extensions The representation of c and s is then inferred based on the representation of g 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
MDA-based Method for the Development of BPMN Extensions Rule   3 Rule   2 Rule   7 Case Study: Work Distribution Extension
STEPS: Definition of a Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
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
MDA-based Method for the Development of BPMN Extensions Case Study: Work Distribution Extension
STEPS: Definition of a Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ) . Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
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
XSD Document Defining the Extension MDA-based Method for the Development of BPMN Extensions
BPMN Model Importing an Extension MDA-based Method for the Development of BPMN Extensions
Tool Support
Tool Support Structure of the developed tool Available  at: http://code.google.com/p/bpmnx/ 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
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.
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.
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.
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

Extending BPMN 2.0

  • 1.
    Centro de Investigacióny 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.
    Agenda Introduction Methodfor the Development of BPMN Extensions Tool Support Conclusions
  • 3.
    Introduction The BPMN2.0 metamodel provides an extension mechanism. Supports the approach of Extension by Addition. This approach differs from the Extension by Specialization provided by UML Profiles.
  • 4.
    Introduction MOF representationXSD representation Comparison of the two representations of the BPMN Extension Mechanism.
  • 5.
    Introduction MOF representationXSD representation Comparison of the two representations of the BPMN Extension Mechanism.
  • 6.
    BPMN Extension MechanismThere 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.
  • 7.
    Goals To proposea 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.
  • 8.
    MDA-based Method forthe Development of BPMN 2.0 Extensions
  • 9.
    STEPS: Definition ofa Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into an XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
  • 10.
    STEPS: Definition ofa Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
  • 11.
    Create a UMLmodel 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
  • 12.
    BPMN Concept ExtensionConcept MDA-based Method for the Development of BPMN Extensions Case Study: Work Distribution Extension Alternative conceptual models
  • 13.
    STEPS: Definition ofa Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
  • 14.
    MDA-based Method forthe 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:
  • 15.
    Procedure to derivea 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 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.
    Case Study: WorkDistribution Extension MDA-based Method for the Development of BPMN Extensions
  • 17.
    Procedure to derivea BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME properties: MDA-based Method for the Development of BPMN Extensions The representation of c and t is the inferred based on the representation of p 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.
    Procedure to derivea BPMN+X model from a CDME. Second Stage: Apply rules to decide the representation of CDME generalizations: MDA-based Method for the Development of BPMN Extensions The representation of c and s is then inferred based on the representation of g 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.
    MDA-based Method forthe Development of BPMN Extensions Rule 3 Rule 2 Rule 7 Case Study: Work Distribution Extension
  • 20.
    STEPS: Definition ofa Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ). Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
  • 21.
    Transformation of aBPMN+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
  • 22.
    MDA-based Method forthe Development of BPMN Extensions Case Study: Work Distribution Extension
  • 23.
    STEPS: Definition ofa Conceptual Domain Model of an Extension by using UML (CDME). Definition of a BPMN Extension Model (BPMN+X ) . Transformation of a BPMN+X model into a XML Schema Extension Definition Model. Transformation of an XML Schema Extension Definition Model into an XML Schema Extension Definition Document. MDA-based Method for the Development of BPMN Extensions
  • 24.
    An XML Schemadocument 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
  • 25.
    XSD Document Definingthe Extension MDA-based Method for the Development of BPMN Extensions
  • 26.
    BPMN Model Importingan Extension MDA-based Method for the Development of BPMN Extensions
  • 27.
  • 28.
    Tool Support Structureof the developed tool Available at: http://code.google.com/p/bpmnx/ 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.
    Conclusions This workproposed 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.
  • 30.
    Conclusions This workalso proposed the BPMN+X profile It enables defining BPMN extensions graphically. It is better suited than XML Schema to be used by people.
  • 31.
    Conclusions A toolsupporting 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.
  • 32.
    The use ofontologies 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

Editor's Notes

  • #3 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.
  • #4 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.
  • #5 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.
  • #6 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.
  • #7 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.
  • #8 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.
  • #9 Now, I will present the proposed method for the development of extensions.
  • #10 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.
  • #11 At the first step …
  • #12 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.
  • #13 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.
  • #14 The second step consists of deriving a BPMN plus Extensions model from the conceptual domain model of the extension.
  • #15 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.
  • #16 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.
  • #17 In this slide we can see the BPMN+X model resulting of the described procedure.
  • #18 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.
  • #19 This table shows the structure of the rules for representing generalization relationships.
  • #20 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.
  • #21 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.
  • #22 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.
  • #23 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.
  • #24 In the last step, the model resulting of the third step is serialized as an XML Schema document defining the created extension.
  • #25 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.
  • #26 Here we can see an example of XML Schema document defining a BPMN extension.
  • #27 And this is an Example of an BPMN model definition applying the developed extension.
  • #28 With regards to the tool support …
  • #29 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.
  • #30 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.
  • #31 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.