A Category-Theoretical Approach to the Formalisation of Version Control in MDE

  • Adrian Rutle
  • Alessandro Rossini
  • Yngve Lamo
  • Uwe Wolter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5503)


In Model-Driven Engineering (MDE) models are the primary artefacts of the software development process. Similar to other software artefacts, models undergo a complex evolution during their life cycles. Version control is one of the key techniques which enables developers to tackle this complexity. Traditional version control systems are based on the copy-modify-merge paradigm which is not fully exploited in MDE because of the lack of model-specific techniques. In this paper we give a formalisation of the copy-modify-merge paradigm in MDE. In particular, we analyse how common models and merge models can be defined by means of category-theoretical constructions. Moreover, we show how the properties of those constructions can be used to identify model differences and conflicting modifications.


  1. 1.
    Baresi, L., Heckel, R.: Tutorial Introduction to Graph Transformation: A Software Engineering Perspective. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 431–433. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Brun, C., Musset, J., Toulmé, A.: EMF Compare Project, http://www.eclipse.org/emft/projects/compare/
  3. 3.
    Cicchetti, A., Di Ruscio, D., Pierantonio, A.: A Metamodel Independent Approach to Difference Representation. Journal of Object Technology 6(9), 165–185 (2007) (Special Issue on TOOLS Europe 2007)CrossRefGoogle Scholar
  4. 4.
    Mens, T., Taentzer, G., Runge, O.: Detecting Structural Refactoring Conflicts Using Critical Pair Analysis. Electronic Notes in Theoretical Computer Science 127(3), 113–128 (2005)CrossRefGoogle Scholar
  5. 5.
    Niu, N., Easterbrook, S., Sabetzadeh, M.: A Category-theoretic Approach to Syntactic Software Merging. In: ICSM 2005: 21st IEEE International Conference on Software Maintenance, pp. 197–206. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  6. 6.
    Rutle, A., Wolter, U., Lamo, Y.: Diagrammatic Software Specifications. In: NWPT 2006: 18th Nordic Workshop on Programming Theory (October 2006)Google Scholar
  7. 7.
    Rutle, A., Wolter, U., Lamo, Y.: A Diagrammatic Approach to Model Transformations. In: EATIS 2008: Euro American Conference on Telematics and Information Systems (2008)Google Scholar
  8. 8.
    Rutle, A., Wolter, U., Lamo, Y.: A Formal Approach to Modeling and Model Transformations in Software Engineering. Technical Report 48, Turku Centre for Computer Science, Finland (2008)Google Scholar
  9. 9.
    Wolter, U., Diskin, Z.: Generalized Sketches: Towards a Universal Logic for Diagrammatic Modeling in Software Engineering. In: ACCAT Workshop 2007, satellite event of ETAPS 2007: European Joint Conferences on Theory and Practice of Software (to appear)Google Scholar
  10. 10.
    Diskin, Z.: Model Transformation via Pull-backs: Algebra vs. Heuristics. Technical Report 521, School of Computing, Queen’s University, Kingston, Canada (September 2006)Google Scholar
  11. 11.
    Lin, Y., Gray, J., Jouault, F.: DSMDiff: A Differentiation Tool for Domain-Specific Models. European Journal of Information Systems 16(4), 349–361 (2007) (Special Issue on Model-Driven Systems Development)CrossRefGoogle Scholar
  12. 12.
    Rivera, J.E., Vallecillo, A.: Representing and Operating with Model Differences. In: 46th International Conference on TOOLS Europe 2008: Objects, Components, Models and Patterns. LNBIP, vol. 11, pp. 141–160. Springer, Heidelberg (2008)Google Scholar
  13. 13.
    Ohst, D., Welle, M., Kelter, U.: Differences between versions of UML diagrams. In: ESEC/FSE 2003: 11th ACM SIGSOFT Symposium on Foundations of Software Engineering 2003, pp. 227–236. ACM, New York (2003)Google Scholar
  14. 14.
    Alanen, M., Porres, I.: Difference and Union of Models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing Model Conflicts in Distributed Development. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 311–325. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  16. 16.
    Cicchetti, A., Rossini, A.: Weaving Models in Conflict Detection Specifications. In: SAC 2007: 22 nd ACM Symposium on Applied Computing, pp. 1035–1036. ACM, New York (2007)CrossRefGoogle Scholar
  17. 17.
    Rutle, A., Rossini, A.: A Tentative Analysis of the Factors Affecting the Industrial Adoption of MDE. In: ChaMDE 2008: 1st International Workshop on Challenges in Model-Driven Software Engineering, pp. 57–61 (2008), http://ssel.vub.ac.be/ChaMDE08/_media/chamde2008_proceedings.pdf

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Adrian Rutle
    • 1
  • Alessandro Rossini
    • 2
  • Yngve Lamo
    • 1
  • Uwe Wolter
    • 2
  1. 1.Bergen University CollegeBergenNorway
  2. 2.University of BergenBergenNorway

Personalised recommendations