A manifesto for model merging

If a modeling task is distributed, it will frequently be necessary to merge models developed by different team members. Existing approaches to model merging make assumptions about the types of model to be merged, and the nature of the relationship between them. This makes it hard to compare approaches. In this paper, we present a manifesto for research on model merging. We propose a framework for comparing different approaches to merging, by treating merge as an algebraic operator over models and model relationships. We specify the algebraic properties of an idealized merge operator, as well as related operators such as match, diff, split, and slice. We then show how our framework can be used to compare existing approaches by applying it to two of our own research projects on model merging. We show how this analysis permits a detailed comparison of approaches, reveals the key features of each, and identifies weaknesses that require further research. Most importantly, the framework emphasizes the need to make explicit all assumptions about the relationships between models, and indeed to treat model relationships as first class objects.

[1]  Marsha Chechik,et al.  Let's agree to disagree , 2005, ASE '05.

[2]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[3]  Bashar Nuseibeh,et al.  Making inconsistency respectable in software development , 2001, J. Syst. Softw..

[4]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Marsha Chechik,et al.  Merging partial behavioural models , 2004, SIGSOFT '04/FSE-12.

[6]  Marsha Chechik,et al.  A framework for multi-valued reasoning over inconsistent viewpoints , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[7]  Mehrdad Sabetzadeh,et al.  An algebraic framework for merging incomplete and inconsistent views , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[8]  Michael Barr,et al.  Category theory for computing science (2. ed.) , 1995, Prentice Hall international series in computer science.

[9]  Eleni Stroulia,et al.  UMLDiff: an algorithm for object-oriented design differencing , 2005, ASE.

[10]  Anthony Kosky,et al.  Theoretical Aspects of Schema Merging , 1992, EDBT.

[11]  Philip A. Bernstein,et al.  Merging Models Based on Given Correspondences , 2003, VLDB.

[12]  Michael Barr,et al.  Category theory for computing science , 1995, Prentice Hall International Series in Computer Science.

[13]  Nenad Medvidovic,et al.  A Formal Approach to Heterogeneous Software Modeling , 2000, FASE.

[14]  Debbie Richards Merging individual conceptual models of requirements , 2003, Requirements Engineering.

[15]  Thomas W. Reps,et al.  Integrating noninterfering versions of programs , 1989, TOPL.

[16]  Erhard Rahm,et al.  Rondo: a programming platform for generic model management , 2003, SIGMOD '03.

[17]  Susan Elliott Sim,et al.  Using benchmarking to advance research: a challenge to software engineering , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[18]  John C. Grundy,et al.  A visual language and environment for composing web services , 2005, ASE.

[19]  Mehrdad Sabetzadeh,et al.  Traceability in viewpoint merging: a model management perspective , 2005, TEFSE '05.

[20]  Kim G. Larsen,et al.  Equation solving using modal transition systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[21]  Amir Pnueli,et al.  Synthesis Revisited: Generating Statechart Models from Scenario-Based Requirements , 2005, Formal Methods in Software and Systems Modeling.

[22]  Erhard Rahm,et al.  A survey of approaches to automatic schema matching , 2001, The VLDB Journal.

[23]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[24]  Mehrdad Sabetzadeh,et al.  A category-theoretic approach to syntactic software merging , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[25]  Joseph A. Goguen,et al.  A categorical manifesto , 1989, Mathematical Structures in Computer Science.