Advertisement

Software & Systems Modeling

, Volume 13, Issue 2, pp 735–755 | Cite as

Epsilon Flock: a model migration language

  • Louis M. RoseEmail author
  • Dimitrios S. Kolovos
  • Richard F. Paige
  • Fiona A. C. Polack
  • Simon Poulding
Theme Section Paper

Abstract

Model-driven engineering introduces additional challenges for controlling and managing software evolution. Today, tools exist for generating model editors and for managing models with transformation, validation, merging and weaving. There is limited support, however, for model migration—a development activity in which instance models are updated in response to metamodel evolution. In this paper, we propose conservative copy—a style of model transformation that we believe is well-suited to model migration—and Epsilon Flock—a compact model-to-model transformation language tailored for model migration. The proposed structures are evaluated by comparing the conciseness of model migration strategies written in different styles of transformation language, using several examples of evolution taken from UML and the graphical modelling framework.

Keywords

Model migration Metamodel evolution Model transformation 

Notes

Acknowledgments

The work in this article was supported by the European Commission via the INESS project, co-funded under the 7th Framework programme (grant #218575).

References

  1. 1.
    Balasubramanian, D., Levendovszky, T., Narayanan, A., Karsai, G.: Continuous migration support for domain-specific languages. In: Proceedings of the 9th OOPSLA workshop on domain-specific modeling, Orlando (2009)Google Scholar
  2. 2.
    Banerjee, J., Kim, W., Kim, H., Korth, H.: Semantics and implementation of schema evolution in object-oriented databases. In: Dayal, U., Traiger, I. (eds.) Proceedings of the special interest group on management of data (SIGMOD) conference, pp. 311–322. ACM Press (1987)Google Scholar
  3. 3.
    Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)CrossRefGoogle Scholar
  4. 4.
    Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Proceedings of the international IEEE enterprise distributed object computing conference (EDOC), pp. 222–231. IEEE Computer Society (2008)Google Scholar
  5. 5.
    Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)CrossRefGoogle Scholar
  6. 6.
    Edelweiss, N., Moreira, A.: Temporal and versioning model for schema evolution in object-oriented databases. Data Knowl. Eng. 53(2), 99–128 (2005)CrossRefGoogle Scholar
  7. 7.
    Etien, A., Salinesi, C.: Managing requirements in a co-evolution. Context 10(3), 125–134 (2005)Google Scholar
  8. 8.
    Garcés, K., Jouault, F., Cointe, P., Bézivin, J.: Managing model adaptation by precise detection of metamodel changes. In: Paige, R., Hartman, A., Rensink, A. (eds.) Proceedings of the European conference on model driven architecture—foundations and applications (ECMDA-FA), vol. 5562 of lecture notes in computer science, pp. 34–49. Springer, Berlin (2009)Google Scholar
  9. 9.
    Gronback, R.: Introduction to the Eclipse Graphical Modeling Framework. EclipseCon, Santa Clara (2006)Google Scholar
  10. 10.
    Gronback, R.: Eclipse modeling project: a domain-specific language (DSL) toolkit. Addison-Wesley Professional, Boston (2009)Google Scholar
  11. 11.
    Gruschko, B,. Kolovos, D., Paige, R.: Towards synchronizing models with evolving metamodels. In: Proceedings of the workshop on model-driven software evolution, co-located with the European conference on software maintenance and reengineering (CSMR) (2007)Google Scholar
  12. 12.
    Halstead, M.: Elements of software science. Elsevier Science Inc., New York (1977)zbMATHGoogle Scholar
  13. 13.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: Automatability of coupled evolution of metamodels and models in practice. In: Czarnecki, K., Ober, I., Bruel, J., Uhl, A., Völter, M. (eds.) Proceedings of the international conference on model driven engineering languages and systems (MoDELS), vol. 5301 of lecture notes in computer science, pp. 645–659. Springer, Berlin (2008)Google Scholar
  14. 14.
    Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE—automating coupled evolution of metamodels and models. In: Drossopoulou, S. (ed.) Proceedings of the European conference on object-oriented programming (ECOOP), vol. 5653 of lecture notes in computer science, pp. 52–76. Springer, Berlin (2009)Google Scholar
  15. 15.
    Herrmannsdoerfer, M., Ratiu, D., Wachsmuth, G.: Language evolution in practice. In: van den Brand, M., Gasevic, D., Gray, J. (ed.) Proceedings of the International conference on software language engineering (SLE), revised selected papers, vol. 5696 of lecture notes in computer science, pp. 3–22. Springer, Berlin (2009)Google Scholar
  16. 16.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) Proceedings of the satellite events at the international conference on model driven engineering languages and systems (MoDELS), international workshops, doctoral symposium, educators symposium, revised selected papers, vol. 3844 of lecture notes in computer science, pp. 128–138. Springer, Berlin (2005)Google Scholar
  17. 17.
    Köenig, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in action. Manning Publications, New York (2007)Google Scholar
  18. 18.
    Kolovos, D.: An extensible platform for specification of integrated languages for model management. PhD thesis, University of York, United Kingdom (2009)Google Scholar
  19. 19.
    Kolovos, D., Paige, R., Polack, F.: The Epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) Proceedings of the European conference on model-driven architecture—foundations and applications (ECMDA-FA), vol. 4066 of lecture notes in computer science, pp. 128–142. Springer, Berlin (2006)Google Scholar
  20. 20.
    Kolovos, D., Paige, R., Polack, F.: The Epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) Proceedings of the international conference on the theory and practice of model transformations (ICMT), vol. 5063 of lecture notes in computer science, pp. 46–60. Springer, Berlin (2008)Google Scholar
  21. 21.
    Kolovos, D., Rose, L., Paige, R.: The Epsilon book (online). Available at: http://www.eclipse.org/epsilon/doc/book (2011). (Accessed 09 March 2012)
  22. 22.
    Lämmel, R.: Grammar adaptation. In: Oliveira, J., Zave, P. (eds.) Proceedings of the formal methods for increasing software productivity (FME), international symposium of formal methods Europe, vol. 2021 of lecture notes in computer science, pp. 550–570. Springer, Berlin (2001)Google Scholar
  23. 23.
    Lerner, B.: A model for compound type changes encountered in schema evolution. ACM Trans. Database Syst. 25(1), 83–127 (2000)CrossRefGoogle Scholar
  24. 24.
    Mens, T., Demeyer, S.: Software evolution. Springer, Berlin (2007)Google Scholar
  25. 25.
    Narayanan, A., Levendovszky, T., Balasubramanian, D., Karsai, G.: Automatic domain model migration to manage metamodel evolution. In: Schürr, A., Selic, B. (eds.) Proceedings of the international conference on model driven engineering languages and systems (MoDELS), pp. 706–711 (2009) Google Scholar
  26. 26.
    Oldevik, J., Neple, T., Grønmo, R., Aagedal, J., Berre, A.: Toward standardised model to text transformations. In: Hartman, A., Kreische, D. (eds) Proceedings of the European conference on model-driven architecture—foundations and applications (ECMDA-FA), vol. 3748 of lecture notes in computer science, pp. 239–253. Springer, Berlin (2005)Google Scholar
  27. 27.
    OMG.: Unified modelling language 1.4 specification (online). Available at: http://www.omg.org/spec/UML/1.4/, (2001). Accessed 02 Nov 2010
  28. 28.
    OMG.: MOF QVT final adopted specinücation (online). Available at: www.omg.org/docs/ptc/05-11-01.pdf, (2005) Accessed 22 July 2009
  29. 29.
    OMG.: Unified modelling language 2.1.2 specification (online). Available at: http://www.omg.org/spec/UML/2.1.2/, (2007) Accessed 02 Nov 2010
  30. 30.
    OMG. Unified modelling language 2.2 specification (online). Available at: http://www.omg.org/spec/UML/2.2/, (2007) Accessed 02 Nov 2010
  31. 31.
    OMG.: XML metadata interchange 2.1.1 specification (online). Available at: http://www.omg.org/technology/documents/formal/xmi.htm, (2007) Accessed 02 Nov 2010
  32. 32.
    Paige, R., Brooke, P., Ostroff, J.: Metamodel-based model conformance and multiview consistency checking. ACM Trans. Softw. Eng. Methodol. 16(3), 1–48 (2007)CrossRefGoogle Scholar
  33. 33.
    Pizka, M., Jürgens, E.: Automating language evolution. In: Proceedings of the joint IEEE/IFIP symposium on theoretical aspects of software engineering (TASE), pp. 305–315. IEEE Computer Society (2007)Google Scholar
  34. 34.
    Rose, L.: Structures and processes for managing model-metamodel co-evolution. PhD thesis, University of York, United Kingdom (2011)Google Scholar
  35. 35.
    Rose, L., Herrmannsdoerfer, M., Williams, J., Kolovos, D., Garcés, K., Paige, R., Polack, F.: A comparison of model migration tools. In: Petriu, D., Rouquette, N., Haugen, Ø. (eds.) Proceedings of the international conference on model driven engineering languages and systems (MoDELS), Part I, vol. 6394 of lecture notes in computer science, pp. 61–75. Springer, Berlin (2010)Google Scholar
  36. 36.
    Rose, L., Kolovos, D., Paige, R., Polack, F.: Model migration with Epsilon Flock. In: Tratt, L., Gogolla, M. (eds.) Proceedings of the international conference on the theory and practice of model transformations (ICMT), vol. 6142 of lecture notes in computer science, pp. 184–198. Springer, Berlin (2010)Google Scholar
  37. 37.
    Rose, L,. Paige, R., Kolovos, D., Polack, F.: An analysis of approaches to model migration. In: Proceedings of the joint model-driven software evolution and model co-evolution and consistency management (MoDSE-MCCM) workshop, co-located with the international conference on model-driven engineering languages and systems (MoDELS) (2009)Google Scholar
  38. 38.
    Sjøberg, D.: Quantifying schema evolution. Inf. Softw. Technol. 35(1), 35–44 (1993)CrossRefGoogle Scholar
  39. 39.
    Sprinkle, J.: Metamodel driven model migration. PhD thesis, Vanderbilt University, TN, USA (2003)Google Scholar
  40. 40.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse modeling framework. Addison-Wesley Professional, Boston (2008)Google Scholar
  41. 41.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) Proceedings of the European conference on object-oriented programming (ECOOP), vol. 4609 of lecture notes in computer science, pp. 600–624. Springer, Berlin (2007)Google Scholar
  42. 42.
    Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. 141(3), 53–71 (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Louis M. Rose
    • 1
    Email author
  • Dimitrios S. Kolovos
    • 1
  • Richard F. Paige
    • 1
  • Fiona A. C. Polack
    • 1
  • Simon Poulding
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations