Skip to main content

Applying Refactoring Techniques to UML/OCL Models

  • Conference paper

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

Abstract

The Object Constraint Language (OCL) plays an important role in the elaboration of precise UML models. Although OCL was designed to be both formal and simple, UML/OCL models may be difficult to understand and evolve, particularly when constraints containing complex or duplicate expressions are present. Moreover, the evaluation of how changes in the definition of the underlying classes impact the OCL part of a model may be a difficult and time-consuming task. In this paper, we discuss how refactoring techniques can be applied in order to improve the understandability of a UML/OCL model and how to support its evolution. In particular, we present a collection of refactorings and discuss how they can be specified and automated. We also show how the model animation features can be used to increase our confidence that the semantics of a model is preserved when a refactoring is manually performed.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. OMG. Model Driven Architecture (MDA), document number ormsc/2001-07-01 – (July 2001)

    Google Scholar 

  2. OMG. MOF 2.0 query/views/transformations RFP. OMG Document ad/02/04/10

    Google Scholar 

  3. Griwswold, W.G.: Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington (August 1991)

    Google Scholar 

  4. Opdyke, W.F.: Refactoring: A Program Restructuring Aid in Designing Object-Oriented Application Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  5. Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illnois at Urbana-Champaign (1999)

    Google Scholar 

  6. Beck, K.: Extreme Programming explained. Addison-Wesley, Reading (2000)

    Google Scholar 

  7. OMG. UML 2.0 OCL Specification (October 2003)

    Google Scholar 

  8. Sendall, S.: Specifying Reactive System Behavior. PhD thesis, Swiss Federal Institute of Technology in Lausanne, School of Computer and Communication Sciences (2002)

    Google Scholar 

  9. D’Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)

    Google Scholar 

  10. Lieberherr, K., Holland, I.: Formulations and Benefits of the Law of Demeter. SIGPLAN Notices 24(3), 67–78 (1989)

    Article  Google Scholar 

  11. Sunye, G., Pollet, D., Traon, Y.L., Jezequel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. OMG. Unified Modeling Language (UML), version 1.5 (March 2003)

    Google Scholar 

  13. Porres, I.: Model Refactorings as Rule-Based Update Transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 159–174. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. Gorp, P.V., Stenten, H., Mens, T., Demeyer, S.: Towards Automating Source-Consistent UML Refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Fowler, M.: Refactoring - Improving the Design of Existing Code. Addison-Wesley, Reading (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Correa, A., Werner, C. (2004). Applying Refactoring Techniques to UML/OCL Models. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds) «UML» 2004 — The Unified Modeling Language. Modeling Languages and Applications. UML 2004. Lecture Notes in Computer Science, vol 3273. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30187-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30187-5_13

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-30187-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics