Metamodel Adaptation and Model Co-adaptation

  • Guido Wachsmuth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4609)

Abstract

Like other software artefacts, metamodels evolve over time. We propose a transformational approach to assist metamodel evolution by stepwise adaptation. In the first part of the paper, we adopt ideas from grammar engineering to define several semantics- and instance-preservation properties in terms of metamodel relations. This part is not restricted to any metamodel formalism. In the second part, we present a library of QVT Relations for the stepwise adaptation of MOF compliant metamodels. Transformations from this library separate preservation properties. We distinguish three kinds of adaptation according to these properties; namely refactoring, construction, and destruction. Co-adaptation of models is discussed with respect to instance-preservation. In most cases, co-adaptation is achieved automatically. Finally, we point out applications in the areas of metamodel design, implementation, refinement, maintenance, and recovery.

Keywords

Eclipse Modeling Framework Preservation Property Meta Object Facility Target Metamodel Input Metamodel 
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.
    Object Management Group: MDA Guide Version 1.0.1 (2003)Google Scholar
  2. 2.
    Favre, J.M.: Meta-model and model co-evolution within the 3D software space. In: ELISA’03: Proceedings of the International Workshop on Evolution of Large-scale Industrial Software Applications, Amsterdam, The Netherlands, pp. 98–109 (2003)Google Scholar
  3. 3.
    Object Management Group: Meta Object Facility Core Specification, version 2.0 (2006)Google Scholar
  4. 4.
    Object Management Group: MOF QVT Final Adopted Specification (2005)Google Scholar
  5. 5.
    Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA (1992)Google Scholar
  6. 6.
    Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA (1999)Google Scholar
  7. 7.
    Fowler, M., Beck, K., Brant, J., Opdyke, W.F., Roberts, D.B.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Redwood City,CA, USA (1999)Google Scholar
  8. 8.
    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
  9. 9.
    Lämmel, R., Wachsmuth, G.: Transformation of SDF syntax definitions in the ASF+SDF Meta-Environment. Electronical Notes in Theoretical Computer Science 44 (2001)Google Scholar
  10. 10.
    Lämmel, R.: Coupled software transformations (extended abstract). In: SET ’04: 1st International Workshop on Software Evolution Transformations, Proceedings, pp. 31–35 (2004)Google Scholar
  11. 11.
    Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Software Eng. 30 (2004)Google Scholar
  12. 12.
    Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, London, UK (2000)Google Scholar
  13. 13.
    Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley, London, UK (2004)Google Scholar
  14. 14.
    Bravo, F.M.: A Logic Meta-Programming Framework for Supporting the Refactoring Process. PhD thesis, Vrije Universiteit Brussel, Belgium (2003)Google Scholar
  15. 15.
    Banerjee, J., Kim, W., Kim, H.J., Korth, H.F.: Semantics and implementation of schema evolution in object-oriented databases. SIGMOD Rec. 16, 311–322 (1987)CrossRefGoogle Scholar
  16. 16.
    Nguyen, G.T., Rieu, D.: Schema evolution in object-oriented database systems. Data Knowl. Eng. 4, 43–67 (1989)CrossRefGoogle Scholar
  17. 17.
    Dmitriev, M.: Safe Class and Data Evolution in Large and Long-Lived Java Applications. PhD thesis, University of Glasgow (2001)Google Scholar
  18. 18.
    Meyer, B.: Schema evolution: Concepts, terminology, and solutions. Computer 29, 119–121 (1996)CrossRefGoogle Scholar
  19. 19.
    Boger, M., Sturm, T., Fragemann, P.: Refactoring browser for UML. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 336–377. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Sunye, G., Pollet, D., Traon, Y.L., Jezequel, J.M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001 – The Unified Modeling Language. Modeling Languages, Concepts, and Tools. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  21. 21.
    Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 280–294. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  22. 22.
    Klint, P., Lämmel, R., Verhoef, C.: Toward an engineering discipline for grammarware. ACM Transactions on Software Engineering and Methodology (TOSEM) 14, 331–380 (2005)CrossRefGoogle Scholar
  23. 23.
    Lämmel, R., Verhoef, C.: Semi-automatic grammar recovery. Softw. Pract. Exper. 31, 1395–1438 (2001)MATHCrossRefGoogle Scholar
  24. 24.
    Lämmel, R.: Towards generic refactoring. In: RULE ’02: Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming, pp. 15–28. ACM Press, New York (2002)CrossRefGoogle Scholar
  25. 25.
    Heering, J., Lämmel, R.: Generic software transformations (extended abstract). In: Proceedings of the Software Transformation Systems Workshop (2004)Google Scholar
  26. 26.
    Lämmel, R., Lohmann, W.: Format evolution. In: Kouloumdjian, J., Mayr, H.C., Erkollar, A. (eds.) RETIS ’01: 7th International Conference on Re-Technologies for Information Systems, Proceedings. vol. 155 of books@ocg.at. OCG, 2001, pp. 113–134 (2001)Google Scholar
  27. 27.
    Lohmann, W., Riedewald, G.: Towards automatical migration of transformation rules after grammar extension. In: CSMR ’03: 7th European Conference on Software Maintenance and Reengineering, Benevento, Italy, Proceedings, pp. 30–39. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  28. 28.
    Deng, G., Lenz, G., Schmidt, D.C.: Addressing domain evolution challenges in software product lines. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 247–261. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  29. 29.
    Hößler, J., Soden, M., Eichler, H.: Coevolution of models, metamodels and transformations. In: Bab, S., Gulden, J., Noll, T., Wieczorek, T. (eds.) Models and Human Reasoning, pp. 129–154. Wissenschaft und Technik Verlag, Berlin (2005)Google Scholar
  30. 30.
    Hearnden, D.: Software evolution with the model driven architecture (PhD Confirmation report)Google Scholar
  31. 31.
    Gruschko, B.: Towards structured revisions of metamodels and semi-automatic model migration. In: Position Paper for the Eclipse Modeling Symposium (2006)Google Scholar
  32. 32.
    France, R., Ghosh, S., Song, E., Kim, D.K.: A metamodeling approach to pattern-based model refactoring. IEEE Software 20, 52–58 (2003)CrossRefGoogle Scholar
  33. 33.
    Budinsky, F., Merks, E., Steinberg, D.: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, London, UK (2006)Google Scholar
  34. 34.
    Fleurey, F., Drey, Z., Vojtisek, D., Faucher, C.: Kermeta language (2006)Google Scholar
  35. 35.
    Jouault, F., Bézivin, J.: KM3: A DSL for metamodel specification. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 171–185. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  36. 36.
    Staikopoulos, A., Bordbar, B.: Bridging technical spaces with a metamodel refinement approach. A BPEL to PN case study. Electronical Notes in Theoretical Computer Science (2006)Google Scholar
  37. 37.
    Lorenz, M., Kidd, J. (eds.): Object-oriented software metrics: a practical guide. Object-Oriented Series. Prentice-Hall, Upper Saddle River, NJ, USA (1994)Google Scholar
  38. 38.
    Henderson-Sellers, B.: Object-Oriented Metrics: Measures of Complexity. Object-Oriented Series. Prentice-Hall, Upper Saddle River, NJ, USA (1995)Google Scholar
  39. 39.
    Lanza, M., Marinescu, R.: Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems. Springer, Heidelberg (2006)MATHGoogle Scholar
  40. 40.
    TATA Research Development and Design Centre: ModelMorf: A model transformer (available at http://www.tcs-trddc.com/ModelMorf/)
  41. 41.
    ikv: Company home page. http://www.ikv.de
  42. 42.
    Scheidgen, M.: CMOF-model semantics and language mapping for MOF 2.0 implementation. In: Machado, R.J., Fernandes, J.M., Riebisch, M., Schätz, B. (eds.) Joint Meeting of the 4th Workshop on Model-Based Development of Computer Based Systems (MBD) and 3rd International Workshop on Model-based Methodologies for Pervasive and Embedded Software (MOMPES), 13th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS), Proceedings, IEEE Computer Society, Los Alamitos (2006)Google Scholar
  43. 43.
    Sadilek, D., Theisselmann, F., Wachsmuth, G.: Challenges for model-driven development of self-organising disaster management information systems. In: Happe, J., Koziolek, H., Rohr, M., Storm, C., Warns, T. (eds.) IRTGW’06: Proceedings of the International Research Training Groups Workshop, Dagstuhl, Germany. vol. 3 of Trustworthy Software Systems. Berlin, pp. 24–26 (2006)Google Scholar
  44. 44.
    Object Management Group: MOF 2.0 Versioning Final Adopted Specification (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Guido Wachsmuth
    • 1
  1. 1.Humboldt-Universität zu Berlin, Unter den Linden 6, D-10099 BerlinGermany

Personalised recommendations