Partners: TU Wien
Funding: FWF
Employed Technologies: Eclipse, Java Eclipse Modelling Framework (EMF/GMF), XText, Colored Petri Nets (CPN-Tools), Transformation Languages (e.g., Eclipse ATL)
Web: http://www.modeltransformation.net/
Team: DI (FH) Dr. Johannes Schönböck, DI Dr. Angelika Kusel, Assoc. Prof. Mag. Dr. Wieland Schwinger M.Sc., a.Univ.-Prof. Mag. Dr. Werner Retschitzegger
Summary of Project Focus. Model transformations play an important role in software engineering in general and in the area of model-driven engineering in particular, representing the key mechanisms for model translations (e.g., translating an ER model into a UML class model), model augmentations (e.g., weaving aspects into a UML class model), and model alignments (e.g., mapping a content model to its GUI view), to mention just a few.
The aim of this project is to establish a framework called TROPIC (Transformations on Petri Nets in Color) for developing model transformations which tackles these limitations. First, TROPIC allows to specify model transformations on different abstraction levels, providing both a declarative mapping language based on UML 2 component diagrams which hides implementation details, and derived from that, an executable transformation language using Coloured Petri Nets. Second, TROPIC facilitates reusability by providing an initial library of generic transformation operators which can be bound to arbitrary metamodels and by allowing to extend this library on demand with new, user-defined, transformation operators, optionally composed out of already existing ones. Finally, TROPIC overcomes the impedance mismatch by supporting a dedicated runtime model in terms of Coloured Petri Nets, allowing for a homogeneous representation of all transformation artefacts (i.e., models, metamodels and the transformation logic itself), which fosters understandability and debuggability of model transformations.
The methodology for evaluating the proposed framework builds on three major pillars. First, appropriate case studies for transforming heterogeneous structural as well as behavioural models will be set up and implemented with different existing model transformation languages, including TROPIC, the results being evaluated on basis of a suitable subset of the ISO 9126 software quality model. Second, the findings of these case studies will be further critically reflected by conducting an empirical study with students from our model engineering courses. Third, dedicated workshops will be held together with internationally renowned inventors of other model transformation languages to additionally review the value of our proposed framework.
Publications:
@article{Kusel2013,
title = {{Reuse in model-to-model transformation languages: are we there yet?}},
author = {Angelika Kusel and Johannes Sch\"{o}nb\"{o}ck and Manuel Wimmer and Gerti Kappel and Werner Retschitzegger and Wieland Schwinger},
journal = {Software \& Systems Modeling},
year = {2013},
publisher = {Springer-Verlag},
pages = {1-36}
}
@inproceedings{Kusel2013a,
title = {{Reality Check for Model Transformation Reuse: The ATL Transformation Zoo Case Study}},
author = {Angelika Kusel and Johannes Sch\"{o}nb\"{o}ck and Manuel Wimmer and Werner Retschitzegger and Wieland Schwinger and Gerti Kappel},
year = {2013},
booktitle = {Proceedings of 2nd Workshop on the Analysis of Model Transformations (AMT) @ MoDELS}
}
@article{Guerra2012,
title = {{Automated verification of model transformations based on visual contracts}},
author = {Esther Guerra and Juan de Lara and Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
journal = {Journal of Automated Software Engineering},
year = {2012},
pages = {5-46},
volume = {20},
number = {1}
}
@inproceedings{Schoenboeck2012,
title = {{Debugging Model-To-Model Transformations}},
author = {Johannes Sch\"{o}nb\"{o}ck and Gerti Kappel and Manuel Wimmer and Angelika Kusel and Werner Retschitzegger and Wieland Schwinger},
year = {2012},
booktitle = {Proceedings of the 19th Asia-Pacific Software Engineering Conference},
pages = {164-173}
}
@inproceedings{Wimmer2012,
title = {{Fact or Fiction - Reuse in Model-to-Model Transformations}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2012},
publisher = {Springer-Verlag},
booktitle = {Proceedings of the 5th International Conference on Model Transformation (ICMT'12)},
pages = {280--295}
}
@article{Wimmer2012a,
title = {{Surveying Rule Inheritance in Model-to-Model Transformation Languages}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Werner Schwinger and Dimitris Kolovos and Richard Paige and Marius Lauder and Andy Sch\"{u}rr and Dennis Wagelaar},
journal = {Journal of Object Technology},
year = {2012},
pages = {3:1-46},
volume = {11},
number = {2}
}
@inproceedings{Wimmer2011b,
title = {{From the Heterogeneity Jungle to Systematic Benchmarking}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2011},
booktitle = {Proceedings of Models in Software Engineering - Workshops and Symposia at MODELS 2010, Reports and Revised Selected Papers},
pages = {150-164}
}
@inproceedings{Wimmer2011c,
title = {A Comparison of Rule Inheritance in Model-to-Model Transformation Languages},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger and Dimitris S. Kolovos and Richard F. Paige and Marius Lauder and Andy Sch\"{u}rr and Dennis Wagelaar},
year = {2011},
booktitle = {Proceedings of the 4th International Conference on Model Transformation (ICMT 2011)},
pages = {31-46}
}
@inproceedings{Wimmer2011,
title = {{Reusing Model Transformations across Heterogeneous Metamodels}},
author = {Manuel Wimmer and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger and Jesus Sanchez Cuadrado and Esther Guerra and Juan {de Lara}},
year = {2011},
booktitle = {Proceedings of the 5th International Workshop on Multi-Paradigm Modeling @ MoDELS'11, Online Publication}
}
@inproceedings{Schoenboeck2010,
title = {{Catch Me If You Can - Debugging Support for Model Transformations}},
author = {Johannes Sch\"{o}nb\"{o}ck and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Wieland Schwinger and Manuel Wimmer},
year = {2010},
publisher = {Springer-Verlag},
booktitle = {Proceedings of the Models in Software Engineering Workshops and Symposia at MoDELS, Reports and Revised Selected Papers},
pages = {5-20}
}
@inproceedings{Wimmer2010d,
title = {{Surviving the Heterogeneity Jungle with Composite Mapping Operators}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2010},
publisher = {Springer Berlin Heidelberg},
booktitle = {Proceedings of the 3rd International Conference on Model Transformation (ICMT 2010)},
pages = {260-275}
}
@inproceedings{Wimmer2010,
title = {{Towards an Expressivity Benchmark for Mappings based on a Systematic Classification of Heterogeneities}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2010},
publisher = {ACM},
booktitle = {Proceedings of the First International Workshop on Model-Driven Interoperability (MDI 2010) @ MoDELS},
pages = {32--41},
series = {MDI '10}
}
@inproceedings{Wimmer2010a,
title = {{Plug \& Play Model Transformations - A DSL for Resolving Structural Metamodel Heterogeneities}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2010},
publisher = {ACM},
booktitle = {Proceedings of the 10th Workshop on Domain-Specific Modeling (DSM 2010) @ Splash},
pages = {7:1--7:6},
series = {DSM 2010}
}
@inproceedings{Wimmer2010c,
title = {{Taming the Shrew - Resolving Structural Heterogeneities with Hierarchical CPNs}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2010},
booktitle = {Proceedings of the International Workshop on Petri Nets and Software Engineering},
pages = {141-157}
}
@inproceedings{Wimmer2010b,
title = {{On using Inplace Transformations for Model Co-evolution}},
author = {Manuel Wimmer and Angelika Kusel and Johannes Sch\"{o}nb\"{o}ck and Werner Retschitzegger and Wieland Schwinger and Gerti Kappel},
year = {2010},
booktitle = {Proceedings of 2nd International Workshop on Model Transformation with ATL}
}
@inproceedings{Kusel2009,
title = {{TROPIC - A Framework for Building Reusable Transformation Components}},
author = {Angelika Kusel},
year = {2009},
booktitle = {Proceedings of the Doctoral Symposium at ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems}
}
@inproceedings{Kusel2009a,
title = {{Common Pitfalls of Using QVT Relations - Graphical Debugging as Remedy}},
author = {Angelika Kusel and Wieland Schwinger and Manuel Wimmer and Werner Retschitzegger},
year = {2009},
publisher = {IEEE Computer Society},
booktitle = {Proceedings of the 14th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2009)},
pages = {329--334},
series = {ICECCS '09}
}
@inproceedings{Schoenboeck2009,
title = {{Transformation Nets - A Runtime Model for Transformation Languages}},
author = {Johannes Sch\"{o}nb\"{o}ck},
year = {2009},
booktitle = {Proceedings of the Doctoral Symposium at ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems}
}
@inproceedings{Wimmer2009a,
title = {{Right or Wrong? - Verification of Model Transformations using Colored Petri Nets}},
author = {Manuel Wimmer and Gerti Kappel and Angelika Kusel and Werner Retschitzegger and Johannes Sch\"{o}nb\"{o}ck and Wieland Schwinger},
year = {2009},
booktitle = {Proceedings of 9th OOPSLA Workshop on Domain-Specific Modeling}
}
@inproceedings{Wimmer2009,
title = {{A Petri Net based Debugging Environment for QVT Relations}},
author = {Manuel Wimmer and Gerti Kappel and Johannes Sch\"{o}nb\"{o}ck and Angelika Kusel and Werner Retschitzegger and Wieland Schwinger},
year = {2009},
booktitle = {Proceedings of the 24th International Conference on Automated Software Engineering (ASE 2009)},
pages = {3 - 14}
}
@inproceedings{Wimmer2009b,
title = {{TROPIC: A Framework for Model Transformations on Petri Nets in Color}},
author = {Wimmer Manuel and Gerti Kappel and Johannes Sch\"{o}nb\"{o}ck and Angelika Kusel and Werner Retschitzegger and Wieland Schwinger},
year = {2009},
publisher = {ACM},
booktitle = {Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications},
pages = {783--784},
series = {OOPSLA '09}
}
@inproceedings{Wimmer2009e,
title = {{Lost in Translation? Transformation Nets to the Rescue!}},
author = {Manuel Wimmer and Angelika Kusel and Thomas Reiter and Werner Retschitzegger and Wieland Schwinger and Gerti Kappel},
year = {2009},
booktitle = {Proceedings of the 3rd International United Information Systems Conference UNISCON 2009},
pages = {315-327}
}
@inproceedings{Wimmer2009c,
title = {{Reviving QVT Relations: Model-based Debugging using Colored Petri Nets}},
author = {Manuel Wimmer and Angelika Kusel and Johannes Sch\"{o}nb\"{o}ck and Gerti Kappel and Werner Retschitzegger and Wieland Schwinger},
year = {2009},
publisher = {Springer Berlin Heidelberg},
booktitle = {Proceedings of the ACM/IEEE 12th International Conference on Model Driven Engineering Languages and Systems},
pages = {727-732}
}
@inproceedings{Wimmer2009d,
title = {{Let's Play the Token Game - Model Transformations Powered By Transformation Nets}},
author = {Manuel Wimmer and Angelika Kusel and Johannes Sch\"{o}nb\"{o}ck and Thomas Reiter and Werner Retschitzegger and Wieland Schwinger},
year = {2009},
booktitle = {Proceedings of International Workshop on Petri Nets and Software Engineering, a satellite event of 30th International Conference on Application and Theory of Petri Nets and Other Models of Concurrency},
pages = {35 - 50}
}