Authors:
Carlos López
1
;
Raúl Marticorena
1
;
Yania Crespo
2
and
Francisco Javier Pérez
2
Affiliations:
1
Área de Lenguajes y Sistemas Informáticos, Universidad de Burgos, Spain
;
2
Departamento de Informática, Universidad de Valladolid, Spain
Keyword(s):
Refactoring, metamodel, language independence, object oriented programming, UML.
Related
Ontology
Subjects/Areas/Topics:
Applications
;
Health Engineering and Technology Applications
;
Maintenance
;
Neurocomputing
;
Neurotechnology, Electronics and Informatics
;
Operational Research
;
Pattern Recognition
;
Reverse Engineering
;
Software Engineering
Abstract:
Using metamodels to keep source code information is one of the current trends in refactoring tools. This representation makes possible to detect refactoring opportunities, and to execute refactorings on metamodel instances. This paper describes an approach to language independent reuse in metamodel based refactoring detection and execution. We use an experimental metamodel, MOON, and analyze the problems of migrating from MOON to UML 2.0 metamodel or adapting from UML 2.0 to MOON. Some code refactorings can be detected and applied on basic UML abstractions. Nevertheless, other refactorings need information related to program instructions. “Action” concept, included in UML 2.0, is a fundamental unit of behaviour specification that allows to store program instructions and to obtain certain information related to this granularity level. Therefore, we compare the complexity of UML 2.0 metamodel with MOON metamodel as a solution for developing refactoring frameworks.