Language Evolution in Practice: The History of GMF

In consequence of changing requirements and technological progress, software languages are subject to change. The changes affect the language’s specification, which in turn affects language processors as well as existing language utterances. Unfortunately, little is known about how software languages evolve in practice. This paper presents a case study on the evolution of four modeling languages provided by the Graphical Modeling Framework. It investigates the following research questions: (1) What is the impact of language changes on related software artifacts?, (2) What activities are performed to implement language changes? and (3) What kinds of adaptations capture the language changes? We found out that the language changes affect various kinds of related artifacts; the distribution of the activities performed to evolve the languages mirrors the classical software maintenance activities, and most language changes can be captured by a small suite of operators that can also be used to migrate the language utterances.

[1]  B. Gruschko Towards Synchronizing Models with Evolving Metamodels , 2007 .

[2]  Jean-Marie Favre Languages evolve too! Changing the software time scale , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[3]  Ralf Lämmel,et al.  Semi‐automatic grammar recovery , 2001, Softw. Pract. Exp..

[4]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[5]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[6]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[7]  Xue Li A survey of schema evolution in object-oriented databases , 1999, Proceedings Technology of Object-Oriented Languages and Systems (Cat. No.PR00393).

[8]  Jeffrey G. Gray,et al.  Fundamental Limitations in Domain-Specific Modeling Language Evolution , 2010 .

[9]  Wolfgang Lohmann Format Evolution , 2001 .

[10]  Fabrizio Ferrandina,et al.  Schema and Database Evolution in the O2 Object Database System , 1995, VLDB.

[11]  Ralph E. Johnson,et al.  How do APIs evolve? A story of refactoring , 2006, J. Softw. Maintenance Res. Pract..

[12]  Ralf Lämmel,et al.  An Introduction to Grammar Convergence , 2009, IFM.

[13]  Gabor Karsai,et al.  Metamodel driven model migration , 2003 .

[14]  Jean Bézivin,et al.  Guest Editorial to the Special Issue on Language Engineering for Model-Driven Software Development , 2006, Software & Systems Modeling.

[15]  Guido Wachsmuth,et al.  Metamodel Adaptation and Model Co-adaptation , 2007, ECOOP.

[16]  Gabor Karsai,et al.  A domain-specific visual language for domain model evolution , 2004, J. Vis. Lang. Comput..

[17]  Markus Herrmannsdoerfer Operation-based versioning of metamodels with COPE , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[18]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[19]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[20]  Ralf Lämmel,et al.  Grammar Adaptation , 2001, FME.

[21]  Steffen Becker,et al.  A Process Model and Classification Scheme for Semi-Automatic Meta-Model Evolution , 2007 .

[22]  Elmar Jürgens,et al.  COPE - Automating Coupled Evolution of Metamodels and Models , 2009, ECOOP.

[23]  Jean-Marie Favre,et al.  Meta-Model and Model Co-evolution within the 3D Software Space , 2003 .

[24]  José Nuno Oliveira,et al.  FME 2001: Formal Methods for Increasing Software Productivity , 2001, Lecture Notes in Computer Science.

[25]  Elke A. Rundensteiner,et al.  SERF: schema evolution through an extensible, re-usable and flexible framework , 1998, CIKM '98.

[26]  Jean Bézivin,et al.  Technological Spaces: An Initial Appraisal , 2002 .

[27]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[28]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[29]  Ralf Lämmel,et al.  Recovering Grammar Relationships for the Java Language Specification , 2009, 2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation.

[30]  Elmar Jürgens,et al.  Automatability of Coupled Evolution of Metamodels and Models in Practice , 2008, MoDELS.

[31]  Bertrand Meyer Schema Evolution: Concepts, Terminology, and Solutions , 1996, Computer.

[32]  Erhard Rahm,et al.  An online bibliography on schema evolution , 2006, SGMD.

[33]  Sophia Drossopoulou ECOOP 2009 - Object-Oriented Programming, 23rd European Conference, Genoa, Italy, July 6-10, 2009. Proceedings , 2009, ECOOP.

[34]  Grigoris Antoniou,et al.  Ontology change: classification and survey , 2008, The Knowledge Engineering Review.