Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2185))

Included in the following conference series:

Abstract

Software developers spend most of their time modifying and maintaining existing products. This is because systems, and consequently their design, are in perpetual evolution before they die. Nevertheless, dealing with this evolution is a complex task. Before evolving a system, structural modifications are often required. The goal of this kind of modification is to make certain elements more extensible, permitting the addition of new features. However, designers are seldom able to evaluate the impact, on the whole model, of a single modification. That is, they cannot precisely verify if a change modifies the behavior of the modeled system. A possible solution for this problem is to provide designers with a set of basic transformations, which can ensure behavior preservation. These transformations, also known as refactorings, can then be used, step by step, to improve the design of the system. In this paper we present a set of refactorings and explain how they can be designed so as to preserve the behavior of a UML model. Some of these refactorings are illustrated with examples.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Updated joint initial submission against the action semantics for uml rfp.

    Google Scholar 

  2. Kent Beck. Extreme Programming Explained: Embracing Change. Addison-Wesley, 1999.

    Google Scholar 

  3. Paul Bergstein. Maintainance of object-oriented systems during structural schema evolution. TAPOS, 3(3):185–212, 1997.

    Google Scholar 

  4. John Brant and Don Roberts. Refactoring techniques and tools (Plenary talk). In Smalltalk Solutions, New York, NY, 1999.

    Google Scholar 

  5. F. P. Brooks. The Mitical Man-Month: Essays on Software Engineering. Addison-Wesley, Reading, Mass, 1982.

    Google Scholar 

  6. Eduardo Casais. Managing Evolutuin in Object Oriented Environments: An Algorithmic Approach. Phd thesis, University of Geneva, 1991.

    Google Scholar 

  7. Mel Cinnéide and Paddy Nixon. A methodology for the automated introduction of design patterns. In International Conference on Software Maintenance, Oxford, 1999.

    Google Scholar 

  8. Desmond D’Souza and Alan Wills. Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley, 1998.

    Google Scholar 

  9. W. Griswold. Program restructuring as an aid to software maintenance, 1991.

    Google Scholar 

  10. Walter Hursch. Maintaining Consistency and Behavior of Object-Oriented Systems during Evolution. Phd thesis, Northeastern University, June 1995.

    Google Scholar 

  11. Anneke Kleppe, Jos Warmer, and Steve Cook. Informal formality? the Object Constraint Language and its application in the UML metamodel. In Jean Bézivin and Pierre-Alain Muller, editors, The Unified Modeling Language, UML’98-Beyond the Notation. First International Workshop, Mulhouse, France, June 1998, pages 127–136, 1998.

    Google Scholar 

  12. William F. Opdyke. Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois, Urbana-Champaign, 1992. Tech. Report UIUCDCS-R-92-1759.

    Google Scholar 

  13. Donald Roberts. Practical Analysis for Refactoring. PhD thesis, University of Illinois, 1999.

    Google Scholar 

  14. Donald Roberts, J. Brant, and Ralph Johnson. A refactoring tool for smalltalk. Theory and Practice of Object Systems, 3(4), 1997.

    Google Scholar 

  15. G. Sunyé, A. Le Guennec, and J.-M. Jézéquel. Design pattern application in UML. In E. Bertino, editor, ECOOP’2000 proceedings, number 1850, pages 44–62. Lecture Notes in Computer Science, Springer Verlag, June 2000.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sunyé, G., Pollet, D., Le Traon, Y., Jézéquel, JM. (2001). Refactoring UML Models. In: Gogolla, M., Kobryn, C. (eds) ≪UML≫ 2001 — The Unified Modeling Language. Modeling Languages, Concepts, and Tools. UML 2001. Lecture Notes in Computer Science, vol 2185. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45441-1_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-45441-1_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42667-7

  • Online ISBN: 978-3-540-45441-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics