Model-driven Software Evolution: An Alternative Research Agenda

In the realm of software engineering, we are witnessing an increasing momentum towards the use of models as primary artefacts for developing software systems. This gave rise to a new paradigm commonly referred to as model-driven software engineering. This use of models promises to cope with the intrinsic complexity of software-intensive systems by raising the level of abstraction, and by hiding the accidental complexity of the underlying technology as much as possible. The use of models thus opens up new possibilities for creating, analysing, manipulating and formally reasoning about systems at a high level of abstraction. Evolution of models can be achieved by relying on sophisticated mechanisms of model transformation. Model transformation techniques and languages enable a wide range of different automated activities such as translation of models (expressed in different modelling languages), generating code from models, model refinement, model synthesis or model extraction, model restructuring, etc. Most of the research in model-driven engineering (MDE) focuses on the vertical dimension, such as how to generate code from models (forward engineering), how to obtain high-level abstractions from code (reverse engineering), and how to synchronise and co-evolve both levels of abstraction. The goal of this paper, is to shed an alternative view on the problem, by identifying those challenges that have to do with the horizontal dimension instead, i.e., all activities related to the process of model evolution.

[1]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[2]  Oscar Nierstrasz,et al.  Finding refactorings via change metrics , 2000, OOPSLA '00.

[3]  Tom Mens,et al.  On the Use of Graph Transformations for Model Refactoring , 2005, GTTSE.

[4]  Jeffrey G. Gray,et al.  Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine , 2005, Model-Driven Software Development.

[5]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools , 2004, SPLC.

[6]  Ragnhild Van Der Straeten,et al.  Detecting and resolving model inconsistencies using transformation dependency analysis , 2006, MoDELS'06.

[7]  Serge Demeyer,et al.  A study of quality improvements by refactoring , 2006 .

[8]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[9]  Marie-Pierre Gervais,et al.  Supporting Collaborative Development in an Open MDA Environment , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[10]  Penny Grubb,et al.  Software maintenance , 1996 .

[11]  Eelco Visser,et al.  Model-Driven Software Evolution: A Research Agenda , 2007 .

[12]  Tom Mens,et al.  Incremental Resolution of Model Inconsistencies , 2006, WADT.

[13]  Tom Mens,et al.  Analysing refactoring dependencies using graph transformation , 2007, Software & Systems Modeling.

[14]  Tom Mens,et al.  Using Description Logic to Maintain Consistency between UML Models , 2003, UML.

[15]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering III , 2009, Lecture Notes in Computer Science.

[16]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[17]  Tom Mens,et al.  Supporting Model Refactorings Through Behaviour Inheritance Consistencies , 2004, UML.

[18]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[19]  João Saraiva,et al.  Generative and Transformational Techniques in Software Engineering II , 2007, Lecture Notes in Computer Science.

[20]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[21]  Juan de Lara,et al.  Model View Management with Triple Graph Transformation Systems , 2006, ICGT.

[22]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

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

[24]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[25]  Tom Mens,et al.  A formal approach to model refactoring and model refinement , 2007, Software & Systems Modeling.

[26]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[27]  Ladan Tahvildari,et al.  A metric-based approach to enhance design quality through meta-pattern transformations , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[28]  Marie-Pierre Gervais,et al.  Model Bus: Towards the Interoperability of Modelling Tools , 2003, MDAFA.

[29]  Gregory Jevardat de Fombelle Gestion incrémentale des propriétés de cohérence structurelle dans l'ingénierie dirigée par les modèles , 2007 .

[30]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .