Advertisement

COPE - Automating Coupled Evolution of Metamodels and Models

  • Markus Herrmannsdoerfer
  • Sebastian Benz
  • Elmar Juergens
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5653)

Abstract

Model-based development promises to increase productivity by offering modeling languages tailored to a specific domain. Such modeling languages are typically defined by a metamodel. In response to changing requirements and technological progress, the domains and thus the metamodels are subject to change. Manually migrating existing models to a new version of their metamodel is tedious and error-prone. Hence, adequate tool support is required to support the maintenance of modeling languages. This paper introduces COPE, an integrated approach to specify the coupled evolution of metamodels and models to reduce migration effort. With COPE, a language is evolved by incrementally composing modular coupled transformations that adapt the metamodel and specify the corresponding model migrations. This modular approach allows to combine the reuse of recurring transformations with the expressiveness to cater for complex transformations. We demonstrate the applicability of COPE in practice by modeling the coupled evolution of two existing modeling languages.

Keywords

Modeling Language Model Migration Composite State Eclipse Modeling Framework Couple Evolution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kleppe, A.G., Warmer, J., Bast, W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Boston (2003)Google Scholar
  2. 2.
    Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Chichester (2004)Google Scholar
  3. 3.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling. John Wiley & Sons, Chichester (2007)Google Scholar
  4. 4.
    AUTOSAR Development Partnership: AUTOSAR Specification V3.1 (2008)Google Scholar
  5. 5.
    Favre, J.-M.: Languages evolve too! changing the software time scale. In: 8th International Workshop on Principles of Software Evolution (IWPSE), pp. 33–44. IEEE Computer Society Press, Los Alamitos (2005)CrossRefGoogle Scholar
  6. 6.
    Object Management Group: Unified Modeling Language, Superstructure, v2.1.2 (2007)Google Scholar
  7. 7.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: Automatability of Coupled Evolution of Metamodels and Models in Practice. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 645–659. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley Longman Publishing Co., Inc., Amsterdam (1999)zbMATHGoogle Scholar
  9. 9.
    Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R., Jazayeri, M.: Challenges in software evolution. In: 8th International Workshop on Principles of Software Evolution (IWPSE), pp. 13–22 (2005)Google Scholar
  10. 10.
    Lämmel, R.: Coupled Software Transformations (Extended Abstract). In: 1st International Workshop on Software Evolution Transformations (2004)Google Scholar
  11. 11.
    Banerjee, J., Kim, W., Kim, H.-J., Korth, H.F.: Semantics and implementation of schema evolution in object-oriented databases. In: SIGMOD Rec., vol. 16, pp. 311–322. ACM Press, New York (1987)Google Scholar
  12. 12.
    Ferrandina, F., Meyer, T., Zicari, R., Ferran, G., Madec, J.: Schema and database evolution in the O2 object database system. In: 21th International Conference on Very Large Data Bases (VLDB), pp. 170–181. Morgan Kaufmann, San Francisco (1995)Google Scholar
  13. 13.
    Claypool, K.T., Jin, J., Rundensteiner, E.A.: SERF: schema evolution through an extensible, re-usable and flexible framework. In: 7th International Conference on Information and Knowledge Management (CIKM), pp. 314–321. ACM Press, New York (1998)Google Scholar
  14. 14.
    Lämmel, R.: Grammar adaptation. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, pp. 550–570. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Pizka, M., Juergens, E.: Automating language evolution. In: 1st Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE), pp. 305–315. IEEE Computer Society Press, Los Alamitos (2007)CrossRefGoogle Scholar
  16. 16.
    Lämmel, R., Lohmann, W.: Format Evolution. In: 7th International Conference on Reverse Engineering for Information Systems (RETIS), vol. 155, pp. 113–134. OCG (2001)Google Scholar
  17. 17.
    Su, H., Kramer, D., Chen, L., Claypool, K., Rundensteiner, E.A.: XEM: Managing the Evolution of XML Documents. In: 11th International Workshop on research Issues in Data Engineering (RIDE), p. 103. IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  18. 18.
    Sprinkle, J.M.: Metamodel driven model migration. PhD thesis, Nashville, TN, USA (2003)Google Scholar
  19. 19.
    Sprinkle, J., Karsai, G.: A domain-specific visual language for domain model evolution. Journal of Visual Languages and Computing 15, 291–307 (2004)CrossRefGoogle Scholar
  20. 20.
    Becker, S., Gruschko, B., Goldschmidt, T., Koziolek, H.: A Process Model and Classification Scheme for Semi-Automatic Meta-Model Evolution. In: 1st Workshop, MDD, SOA und IT-Management (MSI), GI, pp. 35–46. GiTO-Verlag (2007)Google Scholar
  21. 21.
    Gruschko, B., Kolovos, D., Paige, R.: Towards synchronizing models with evolving metamodels. In: International Workshop on Model-Driven Software Evolution (2007)Google Scholar
  22. 22.
    Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Ceballos, S. (ed.) 12th International Enterprise Distributed Object Computing Conference (EDOC). IEEE Computer Society Press, Los Alamitos (2008)Google Scholar
  23. 23.
    Hößler, J., Soden, M., Eichler, H.: Coevolution of Models, Metamodels and Transformations. In: Models and Human Reasoning, pp. 129–154. Wissenschaft und Technik Verlag, Berlin (2005)Google Scholar
  24. 24.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    Vermolen, S.D., Visser, E.: Heterogeneous coupled evolution of software languages. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 630–644. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Li, X.: A survey of schema evolution in object-oriented databases. In: 31st International Conference on Technology of Object-Oriented Language and Systems (TOOLS), p. 362. IEEE Computer Society, Los Alamitos (1999)Google Scholar
  27. 27.
    Rahm, E., Bernstein, P.A.: An online bibliography on schema evolution. SIGMOD Rec. 35(4), 30–31 (2006)CrossRefGoogle Scholar
  28. 28.
    Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Trans. Softw. Eng. Methodol. 14(3), 331–380 (2005)CrossRefGoogle Scholar
  29. 29.
    Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electronic Notes in Theoretical Computer Science 152, 125–142 (2006)CrossRefGoogle Scholar
  30. 30.
    Budinsky, F., Brodsky, S.A., Merks, E.: Eclipse Modeling Framework. Pearson Education, London (2003)Google Scholar
  31. 31.
    Koenig, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in Action. Manning Publications Co., Greenwich (2007)Google Scholar
  32. 32.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE: A Language for the Coupled Evolution of Metamodels and Models. In: 1st International Workshop on Model Co-Evolution and Consistency Management (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Markus Herrmannsdoerfer
    • 1
  • Sebastian Benz
    • 2
  • Elmar Juergens
    • 1
  1. 1.Institut für InformatikTechnische Universität MünchenGarching b. MünchenGermany
  2. 2.BMW Car IT GmbHMünchenGermany

Personalised recommendations