Refactoring OCL Annotated UML Class Diagrams
Refactoring of UML class diagrams is an emerging research topic and heavily inspired by refactoring of program code written in object-oriented implementation languages. Current class diagram refactoring techniques concentrate on the diagrammatic part but neglect OCL constraints that might become syntactically incorrect by changing the underlying class diagram. This paper formalizes the most important refactoring rules for class diagrams and classifies them with respect to their impact on annotated OCL constraints. For refactoring rules, whose application on class diagrams could make attached OCL constraints incorrect, we formally describe how the OCL constraints have to be refactored to preserve their syntactical correctness. Our refactoring rules are defined in the graph-grammar based formalism proposed by the QVT Merge Group for the specification of model transformations.
Unable to display preview. Download preview PDF.
- 1.Kruchten, P.: The Rational Unified Process: An Introduction. Addison-Wesley, Reading (2004)Google Scholar
- 2.Beck, K.: Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading (2000)Google Scholar
- 4.Refactoring community: Refactoring homepage (2005), http://www.refactoring.com
- 5.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
- 6.Fowler, M.: Refactoring: Improving the Design of Existing Programs. Addison-Wesley, Reading (1999)Google Scholar
- 8.Astels, D.: Refactoring with UML. In: International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 67–70 (2002)Google Scholar
- 10.Boger, M., Sturm, T., Fragemann, P.: Refactoring browser for UML. In: International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 77–81 (2002)Google Scholar
- 12.Correa, A., Werner, C.: Applying refactoring techniques to UML/OCL. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 173–187. Springer, Heidelberg (2004)Google Scholar
- 14.OMG: Revised submission for MOF 2.0, Query/Views/Transformations, version 1.8. OMG Document ad/04-10-11 (2004) Google Scholar
- 16.OMG: UML 2.0 OCL Specification – OMG Final Adopted Specification. OMG Document ptc/03-10-14 (2003) Google Scholar
- 17.OMG: UML 1.5 Specification. OMG Document formal/03-03-01 (2003) Google Scholar
- 18.Eclipse community: Eclipse homepage (2005), http://www.eclipse.org