Information Technology Reference
In-Depth Information
7 Conclusions
In this paper, we formalized a synchronization theory from object model refac-
toring to object-oriented programs. The theory is backed by a formal infras-
tructure of primitive transformations proved to be semantics preserving, both
for object models and programs, and a specific consistency relationship. Syn-
chronizers are formalized as a sequence of primitive program transformations,
explicitly avoiding generation of programs from object models. The investiga-
tion unveils several issues concerning consistency, refactoring automation and
behavior preservation and quality, providing evidence over the challenges that
effective MDD methodologies will face in order to support evolution. Potential
improvements for refactoring tools are identified, since the semantic properties
from object models can aid refactoring automation. In our synchronizers the
invariants expressed in the object model offer semantic information to extend
its automatic refactoring capabilities.
The level of abstraction is a key aspect. First, useful model refactoring requires
that the main structures be maintained. Second, less restrictions to the source
code implementation imply in more transformations required to make the source
code conforming to the refactored model, which would lower the quality of the
outcome. Assumptions include reliance on the maturity of consistency checking
tool support in practice and a closed-world context in which we have access to
the full source code of a program.
The theory described in this paper is language specific, although the formal-
ization is amenable to adaptation to other object-oriented languages. In addition,
our approach supports only refactoring; dealing with generic evolution in MDD
is a challenge for future research. A potential solution might rely on primitive
transformations for standard evolution, and model invariants could be used to
transform programs accordingly.
Acknowledgment
We'd like to thank Augusto Sampaio, Alexandre Mota, Ana Cristina de Melo,
Marcel Oliveira, Juliano Iyoda, and all anonymous reviewers for the relevant
comments. This work was partially supported by CNPq grant 477336/2009-4,
and the National Institute of Science and Technology for Software Engineering
(INES 2 ), also funded by CNPq, grant 573964/2008-4.
References
1. Fowler, M.: Refactoring—Improving the Design of Existing Code. Addison-Wesley,
Reading (1999)
2. Opdyke, W.: Refactoring Object-Oriented Frameworks. PhD thesis, UIUC (1992)
3. Jackson, D.: Software Abstractions: Logic, Language and Analysis. MIT Press,
Cambridge (2006)
2 www.ines.org.br
 
Search WWH ::




Custom Search