Sandra Greiner will give a talk about her PhD thesis work on extending single- to multi-Variant model transformations. Details below.
Sandra Greiner, PhD student, University of Bayreuth. (Visiting PhD student at ITU).
Extending Single- to Multi-Variant Model Transformations
Model-driven Software Engineering (MDSE) is a discipline aiming to increase automation in software development by using (executable) models to generate source code. Software Product Line Engineering (SPLE) is another discipline to increase efficiency of developing configurable software systems by relying on variability and organized reuse to derive customized products. Feature models are one means to express common and varying aspects of a software product line.
Combining MDSE and SPLE promises to increase the beneficial effect of automating software development but comes with several challenges.
On the one hand, a model-driven development process requires multiple models at different development stages, for example UML class diagrams and Java models to capture the design and implementation, respectively. (Single-variant) model transformations are the core technology in MDSE to automatically generate and maintain different kinds of models. On the other hand, in annotative mechanisms to model-driven SPLE we build superimposed (150%) models, which capture all variants of the product line. For persisting the information, to which variants elements in a 150% model belong, the elements are annotated with expressions over the features of the feature model. Based on these ‘annotations’, a customized model can be derived when selecting features of the feature model in a configuration and removing model elements from the customized product, the annotation of which is not satisfied by the configuration.
However, so far there are only limited techniques to assign annotations automatically to different models fostering the product line engineer to assign the annotations to each new model manually in an error-prone and redundant process. For that reason, I will present a way to overcome this problem by reusing single-variant model transformations (i.e., a by now well-developed technology) without modifications for propagating annotations to target models generically.