Abstract
Refactoring is a powerful technique to improve the quality of software models including implementation code. The software developer applies successively so-called refactoring rules on the current software model and transforms it into a new model. Ideally, the application of a refactoring rule preserves the semantics of the model, on which it is applied. In this paper, we present a simple criterion and a proof technique for the semantic preservation of refactoring rules that are defined for UML class diagrams and OCL constraints. Our approach is based on a novel formalization of the OCL semantics in form of graph transformation rules. We illustrate our approach using the refactoring rule MoveAttribute.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Astels, D.: Refactoring with UML. In: International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 67–70 (2002)
Jézéquel, J.-M., et al.: Refactoring UML Models. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 134–148. Springer, Heidelberg (2001)
Marković, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 280–294. Springer, Heidelberg (2005)
Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Software Eng. 30(2), 126–139 (2004)
OMG: UML 2.0 OCL Specification – OMG Final Adopted Specification. OMG Document ptc/03-10-14 (Oct. 2003)
Opdyke, W.F.: Refactoring: A Program Restructuring Aid in Designing Object-Oriented Application Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)
Mens, T., et al.: Formalizing refactorings with graph transformations. Journal of Software Maintenance and Evolution 17(4), 247–276 (2005)
Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide, 2nd edn. Addison-Wesley, Reading (2005)
Marković, S., Baar, T.: An OCL semantics specified with QVT. In: Nierstrasz, O., et al. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 660–674. Springer, Heidelberg (2006)
Correa, A., Werner, C.: Applying refactoringtechniques to UML/OCL. In: Baar, T., et al. (eds.) UML 2004. LNCS, vol. 3273, pp. 173–187. Springer, Heidelberg (2004)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Baar, T., Marković, S. (2007). A Graphical Approach to Prove the Semantic Preservation of UML/OCL Refactoring Rules. In: Virbitskaite, I., Voronkov, A. (eds) Perspectives of Systems Informatics. PSI 2006. Lecture Notes in Computer Science, vol 4378. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70881-0_9
Download citation
DOI: https://doi.org/10.1007/978-3-540-70881-0_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70880-3
Online ISBN: 978-3-540-70881-0
eBook Packages: Computer ScienceComputer Science (R0)