Language-Independent Change Management of Process Models Christian Gerth 1,2,3 , Jochen M. K ¨ uster 1 , and Gregor Engels 3 1 IBM Zurich Research Laboratory, S¨ aumerstr. 4, 8803 R¨ uschlikon, Switzerland {cge,jku}@zurich.ibm.com 2 Intern. Graduate School of Dynamic Intelligent Systems 3 Department of Computer Science, University of Paderborn, Germany {gerth,engels}@upb.de Abstract. In model-driven development approaches, process models are used at different levels of abstraction and are described by different languages. Similar to other software artifacts, process models are developed in team environments and underlie constant change. This requires reusable techniques for the detection of changes between different process models and the computation of dependen- cies and conflicts between changes. In this paper, we propose a framework for the construction of process model change management solutions that provides generic techniques for the detection of differences and the computation of de- pendencies and conflicts between changes. The framework contains an abstract representation for process models that serves as a common denominator for dif- ferent process models. In addition, we show how the framework is instantiated exemplarily for BPMN. Keywords: Process model change management, process model differences. 1 Introduction In recent years, the role of process models in the development of enterprise software systems has increased continuously. Today, process models are used at different levels in the development process. For instance, in Service-Oriented Architectures (SOA) [1], high-level business process models become input for the development of IT systems, and in running IT systems executable process models describe choreographies of Web Services [2]. A key driver behind this development is the necessity for a closer align- ment of business and IT requirements [3], to reduce the reaction times in software de- velopment to frequent changes in competitive markets. Typically in these scenarios, process models are developed, refined, and transformed in a team environment by several stakeholders that are often from different business units, resulting in different versions. These process model versions reflect the different views of the stakeholders involved. To obtain integrated process models comprising the changes applied to different versions, the versions need to be consolidated by means of process model change management. Change management for process models consists of the following major activities: detection of differences, computation of dependencies and conflicts between differences, and resolution of differences. In general, change management is a language-dependent A. Sch ¨ urr and B. Selic (Eds.): MODELS 2009, LNCS 5795, pp. 152–166, 2009. c Springer-Verlag Berlin Heidelberg 2009