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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
OMG. Model Driven Architecture (MDA), document number ormsc/2001-07-01 – (July 2001)
OMG. MOF 2.0 query/views/transformations RFP. OMG Document ad/02/04/10
Griwswold, W.G.: Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington (August 1991)
Opdyke, W.F.: Refactoring: A Program Restructuring Aid in Designing Object-Oriented Application Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)
Roberts, D.B.: Practical Analysis for Refactoring. PhD thesis, University of Illnois at Urbana-Champaign (1999)
Beck, K.: Extreme Programming explained. Addison-Wesley, Reading (2000)
OMG. UML 2.0 OCL Specification (October 2003)
Sendall, S.: Specifying Reactive System Behavior. PhD thesis, Swiss Federal Institute of Technology in Lausanne, School of Computer and Communication Sciences (2002)
D’Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)
Lieberherr, K., Holland, I.: Formulations and Benefits of the Law of Demeter. SIGPLAN Notices 24(3), 67–78 (1989)
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)
OMG. Unified Modeling Language (UML), version 1.5 (March 2003)
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)
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)
Fowler, M.: Refactoring - Improving the Design of Existing Code. Addison-Wesley, Reading (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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