Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Role model based framework design and integration
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
Feature-based survey of model transformation approaches
IBM Systems Journal - Model-driven software development
EMF: Eclipse Modeling Framework 2.0
EMF: Eclipse Modeling Framework 2.0
Ontology Matching
The jastadd extensible java compiler
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Development of a Modelica Compiler Using JastAdd
Electronic Notes in Theoretical Computer Science (ENTCS)
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Specifying Domain-Specific Refactorings for AndroMDA Based on Graph Transformation
Applications of Graph Transformations with Industrial Relevance
Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit
Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit
Different models for model matching: An analysis of approaches to support model differencing
CVSM '09 Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models
Derivation and Refinement of Textual Syntax for Models
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
The operation recorder: specifying model refactorings by-example
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
An Example Is Worth a Thousand Words: Composite Operation Modeling By-Example
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Model Transformation by Demonstration
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A comparison of model migration tools
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
Role-based generic model refactoring
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Reference attribute grammars for metamodel semantics
SLE'10 Proceedings of the Third international conference on Software language engineering
COPE: a workbench for the coupled evolution of metamodels and models
SLE'10 Proceedings of the Third international conference on Software language engineering
Integrating OCL and textual modelling languages
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
Graphical definition of in-place transformations in the eclipse modeling framework
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
On understanding laws, evolution, and conservation in the large-program life cycle
Journal of Systems and Software
Metamodel adaptation and model co-adaptation
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
DropsBox: the Dresden Open Software Toolbox
Software and Systems Modeling (SoSyM)
Quality-Aware Refactoring for Early Detection and Resolution of Energy Deficiencies
UCC '13 Proceedings of the 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing
Hi-index | 0.00 |
Refactorings can be used to improve the structure of software artefacts while preserving the semantics of the encapsulated information. Various types of refactorings have been proposed and implemented for programming languages (e.g., Java or C#). With the advent of (MDSD), a wealth of modelling languages rises and the need for restructuring models similar to programs has emerged. Since parts of these modelling languages are often very similar, we consider it beneficial to reuse the core transformation steps of refactorings across languages. In this sense, reusing the abstract transformation steps and the abstract participating elements suggests itself. Previous work in this field indicates that refactorings can be specified generically to foster their reuse. However, existing approaches can handle certain types of modelling languages only and solely reuse refactorings once per language. In this paper, a novel approach based on role models to specify generic refactorings is presented. Role models are suitable for this problem since they support declaration of roles which have to be played in a certain context. Assigned to generic refactoring, contexts are different refactorings and roles are the participating elements. We discuss how this resolves the limitations of previous works, as well as how specific refactorings can be defined as extensions to generic ones. The approach was implemented in our tool Refactory based on the (EMF) and evaluated using multiple modelling languages and refactorings. In addition, this paper investigates on the recommendation of refactoring specifications. This is motivated by the fact that language designers have many possibilities to enable refactorings in their modelling languages with regard to the language structures. To overcome this problem and to support language designers in deciding which refactorings to enable, we propose a solution and a prototypical implementation.