Professional Documents
Culture Documents
Interoperability For Enterprise Management Tools and Repositories
Interoperability For Enterprise Management Tools and Repositories
Whitepaper
3 3 4
4 5 7
General model transformations to BPMN Use cases for pattern-based transformations Summary Bibliography
10 14 14 15
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
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.
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.
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.
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.
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
of pattern-based transformations. Nevertheless pattern-based transformations are fully independent from the implemented source and consumer modeling languages.
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.
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.
10
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.
11
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">
12
<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>
13
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.
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).
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.
14
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.
15
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
16
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.