posted on 2018-05-17, 10:32authored byTimo Kehrer, Abdullah Alshanqiti, Reiko Heckel
Optimal support for continuous evolution in model-based software development requires tool environments to be customisable to domain-specific modelling languages. An important aspect is the set of change operations available to modify models. In-place model transformations are well-suited for that purpose. However, the specification of transformation rules requires a deep understanding of the language meta-model, limiting it to expert tool developers and language designers. This is at odds with the aim of domain-specific visual modelling environments, which should be customisable by domain experts.
We follow a model transformation by-example approach to mitigate that problem: Users generate transformation rules by creating examples of transformations using standard visual editors as macro recorders. Our ambition is to stick entirely to the concrete visual notation domain experts are familiar with, using rule inference to generalise a set of transformation examples. In contrast to previous approaches to the same problem, our approach supports the inference of complex rule features such as negative application conditions, multi-object patterns and global invariants. We illustrate the functioning of our approach by the inference of a complex and widely used refactoring operation on UML class diagrams.
Funding
The work of the first author was partially supported by the DFG (German Research Foundation) under the Priority Programme SPP1593: Design For Future – Managed Software Evolution.
History
Citation
Lecture Notes in Computer Science, 2017, 10374
Author affiliation
/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science