Skip to main content
Log in

Epsilon Flock: a model migration language

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. In [37], the term metamodel-matching is used, but we now prefer the term inference.

  2. http://www.eclipsecon.org/2006/Sub.do?id=171

  3. In Listing 3, some of the concrete syntax has been changed in the interest of clarity.

  4. Forum discussion with Tom Morris, lead developer of the ArgoUML tool,http://www.planet-research20.org/ttc2010/index.php?option=com_community&view=groups&task=viewdiscussion&groupid=4&topicid=20&Itemid=150 (registration required).

  5. Note that in and to are reserved words in Flock, and hence backticks are used to refer to the metamodel features in and to on lines 7, 8 and 16 of Listing 7.

  6. http://planet-mde.org/ttc2010/

  7. http://www.eclipse.org/gmt/epsilon

References

  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)

  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)

  3. Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)

    Article  Google Scholar 

  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)

  5. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)

    Article  Google Scholar 

  6. Edelweiss, N., Moreira, A.: Temporal and versioning model for schema evolution in object-oriented databases. Data Knowl. Eng. 53(2), 99–128 (2005)

    Article  Google Scholar 

  7. Etien, A., Salinesi, C.: Managing requirements in a co-evolution. Context 10(3), 125–134 (2005)

    Google Scholar 

  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)

  9. Gronback, R.: Introduction to the Eclipse Graphical Modeling Framework. EclipseCon, Santa Clara (2006)

    Google Scholar 

  10. Gronback, R.: Eclipse modeling project: a domain-specific language (DSL) toolkit. Addison-Wesley Professional, Boston (2009)

    Google Scholar 

  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)

  12. Halstead, M.: Elements of software science. Elsevier Science Inc., New York (1977)

    MATH  Google Scholar 

  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)

  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)

  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)

  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)

  17. Köenig, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in action. Manning Publications, New York (2007)

    Google Scholar 

  18. Kolovos, D.: An extensible platform for specification of integrated languages for model management. PhD thesis, University of York, United Kingdom (2009)

  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)

  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)

  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. 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)

  23. Lerner, B.: A model for compound type changes encountered in schema evolution. ACM Trans. Database Syst. 25(1), 83–127 (2000)

    Article  Google Scholar 

  24. Mens, T., Demeyer, S.: Software evolution. Springer, Berlin (2007)

    Google Scholar 

  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)

  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)

  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. 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. 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. OMG. Unified modelling language 2.2 specification (online). Available at: http://www.omg.org/spec/UML/2.2/, (2007) Accessed 02 Nov 2010

  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. Paige, R., Brooke, P., Ostroff, J.: Metamodel-based model conformance and multiview consistency checking. ACM Trans. Softw. Eng. Methodol. 16(3), 1–48 (2007)

    Article  Google Scholar 

  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)

  34. Rose, L.: Structures and processes for managing model-metamodel co-evolution. PhD thesis, University of York, United Kingdom (2011)

  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)

  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)

  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)

  38. Sjøberg, D.: Quantifying schema evolution. Inf. Softw. Technol. 35(1), 35–44 (1993)

    Article  Google Scholar 

  39. Sprinkle, J.: Metamodel driven model migration. PhD thesis, Vanderbilt University, TN, USA (2003)

  40. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse modeling framework. Addison-Wesley Professional, Boston (2008)

    Google Scholar 

  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)

  42. Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. 141(3), 53–71 (2005)

    Article  Google Scholar 

Download references

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).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Louis M. Rose.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rose, L.M., Kolovos, D.S., Paige, R.F. et al. Epsilon Flock: a model migration language. Softw Syst Model 13, 735–755 (2014). https://doi.org/10.1007/s10270-012-0296-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0296-2

Keywords

Navigation