Software reusability: vol. 1, concepts and models
Software reusability: vol. 1, concepts and models
How reuse influences productivity in object-oriented systems
Communications of the ACM
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Classification and comparison of module concepts for graph transformation systems
Handbook of graph grammars and computing by graph transformation
MultiJava: modular open classes and symmetric multiple dispatch for Java
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Aspect-oriented programming and modular reasoning
Proceedings of the 27th international conference on Software engineering
Proceedings of the ACM SIGPLAN workshop on Generic programming
Generic and reflective graph transformations for the checking and enforcement of modeling guidelines
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
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
A Taxonomy of Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
Evaluation of Kermeta for solving graph-based problems
International Journal on Software Tools for Technology Transfer (STTT)
Flexible interconnection of graph transformation modules
Formal Methods in Software and Systems Modeling
Model bus: towards the interoperability of modelling tools
MDAFA'03 Proceedings of the 2003 European conference on Model Driven Architecture: foundations and Applications
Weaving executability into object-oriented meta-languages
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Introducing variability into aspect-oriented modeling approaches
MODELS'07 Proceedings of the 10th international conference on Model Driven Engineering Languages and Systems
Generic model transformations: write once, reuse everywhere
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
A demonstration-based approach to support live transformations in a model editor
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
ECMFA'12 Proceedings of the 8th European conference on Modelling Foundations and Applications
Hi-index | 0.00 |
Model transformations written for an input metamodel may often apply to other metamodels that share similar concepts. For example, a transformation written to refactor Java models can be applicable to refactoring UML class diagrams as both languages share concepts such as classes, methods, attributes, and inheritance. Deriving motivation from this example, we present an approach to make model transformations reusable such that they function correctly across several similar metamodels. Our approach relies on these principal steps: (1) We analyze a transformation to obtain an effective subset of used concepts. We prune the input metamodel of the transformation to obtain an effective input metamodel containing the effective subset. The effective input metamodel represents the true input domain of transformation. (2) We adapt a target input metamodel by weaving it with aspects such as properties derived from the effective input metamodel. This adaptation makes the target metamodel a subtype of the effective input metamodel. The subtype property ensures that the transformation can process models conforming to the target input metamodel without any change in the transformation itself. We validate our approach by adapting well known refactoring transformations (Encapsulate Field, Move Method, and Pull Up Method) written for an in-house domain-specific modeling language (DSML) to three different industry standard metamodels (Java, MOF, and UML).