Abstract
Metamodels, defining the determinant concepts of a domain, constitute the core components in Model-Driven Engineering. Together with their depending artifacts, e.g., models and transformations, they form modeling ecosystems. To be operable, it is essential for a modeling ecosystem to be in a valid state with respect to the various interdependencies between the metamodel and its depending artifacts as well as among the depending artifacts. Consequently, in case of metamodel evolution, caused by, e.g., changing requirements, the depending artifacts have to be co-evolved accordingly to keep the system in a valid state. With respect to modeling ecosystems, special effort has to be laid to a consistent co-evolution across the different kinds of artifacts and their relationships. Although several approaches for the co-evolution of depending artifacts have been proposed, there was no special focus on an ecosystem-wide perspective of co-evolution, yet. Therefore, this paper focuses on co-evolution in modeling ecosystems by discussing the various components of a modeling ecosystem and their relationships, depicting the respective co-evolution process, proposing an evaluation framework for co-evolution, and applying this framework to current approaches. Based on this evaluation we derive lessons learned and present future research directions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Baar, T.: Correctly defined concrete syntax for visual modeling languages. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 111–125. Springer, Heidelberg (2006). https://doi.org/10.1007/11880240_9
Bézivin, J.: On the unification power of models. SoSym 4(2), 171–188 (2005)
Bosch, J.: From software product lines to software ecosystems. In: Proceedings of the 13th International Software Product Line Conference, SPLC 2009, pp. 111–119. Carnegie Mellon University, Pittsburgh, PA, USA (2009). http://dl.acm.org/citation.cfm?id=1753235.1753251
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool Publishers, Los Altos (2012)
Brosch, P., et al.: An example is worth a thousand words: composite operation modeling by-example. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 271–285. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04425-0_20
Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Proceedings of the EDOC 2008, pp. 222–231 (2008)
Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing dependent changes in coupled evolution. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 35–51. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02408-5_4
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006). https://doi.org/10.1147/sj.453.0621
Di Ruscio, D., Iovino, L., Pierantonio, A.: What is needed for managing co-evolution in MDE? In: Proceedings of the International Workshop on Model Comparison in Practice, pp. 30–38. ACM (2011)
Di Ruscio, D., Iovino, L., Pierantonio, A.: Evolutionary togetherness: how to manage coupled evolution in metamodeling ecosystems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2012. LNCS, vol. 7562, pp. 20–37. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33654-6_2
Etzlstorfer, J., Kapsammer, E., Schwinger, W.: On the evolution of modeling ecosystems: an evaluation of co-evolution approaches. In: Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD, vol. 1, pp. 90–99. SCITEPRESS (2017)
Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Garcés, K., Jouault, F., Cointe, P., Bézivin, J.: Managing model adaptation by precise detection of metamodel changes. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 34–49. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02674-4_4
Garcés, K., Vara, J.M., Jouault, F., Marcos, E.: Adapting transformations to metamodel changes via external transformation composition. SoSym 13, 1–18 (2013)
García, J., Diaz, O., Azanza, M.: Model transformation co-evolution: a semi-automatic approach. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 144–163. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-36089-3_9
Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Elsevier, Amsterdam (1992)
Gruschko, B., Kolovos, D., Paige, R.: Towards synchronizing models with evolving metamodels. In: Proceedings of the International Workshop on Model-Driven Software Evolution (2007)
Guerra, E., de Lara, J., Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Automated verification of model transformations based on visual contracts. J. Autom. Softw. Eng. 20(1), 5–46 (2012)
Hebig, R., Giese, H., Stallmann, F., Seibel, A.: On the complex nature of MDE evolution. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 436–453. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41533-3_27
Herrmannsdoerfer, M., Benz, S., Juergens, E.: COPE - automating coupled evolution of metamodels and models. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol. 5653, pp. 52–76. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03013-0_4
Herrmannsdörfer, M., Wachsmuth, G.: Coupled evolution of software metamodels and models. In: Mens, T., Serebrenik, A., Cleve, A. (eds.) Evolving Software Systems, pp. 33–63. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-45398-4_2
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)
Kappel, G., Langer, P., Retschitzegger, W., Schwinger, W., Wimmer, M.: Model transformation by-example: a survey of the first wave. In: Düsterhöft, A., Klettke, M., Schewe, K.-D. (eds.) Conceptual Modelling and Its Theoretical Foundations. LNCS, vol. 7260, pp. 197–215. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28279-9_15
Koegel, M., Herrmannsdoerfer, M., Li, Y., Helming, J., David, J.: Comparing state-and operation-based change tracking on models. In: 2010 14th IEEE International Enterprise Distributed Object Computing Conference (EDOC), pp. 163–172. IEEE (2010)
Kruse, S.: On the use of operators for the co-evolution of metamodels and transformations. In: International Workshop on Models and Evolution @ MODELS (2011)
Kusel, A., Etzlstorfer, J., Kapsammer, E., Retschitzegger, W., Schwinger, W., Schönböck, J.: Consistent co-evolution of models and transformations. In: Proceedings of Models, pp. 116–125 (2015)
Levendovszky, T., Balasubramanian, D., Narayanan, A., Karsai, G.: A novel approach to semi-automated evolution of DSML model transformation. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 23–41. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12107-4_4
Louridas, P.: Static code analysis. IEEE Softw. 23(4), 58–61 (2006)
Méndez, D., Etien, A., Muller, A., Casallas, R.: Towards transformation migration after metamodel evolution. In: Proceedings of International Workshop on Models and Evolution @ MODELS (2010)
Mens, T.: On the complexity of software systems. Computer 45(8), 79–81 (2012)
Meyers, B., Vangheluwe, H.: A framework for evolution of modelling languages. Sci. Comput. Program. 76(12), 1223–1246 (2011)
Myers, C.R.: Software systems as complex networks: structure, function, and evolvability of software collaboration graphs. Phys. Rev. E 68(4) (2003)
Object Management Group: Meta Object Facility (MOF) 2 Core Specification (2011). www.omg.org/spec/MOF/2.4.1
Paige, R., Matragkas, N., Rose, L.: Evolving models in model-driven engineering: state-of-the-art and future challenges. J. Syst. Softw. 111, 272–280 (2016). http://www.sciencedirect.com/science/article/pii/S0164121215001909
Rose, L., Kolovos, D., Paige, R., Polack, F.: Model migration with epsilon flock. In: Proceedings of ICMT, pp. 184–198 (2010)
Rose, L., Etien, A., Méndez, D., Kolovos, D., Paige, R., Polack, F.: Comparing model-metamodel and transformation-metamodel co-evolution. In: Proceedings of Models and Evolution Workshop (2010)
Schmidt, D.: Guest editor’s introduction: model-driven engineering. Computer 39(2), 25–31 (2006)
Schönböck, J., Kusel, A., Etzlstorfer, J., Kapsammer, E., Schwinger, W., Wimmer, M., Wischenbart, M.: CARE - a constraint-based approach for re-establishing conformance-relationships. In: Proceedings of APCCM (2014)
Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2009)
Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73589-2_28
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Etzlstorfer, J., Kapsammer, E., Schwinger, W., Schönböck, J. (2018). Surveying Co-evolution in Modeling Ecosystems. In: Pires, L., Hammoudi, S., Selic, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2017. Communications in Computer and Information Science, vol 880. Springer, Cham. https://doi.org/10.1007/978-3-319-94764-8_15
Download citation
DOI: https://doi.org/10.1007/978-3-319-94764-8_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94763-1
Online ISBN: 978-3-319-94764-8
eBook Packages: Computer ScienceComputer Science (R0)