Model refactorings through rule-based inconsistency resolution

The goal of model-driven engineering is to raise the level of abstraction by shifting the focus to models. As a result, complex software development activities move to the modelling level as well. One such activity is model refactoring, a technique for restructuring the models in order to improve some quality attributes of the models. As a first contribution of this paper, we argue and show that refactoring a model is enabled by inconsistency detection and resolution. Inconsistencies in or between models occur since models typically describe a software system from different viewpoints and on different levels of abstraction. A second contribution of this paper is rule-based inconsistency resolution, which enables reuse of different inconsistency resolutions across model refactorings and manages the flow of inconsistency resolution steps automatically.

[1]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[2]  Reiko Heckel,et al.  Consistency-Preserving Model Evolution through Transformations , 2002, UML.

[3]  Steve Easterbrook,et al.  Handling conflict between domain descriptions with computer-supported negotiation , 1991 .

[4]  Jean-Marc Jézéquel,et al.  Refactoring UML Models , 2001, UML.

[5]  Ivan Porres,et al.  Model Refactorings as Rule-Based Update Transformations , 2003, UML.

[6]  Tom Mens,et al.  Formalising Behaviour Preserving Program Transformations , 2002, ICGT.

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

[8]  Thorsten Sturm,et al.  Refactoring Browser for UML , 2002, NetObjectDays.

[9]  Dov M. Gabbay,et al.  Inconsistency Handling in Multperspective Specifications , 1994, IEEE Trans. Software Eng..

[10]  Andrea Zisman,et al.  Inconsistency Management in Software Engineering: Survey and Open Research Issues , 2000 .

[11]  Dov M. Gabbay,et al.  Inconsistency Handling in Multi-Perspective Specifications , 1993, ESEC.

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

[13]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[14]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[15]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[16]  George Spanoudakis,et al.  Reconciling requirements: a method for managing interference, inconsistency and conflict , 1997, Ann. Softw. Eng..

[17]  Volker Haarslev,et al.  RACER System Description , 2001, IJCAR.

[18]  Bashar Nuseibeh,et al.  Leveraging Inconsistency in Software Development , 2000, Computer.

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

[20]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[21]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

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

[23]  Ragnhild Van Der Straeten Inconsistency Management in Model-driven Engineering , 2005 .