An approach to refactoring of executable UML models

Design erosion is one of the unavoidable effects of software evolution. This destructive phenomenon occurs also in the context of executable UML models, which are primary artefacts in Agile MDA software development methodology. Model refactorings are model transformations that can be applied with the aim of counteracting design erosion of UML models. In this paper, we present a systematic approach to specification of both executable UML model refactorings as well as associated bad smells in models. The application of this method is illustrated on an exemplary refactoring and a related bad smell. Moreover, we show how this transformation and detection of the bad smell can be implemented in Telelogic TAU, a state-of-the art UML CASE tool.

[1]  Tom Mens,et al.  Towards Automating Source-Consistent UML Refactorings , 2003, UML.

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

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

[4]  Bran Selic On the Semantic Foundations of Standard UML 2.0 , 2004, SFM.

[5]  Takashi Kobayashi,et al.  Formalizing Refactoring by Using Graph Transformation , 2004, IEICE Trans. Inf. Syst..

[6]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

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

[8]  Cris Kobryn,et al.  UML 3.0 and the future of modeling , 2004, Software & Systems Modeling.

[9]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

[10]  Jean-Marc Jézéquel,et al.  Using UML Action Semantics for model execution and transformation , 2002, Inf. Syst..

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

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

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

[14]  Conrad Bock,et al.  UML without Pictures , 2003, IEEE Softw..

[15]  William C. Wake,et al.  Refactoring Workbook , 2003 .

[16]  Takeo Imai,et al.  A quantitative evaluation of maintainability enhancement by refactoring , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[17]  Jan Bosch,et al.  Design Erosion: Problems & Causes , 2001 .

[18]  KobrynCris UML 3.0 and the future of modeling , 2004 .

[19]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

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

[21]  Robert B. France,et al.  Multi-view software evolution: a UML-based framework for evolving object-oriented software , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[22]  Jean-Marc Jézéquel,et al.  OCL as a Core UML Transformation Language WITUML 2002 – Position Paper , 2002 .

[23]  Jan Bosch,et al.  Design erosion: problems and causes , 2002, J. Syst. Softw..