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.
Similar content being viewed by others
Notes
In [37], the term metamodel-matching is used, but we now prefer the term inference.
In Listing 3, some of the concrete syntax has been changed in the interest of clarity.
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).
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.
References
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)
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)
Bézivin, J.: On the unification power of models. Softw. Syst. Model. 4(2), 171–188 (2005)
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)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–646 (2006)
Edelweiss, N., Moreira, A.: Temporal and versioning model for schema evolution in object-oriented databases. Data Knowl. Eng. 53(2), 99–128 (2005)
Etien, A., Salinesi, C.: Managing requirements in a co-evolution. Context 10(3), 125–134 (2005)
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)
Gronback, R.: Introduction to the Eclipse Graphical Modeling Framework. EclipseCon, Santa Clara (2006)
Gronback, R.: Eclipse modeling project: a domain-specific language (DSL) toolkit. Addison-Wesley Professional, Boston (2009)
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)
Halstead, M.: Elements of software science. Elsevier Science Inc., New York (1977)
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)
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)
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)
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)
Köenig, D., Glover, A., King, P., Laforge, G., Skeet, J.: Groovy in action. Manning Publications, New York (2007)
Kolovos, D.: An extensible platform for specification of integrated languages for model management. PhD thesis, University of York, United Kingdom (2009)
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)
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)
Kolovos, D., Rose, L., Paige, R.: The Epsilon book (online). Available at: http://www.eclipse.org/epsilon/doc/book (2011). (Accessed 09 March 2012)
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)
Lerner, B.: A model for compound type changes encountered in schema evolution. ACM Trans. Database Syst. 25(1), 83–127 (2000)
Mens, T., Demeyer, S.: Software evolution. Springer, Berlin (2007)
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)
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)
OMG.: Unified modelling language 1.4 specification (online). Available at: http://www.omg.org/spec/UML/1.4/, (2001). Accessed 02 Nov 2010
OMG.: MOF QVT final adopted specinücation (online). Available at: www.omg.org/docs/ptc/05-11-01.pdf, (2005) Accessed 22 July 2009
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
OMG. Unified modelling language 2.2 specification (online). Available at: http://www.omg.org/spec/UML/2.2/, (2007) Accessed 02 Nov 2010
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
Paige, R., Brooke, P., Ostroff, J.: Metamodel-based model conformance and multiview consistency checking. ACM Trans. Softw. Eng. Methodol. 16(3), 1–48 (2007)
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)
Rose, L.: Structures and processes for managing model-metamodel co-evolution. PhD thesis, University of York, United Kingdom (2011)
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)
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)
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)
Sjøberg, D.: Quantifying schema evolution. Inf. Softw. Technol. 35(1), 35–44 (1993)
Sprinkle, J.: Metamodel driven model migration. PhD thesis, Vanderbilt University, TN, USA (2003)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse modeling framework. Addison-Wesley Professional, Boston (2008)
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)
Wallace, M.: Modular architectural representation and analysis of fault propagation and transformation. Electron. Notes Theoret. Comput. Sci. 141(3), 53–71 (2005)
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
Corresponding author
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-012-0296-2