Forschungsthemen
[MA] Towards a Modular Product Line of Graphical Editors
Motivation
The development of product lines has a long tradition and aims at reducing development costs by increasing reuse. Software Product Lines (SPL), in particular, permit to drastically increase code reuse when creating product variants. This goes as far as to allow for dynamically changing product variants at runtime. More recently, dedicated solutions for particular software systems emerged, such as Language Product Lines (LPLs) (Kühn and Cazzola 2016) for the development of programming language families, Model-Transformation Product Lines (MTPLs), for the development of families of model transformations (Oldevik and Haugen 2007), as well as Model-Driven Product Lines (MDPLs), for instance, for the development of a family of metamodels (Seidl, Schaefer, and Aßmann 2014). In conclusion, the field focuses on more specific application domains, to even further improve the benefits of traditional SPL approaches.
In this regard, the FRaMED SPL
1 (Kühn 2017) has been developed as a dynamic SPL, and represents the first family of role modeling editors. However, as the FRaMED SPL
was built using state-of-the-art SPL development methodologies, the resulting product line is hard to refine and extend. Although FRaMED
already featured a separately specified family of model transformations and family of edit policies (cf. Figure), both the visual representation and user interaction of the editor was implemented monolithically. Consequently, to overcome the issues of the FRaMED SPL
, a novel approach for the modular development of product lines of graphical modeling editors is indispensable.
Problem Definition
Currently, there exists no modular approach for the development of a dynamic SPL of graphical modeling editors that supports extending an editor SPL by modules, whereas each module can adapt the editor’s palette, graphical representation, model transformation, and edit policies. To remedy this, this thesis will devise such a modularization concept for the development of graphical editor product lines and showcase its applicability by modularizing the FRaMED SPL
.
Goals of this Thesis
To achieve this goal, the following subtasks must be completed:
- Survey the literature on SPLs, LPLs, and MDPLs, specifically, investigating approaches on modular product line engineering,
- Investigate the requirements of modular product line development, in general, and graphical editor product lines, in particular,
- Propose a design methodology and reference architecture for the modular development of graphical editor product lines,
- Evaluate the methodology by comparing its properties to the previously defined requirements, and finally
- Showcase the applicability of the reference architecture by reimplementing the
FRaMED SPL
as a modular graphical editor product line.
Due to the complexity of these tasks, the student shall reuse as much of the preexisting code of the FRaMED SPL
as possible.
Kühn, Thomas. 2017. “A Family of Role-Based Languages.” PhD thesis, Dresden, Germany: Technische Universität Dresden, Fakultät Informatik, Professur für Softwaretechnologie; http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-228027.
Kühn, Thomas, and Walter Cazzola. 2016. “Apples and Oranges: Comparing Top-down and Bottom-up Language Product Lines.” In Proceedings of the 20th International Systems and Software Product Line Conference, 50–59. SPLC ’16. New York, NY, USA: ACM. doi:10.1145/2934466.2934470.
Oldevik, Jon, and Oystein Haugen. 2007. “Higher-Order Transformations for Product Lines.” In Software Product Line Conference, 2007. SPLC 2007. 11th International, 243–54. IEEE.
Seidl, Christoph, Ina Schaefer, and Uwe Aßmann. 2014. “DeltaEcore–A Model-Based Delta Language Generation Framework.” In Modellierung, 81–96.
https://github.com/leondart/FRaMED/tree/develop_branch↩
Betreuer: Thomas Kühn