
A Model-driven Approach to Refactoring
Relating transformations in object models and programs
Tiago Massoni(Author)
LAP Lambert Academic Publishing
Published on 28. February 2012
Book
Paperback/Softback
232 pages
978-3-8484-0984-6 (ISBN)
Description
Refactoring object-oriented software, as any other evolutionary task, usually affects source code and object models, burdening developers to keep those artifacts correct and up to date. Due to the gap between modeling and programming artifacts, refactoring efforts soon become duplicate and considerably expensive. In this context, currently used tool support, in special Round-Trip Engineering (RTE) tools, fails to fully automate evolution tasks. Consequently, most projects discard object models early in the life cycle, adhering to code-driven approaches. This work proposes a formal approach to consistently refactor object models and object-oriented programs of a system in a model-driven manner. Model refactoring is backed by formal laws of modeling, which are guaranteed to be semantics preserving. Each refactoring, a composition of laws, applicable to an object model, is associated with a semi-automatic sequence of applications of laws of programming, called strategy. Strategies are applied by relying on a specific conformance relationship between object models and programs, which must fulfill a specific degree of confinement.
More details
Language
English
Place of publication
Germany
Product notice
Paperback (trade)
Unsewn / adhesive bound
Dimensions
Height: 220 mm
Width: 150 mm
Thickness: 15 mm
Weight
364 gr
ISBN-13
978-3-8484-0984-6 (9783848409846)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Person
Tiago Massoni is an assistant professor in Computer Science at UFCG, Brazil. He's written more than 30 scientific papers on software engineering. His research interests include software evolution, refactoring and software dependability.