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.
%0 Book Section
%1 baar_07_graphical
%A Baar, Thomas
%A Markovi'c, Slavivsa
%D 2007
%J Perspectives of Systems Informatics
%K _hardcopy semantic_preservation 2007 _folder_2 ocl graph_transformation uml refactoring
%P 70--83
%R 10.1007/978-3-540-70881-0_9
%T A Graphical Approach to Prove the Semantic Preservation of UML/OCL Refactoring Rules
%U http://dx.doi.org/10.1007/978-3-540-70881-0_9
%X 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.
@incollection{baar_07_graphical,
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.},
added-at = {2009-02-11T20:47:45.000+0100},
author = {Baar, Thomas and Markovi'{c}, Slaviv{s}a},
biburl = {https://www.bibsonomy.org/bibtex/28688953f784655b8d9477f2f4fa6eb79/leonardo},
citeulike-article-id = {1590046},
doi = {10.1007/978-3-540-70881-0_9},
interhash = {6fdd7a677a9a61d4144014685d08492d},
intrahash = {8688953f784655b8d9477f2f4fa6eb79},
journal = {Perspectives of Systems Informatics},
keywords = {_hardcopy semantic_preservation 2007 _folder_2 ocl graph_transformation uml refactoring},
pages = {70--83},
posted-at = {2007-08-24 15:37:07},
priority = {4},
timestamp = {2009-02-11T20:47:45.000+0100},
title = {A Graphical Approach to Prove the Semantic Preservation of UML/OCL Refactoring Rules},
url = {http://dx.doi.org/10.1007/978-3-540-70881-0_9},
year = 2007
}