Using multidimensional separation of concerns to (re)shape evolving software
Communications of the ACM
Composing crosscutting concerns using composition filters
Communications of the ACM
Static composition of refactorings
Science of Computer Programming - Special issue on program transformation
On the architectural alignment of ATL and QVT
Proceedings of the 2006 ACM symposium on Applied computing
Evaluation of rule-based modularization in model transformation languages illustrated with ATL
Proceedings of the 2006 ACM symposium on Applied computing
Feature-based survey of model transformation approaches
IBM Systems Journal - Model-driven software development
A Taxonomy of Model Transformation
Electronic Notes in Theoretical Computer Science (ENTCS)
On the Use of Higher-Order Model Transformations
ECMDA-FA '09 Proceedings of the 5th European Conference on Model Driven Architecture - Foundations and Applications
Domain-specific templates for refinement transformations
Proceedings of the First International Workshop on Model-Driven Interoperability
Unifying design and runtime software adaptation using aspect models
Science of Computer Programming
Simplifying model transformation chains by rule composition
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
Variability quality evaluation on component-based software product lines
Proceedings of the 15th International Software Product Line Conference, Volume 2
Using higher-order transformations to derive variability mechanism for embedded systems
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
Weaving-based configuration and modular transformation of multi-layer systems
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
Hi-index | 0.00 |
Model transformation languages have matured to a point where people have started experimenting with model transformation definitions themselves in addition to the language they are written in. In addition to the transformation language properties, the properties of model transformation definitions themselves become important, such as scalability, maintainability and reusability. Composition of model transformations allows for the creation of smaller, maintainable and reusable model transformation definitions that can scale up to a larger model transformation. There are two kinds of composition for model transformations. External composition deals with chaining separate model transformations together by passing models from one transformation to another. Internal composition composes two model transformation definitions into one new model transformation, which typically requires knowledge of the transformation language. This paper focuses on internal composition for two rule-based model transformation languages. One is the ATLAS Transformation Language, which serves as our implementation vehicle. The other is the QVT Relations language, which is a standard transformation language for MOF. We propose a composition technique called module superimposition. We discuss how module superimposition interacts with other composition techniques in ATL, such as helpers, called rules and rule inheritance. Together, these techniques allow for powerful composition of entire transformation modules as well as individual transformation rules. By applying superimposition to QVT Relations, we demonstrate that our composition technique is relevant outside the ATL language as well.