نبذة مختصرة : Increasingly more developers are applying refactorings - program transformations that can improve the design of existing source code - to make their software more easily adaptable to new requirements. Because small changes to object-oriented software (such as renaming a class) can require a lot of updates to several source files, tools that automatically update the affected files can save these developers a lot of time. Although refactorings are based on basic OO concepts (the redistribution of classes, variables and methods across the class hierarchy) only, today's development environments have hardcoded them on the abstract syntax trees of programming languages such as Java or C# and do not update middleware deployment descriptors. To facilitate the building of new refactorings and the extension of existing ones to new platforms, we suggest to implement refactorings as declarative specifications on a platform independent metamodel. This paper describes how the metamodel, the graph rewrite language and the architecture of the Fujaba UML tool can be extended to provide the required infrastructure.
No Comments.