Abstract | ||
---|---|---|
Model transformations are key elements of model-driven engineering, where they are used to automate the manipulation of models. However, they are typed with respect to concrete source and target meta-models, making their reuse for other (even similar) meta-models challenging.
To improve this situation, we propose capturing the typing requirements for reusing a transformation with other meta-models by the notion of a typing requirements model (TRM). A TRM describes the prerequisites that a model transformation imposes on the source and target meta-models to obtain a correct typing. The key observation is that any meta-model pair that satisfies the TRM is a valid reuse context for the transformation at hand.
A TRM is made of two domain requirement models (DRMs) describing the requirements for the source and target meta-models, and a compatibility model expressing dependencies between them. We define a notion of refinement between DRMs and see meta-models as a special case of DRM. We provide a catalogue of valid refinements and describe how to automatically extract a TRM from an ATL transformation. The approach is supported by our tool TOTEM. We report on two experiments—based on transformations developed by third parties and meta-model mutation techniques—validating the correctness and completeness of our TRM extraction procedure and confirming the power of TRMs to encode variability and support flexible reuse.
|
Year | DOI | Venue |
---|---|---|
2019 | 10.1145/3340108 | ACM Transactions on Software Engineering and Methodology (TOSEM) |
Keywords | Field | DocType |
ATL, Model transformation, meta-modelling, model transformation reuse, refinement | ENCODE,Model transformation,Requirements model,Compatibility (mechanics),Reuse,Computer science,Correctness,Theoretical computer science,Completeness (statistics),Special case | Journal |
Volume | Issue | ISSN |
28 | 4 | 1049-331X |
Citations | PageRank | References |
0 | 0.34 | 0 |
Authors | ||
11 |
Name | Order | Citations | PageRank |
---|---|---|---|
Juan Lara | 1 | 236 | 18.08 |
Esther Guerra | 2 | 504 | 45.53 |
Davide Di Ruscio | 3 | 744 | 68.81 |
Juri Di Rocco | 4 | 107 | 21.07 |
Jesús S´nchez Cuadrado | 5 | 0 | 0.34 |
Ludovico Iovino | 6 | 239 | 25.89 |
A. Pierantonio | 7 | 56 | 8.77 |
LaraJuan De | 8 | 0 | 0.34 |
RuscioDavide Di | 9 | 0 | 0.34 |
RoccoJuri Di | 10 | 0 | 0.34 |
CuadradoJesús S´nchez | 11 | 0 | 0.34 |