Download as pdf
Download as pdf
You are on page 1of 16

1

Whitepaper Pattern-based model transformations

Pattern-based model transformations


Software for the interoperability of enterprise management tools and model interchange

Whitepaper

July 2011, by Dr. Franz Kammermeier Volker Rautenberg Heinz-Jrgen Scherer

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

Table of Contents Abstract Motivation Interchange of model data and diagrams


Enterprise service bus technology Object-based transformations Pattern-based transformations

3 3 4
4 5 7

General model transformations to BPMN Use cases for pattern-based transformations Summary Bibliography

10 14 14 15

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

Abstract
Globally acting businesses have a strong need for the interoperability of business processes on the one hand and a tight process integration for running B2B processes (like supply chain processes) on the other hand side. Business process management (BPM) is a management discipline which allows to align, to structure and to optimize business processes. BPM is supported by enterprise management tools designed for business process analysis or process integration and execution employing business process management systems. Such tools visually represent business processes in diagrams. The underlying visual modeling languages implement have meta-models of their own, embracing modeling rules and a symbol-based graphical notation to express the business logic at certain levels of abstraction. As many companies use different enterprise management tools for various purposes, a general interoperability goal is to overcome the divide between different modeling languages and standards. A good example is the use of process models in different domains like process analysis, software engineering or business process execution. Each domain has its own tools, modeling languages and focuses such as business aspects, technical details or process implementation facets. A typical use case within a process models life cycle is the conversion from a vendor-specific modeling language to a more future-oriented, open standard like the Business Process Model and Notation (BPMN) maintained by the Object Management Group (OMG). Such model conversions can be achieved with a pattern-based transformation engine, a component that bridges the gap between different modeling languages, their specific meta-models and notations. The pattern-based transformation engine is an important component included into the BPM-Xchange1 (or just BPM-X) enterprise application integration (EAI) software. BPM-X technology actively supports the interoperability between different enterprise management tools by transforming enterprise architecture and business process models not only to different data formats, but even more important transform them between different modeling languages.

Motivation
During the past two decades the issue of model transformation has progressively moved into the scope of interest of the scientific community as well as private companies. Particular effort has been made by the software engineering community in facilitating vertical transformations from platform-independent models via platform-specific models up to the generation of code. Examples for model transformation platforms being developed for this purpose are the Meta Object Facilities Query View Transformations (MOF QVT) of the Object Management Group [OMG2007] and the Atlas Transformation Language (ATL) of the Atlas Group [Atlas2006]. Recently, the need for model transformations has also emerged in other domains. Especially in the field of BPM several research efforts have been made, e.g. on the concept of a transformer connecting
1

www.bpm-x.com

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

different BPM tools, especially with respect to the ADONIS tool [KhnMurzekBayer2004]. [VanderhaegenZangScheer2005] and [HoyerBuchererSchnabel2008] both consider collaborative ebusiness environments which employ different model types for internal BPMS (for example extended event-driven process chains or eEPC models) and the external exchange platform; the authors also introduced a process abstraction upon transforming private to public platform models. Despite of this possible abstraction process, all proposals essentially address a horizontal transformation concept performing transformations between models of the same type: graphical models of business processes. [VanderhaegenZangScheer2005] proposes to connect different BPM platforms via their respective XML export formats directly via XSLT transformation rule sets. This approach mixes two different aspects of the transformation: reading and writing the native XML schemes for the model serializations on the one hand and transforming abstract graph structures on the other hand. This and the fact that XSLT is not a dedicated formalism for graph structure transformations lead to transformation rule representations which are difficult to read and maintain. Better suited is an approach which connects the native XML representations of the model platforms to a dedicated generic graph-oriented representation on which transformations involving graph structure modifications can be performed.

Interchange of model data and diagrams


The modular BPM-X software covers an EAI component especially designed for the interchange of model data and visual diagrams between different enterprise management tools and repositories.

Enterprise service bus technology


BPM-X software employs an industry-standard enterprise service bus (ESB) technology which establishes a classical hub-and-spoke architecture for connecting quite different enterprise management tools, e.g. enterprise architecture (EA), business process analysis (BPA), business process management systems (BPMS), software design, web service repositories or configuration management databases (CMDB). The ESB consists of inbound adapters for reading and outbound adapter for writing specific data formats connecting their native formats like XML or web service and to store the data in an intermediate neutral format into an internal repository. This internal repository is used for the processing of a sequence of model transformations including graphical transformations of diagrams. The adapters are designed as software plug-ins for dynamic execution in the ESB and they basically provide the extract transform load (ETL) functionality for converting the data scheme from a specific source format into a generic internal format. This implements the data scheme conversion on a first transformation level not changing the meta-model of the processed model data, followed by two additional transformation levels. BPM-X stores the neutral format of model data including the diagrams in its internal repository using a highly normalized graph-oriented, generic model representation. Herein a model consists of objects,

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

their data and object relationships; a diagram is a visual representation of the model with a specific modeling language-specific notation using graphical symbols and connectors.

Figure 1: Topology scheme of the BPM-X EAI component with ESB technology

In the following the terms model and diagram are used synonymously because the applied transformations work on both process model representations. Based on the internal generic model representation, BPM-X performs a second level of model transformations supported by two different transformation concepts: 1. Object-based transformations, 2. Pattern-based transformations.

Object-based transformations
A first mapping of objects, connections and attribute types is done by an object-based transformation from the source model into the consumer model. This feature permits to interchange model data between enterprise management platforms that using quite similar modeling languages, e.g. the conversion of Microsoft Office Visio swim lane diagrams into ARIS eEPC diagrams. This transformation is also very useful for the interchange of model data coming from e.g. a CMDB into an enterprise architecture (EA) tool.

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

Figure 2: Two examples for the mapping of objects

The object mapping can be flexibly combined with an attribute-based mapping of data. This allows for conditional transformations depending on an attribute value of the source object to be mapped into consumer objects. A split mapping creates different consumer object types from a given source object type; a join mapping creates one consumer object type from different source object types. If the source object type is stored as value in a data attribute of the consumer object, then round-trip transformations are possible.

Figure 3; Attribute-based object mappings with split and join mappings

This allows for injective mapping between modeling languages even if the source and consumer metamodels do not map the object types. The object-based mapping rules are managed by the BPM-X Administrators Mapping Editor tool. The following figures show some examples which maps a MEGA business organizational process model to a Microsoft Visual Studio UML activity model.

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

Figure 4: Mapping of MEGA business process organizational model to Microsoft Visual Studio UML activity for software design

The next figure describes a practical example using Sparx Enterprise Architect with UML activity with BPMN notation mapped to TIBCO Business Studio BPMN process model. This examples converts the model from Enterprise Architect used XMI format into the TIBCO used XPDL format.

Figure 5: Sparx Enterprise Architect model converted to TIBCO Business Studio BPMN

However, there are limitations in the usage of object-based transformations: if the model graph is very different between the source and consumer meta-model, a stronger transformation that allows structural changes of the model graph is needed.

Pattern-based transformations
This mapping concept is implemented as an atomic operation for the improvement of the second transformation level. Here, not only a source object type can be mapped to a correspondent consumer object-type (respectively the mapping of connection or attribute types), but also the whole patterns building the source model graph structure can be mapped to deviating patterns of consumer model graph structures. Hereby objects or connections are removed and/ or newly created in the consumer model. In the following the eEPC and the BPMN modeling languages are used to explain the mechanics

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

of pattern-based transformations. Nevertheless pattern-based transformations are fully independent from the implemented source and consumer modeling languages.

Figure 6: Semi-formal graphical transformation rule for a basic pattern

The figure shows a source pattern in eEPC on the left and a corresponding target pattern in BPMN on the right. The eEPC model graph structure is quite different from the BPMN one: the pattern-based transformation removes the eEPC Event-1 object; its label text becomes the label of the outgoing connection of the BPMN Activity A object. Hence this transformation concept facilitates the conversion of eEPC models to a very different model language like BPMN. Moreover, the usage of the internal graph-oriented representation permits a user-friendly configurability of mapping rules to describe source and consumer patterns. The next pattern shows a more complex source pattern with a standard eEPC exclusive-or XOR branch pattern mapped to BPMN using the implicit XOR-branch pattern.

Figure 7: Semi-formal graphical rule for a XOR-branch pattern

BPM-X | www.bpm-x.com | Public

Whitepaper Pattern-based model transformations

The paper Enterprise Architecture based on Design Primitives and Patterns. Guidelines for the Design and Development of Event-Trace Descriptions (DoDAF OV-6c) using BPMN [ZurMuehlen2009] points out the lack of technical interoperability between different BPA tools for the interchange of BPMN process models using the XML Process Definition Language (XPDL) format, standardized by the Workflow Management Coalition (WfMC). To overcome these existing limitations, the pattern-based mapping rules can depend on a specific customization of a modeling language, individual modeling conventions of an organization or specific implementations of model language standards of enterprise management tools. This flexibility for instance allows for mapping models between different BPMN versions or vendor specific BPMN implementations. The third transformation level is built upon model object consistency transformations e.g. to eliminate duplicate object definitions and to consolidate object instance relationships. This concept is not further discussed in this whitepaper. The following figure summarizes the three levels of transformations BPM-X uses for high quality tool interoperability and model interchange: 1. Data scheme transformations with inbound and outbound adapters. 2. Model mapping with meta-model transformation based on: a. Object-based transformations, b. Pattern-based transformations. 3. Model consistency transformations.

Figure 8: Three levels of transformations

BPM-X | www.bpm-x.com | Public

10

Whitepaper Pattern-based model transformations

General model transformations to BPMN


The transformation of models to the BPMN modeling language involves fundamental structural changes of the source model. The following figure shows the example of an eEPC model fragment and the created equivalent BPMN model:

Figure 9: eEPC model and the thereof created BPMN model

The structural differences are striking, particularly the missing intermediate events in the BPMN and the representation of organizational units or applications as pools and swim lanes. As indicated above, the converter-internal, graph-oriented representation of models allows for the specification of the necessary transformation rules in an easy-to-read and -configure manner. Instead of using XSLT rules with their procedural (or functional) semantics, declarative graph-oriented XML transformation rules or even a visual representation of the rules as graph-fragments are employed. Nevertheless, XSLT processing is used internally to transform the declarative XML rules into executable rules for the transformation engine, which are performed directly on the repository to identify source patterns within a model and transform them to target patterns by a best-practice approach. Basic patterns (e.g. described by [ZurMuehlen2009]) are used where possible and more dedicated solutions where necessary. In the following figure a real-life example from a BPMS application shows a more complex semi-formal visual representation of a mapping rule from an eEPC pattern to a BPMN pattern.

BPM-X | www.bpm-x.com | Public

11

Whitepaper Pattern-based model transformations

Figure 10: Semi-formal graphical representation of a mapping rule

Three aspects are of importance here: eEPC event Event-1 without an outgoing connection will be mapped to a BPMN end event. The XOR rule with multiple exits will be removed and replaced by a mere BPMN conditional flow connection labeled with the name of the corresponding eEPC event Event-1 object. The names of organizational units Name-i will be assigned to eEPC Function-A, concatenated and included in the name of BPMN voting Activity-A and additionally the test is assigned to a BPMN resource of the activity object.

The eEPC Event-k objects are only included in the source pattern to point out that the XOR has multiple exits. These objects themselves are not covered using this specific rule. They will be processed by other mapping rules. Fragments of the graph-oriented XML representation of the simple transformation rule given example is shown as follows:
<TransformationRule> <SourcePattern> <Graph> <Elements> <Object name="Function1"> <type>'ST_EV'</type> <id_object> <variable name=" idFunct"/> </id_object> <Attribute name="functName"> <name>'AT_NAME'</name> <value><variable name="functName"/></value> </Attribute> </Object> <Object name="Event1">

BPM-X | www.bpm-x.com | Public

12

Whitepaper Pattern-based model transformations

<type>'ST_EV'</type> <id_object><variable name=" idEv"/></id_object> <Attribute name="eventName"> <name>'AT_NAME'</name> <value><variable name="eventName"/> </value> </Attribute> </Object> <Object name="Object-1"> <id_object><variable name=" idObj"/></id_object> <Attribute name="objName"> <name>'AT_NAME'</name> <value><variable name="objName"/></value> </Attribute> </Object> <Connection name="connToEv> <source>Function1</source> <target>Event1</target> </Connection> < Connection name="connFromEv> <source>Event1</source> <target>Object-1</target> </Connection> </Elements> </Graph> </SourcePattern> <TargetPattern> <Graph> <Elements> <Object name="Activity1"> <type>'ST_ACTIVITY'</type> <id_object><variable-inst name="idFunct"/> </id_object> <Attribute name="functName"> <name>'AT_NAME'</name> <value><variable-inst name="functName"/></value> </Attribute> </Object> <Connection> <source>Activity1</source> <target> <mapped-object> <id_object> <variable-inst name="idObj-i"/> </id_object> </mapped-object> </target> <type>CT_SEQFLOW</type> <Attribute> <name>'AT_NAME'</name> <value><variable-inst name="eventName"/> </value> </Attribute> </Connection> </Elements> </Graph> </TargetPattern> </TransformationRule>

BPM-X | www.bpm-x.com | Public

13

Whitepaper Pattern-based model transformations

The mapping rules are managed in the BPM-X Administrator tool inside the mapping rule editor. This tool offers a graphical user interface to manage the rules stored in configuration files.

Figure 11: BPM-X Administrator pattern-based mapping rule editor

The following example shows a use case converting Metastorm ProVision workflow process model, a BPMN like modeling language into an ARIS EPC swim lane model. The exchange is done using open interfaces, the ProVision Common Interface Format (CIF) and the ARIS import format ARIS Markup Language (AML).

Figure 12: Metastorm ProVision workflow converted to ARIS EPC swimlane

This example shows the structural changes applied to the consumer model graph e.g. by creating the required events to be EPC-compliant in terms of XOR split branch pattern.

BPM-X | www.bpm-x.com | Public

14

Whitepaper Pattern-based model transformations

Use cases for pattern-based transformations


There are a number of use-cases for applications using pattern-based transformations. Migration scenario An organization wants to deploy a new enterprise management tool into its landscape and likes to protect its investment into the existing model repository for further use in the next tool. Or an organization wants to convert its models from a proprietary or vendor specific modeling language into a more future-oriented open standard like BPMNTM still using the same enterprise management tool. Integration scenario In collaborative B2B e-business environments interoperability has to be established between cooperating partners using different BPM tools and modeling languages. A common case is the model interchange between business architecture teams and software or process execution design teams for re-use of descriptive process models in the technical environment. Abstraction scenario E-business cooperation partners with different BPM platforms use different notations for their private internal business processes. An interchange of models among partners will include an abstraction process when transforming the private models to public models using a common notation as interchange standard. This need is particularly important for building an infrastructure based upon a service-oriented architecture (SOA). The abstraction scenario indicates the necessity for a more vertically-oriented transformation process, i.e. connecting more abstract process models with models given by implementation-oriented workflow specification or execution schemes like XPDL or BPEL.

Summary
The modular architecture of the BPM-Xchange EAI system distinguishes adapters for reading and writing proprietary tool-specific or standardized XML schemes like XMI or XPDL. The actual mapping mechanism is based on a graph-oriented, internal model representation. This separation allows for an easy-to-maintain representation and execution on a pattern-based transformation platform. The transformation is described by mapping rules which can be expressed in terms of a human-maintainable graph-oriented XML format or a user friendly graphical notation. Using this extended exchange platform enables the migration, integration and abstraction of models from different enterprise management tools which is particularly important in the strongly growing collaborative e-business environments of a global economy.

BPM-X | www.bpm-x.com | Public

15

Whitepaper Pattern-based model transformations

Bibliography
[OMG2007] OMG: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification. Final Adopted Specification ptc/07-07-07. Needham, MA: Object Management Group, July 2007 [Atlas2006] ATLAS group LINA & INRIA: ATL: Atlas Transformation Language ATL User Manual,- version 0.7 Nantes, February 2006 [KhnMurzekBayer2004] H.Khn, M.Murzek, F.Bayer: Horizontal Business Process Model Interoperability using model transformation, Position Paper for Workshop INTERREST 2004 at ECOOP 2004, Oslo, June 2004 [VanderhaegenZangScheer2005] Dominik Vanderhaegen, Sven Zang, August-Wilhelm Scheer: Interorganisationales Modelltransformation, Geschftsprozessmanagement Verffentlichungen des durch fr

Instituts

Wirtschaftsinformatik, IWi Heft Nr. 182, Saarbrcken, Februar 2005 [HoyerBuchererSchnabel2008] Volker Hoyer, Eva Bucherer, Florian Schnabel: Collaborative eBusiness Process Modelling: Transforming Private EPC to Public BPMN Business Process Models. In: Business Process Management Workshops : BPM 2007 International Workshops, BPI, BPD, CBP, ProHealth, RefMod, semantics4ws, Brisbane, Australia, September 24, 2007, Revised Selected Papers. Berlin : Springer, 2008.- ISBN 978-3-540-78237-7, S. 185-196 [ZurMuehlen2009] Michael zur Muehlen: Enterprise Architecture based on Design Primitives and Patterns. Guidelines for the Design and

Development of Event-Trace Descriptions (DoDAF OV-6c) using BPMN, 17.12.2009: US Department of Defense, Business

Transformation Agency

BPM-X | www.bpm-x.com | Public

16

Whitepaper Pattern-based model transformations

Legal notice
The product names used in this document are for identification purposes only. All trademarks and registered trademarks are the property of their respective owners. The following trademarks may or may not be marked in this document: ARIS is a trademark or registered trademark of Software AG in Germany and in many countries all over the world. BPM-Xchange is a trademark or registered trademark of BPM-X GmbH in Germany and/or other countries. MEGA is a trademark of MEGA International S.A. in France and/or other countries. Metastorm and ProVision are trademarks or registered trademarks of OpenText Corporation in Canada and/or other countries. Microsoft, Visio and Visual Studio are registered trademarks of Microsoft Corporation in the United States and/or other countries. Object Management Group, OMG, BPMN, Business Process Modeling Notation, Unified Modeling Language, UML and XMI are trademarks or registered trademarks of the Object Management Group Inc. in the United States and/or other countries. Sparx and Enterprise Architect are trademarks or registered trademarks of Sparx Systems Pty Ltd in Australia and/or other countries. TIBCO and TIBCO Business Studio are either registered trademarks or trademarks of TIBCO Software Inc. and/or its affiliates in the United States and/or other countries. Other company, product, and service names may be trademarks, registered trademarks, or service marks of other owners.

BPM-X | www.bpm-x.com | Public

You might also like