Forschungsthemen
[MA] Adding Feature-Awareness to the Well-formedness of Compartment Role Object Models
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. More recently, dedicated solutions for particular software systems emerged, such as product lines of metamodels (Seidl, Schaefer, and Aßmann 2014) for the development of families of metamodels for role-based modeling languages (Kühn et al. 2014). As a result, it was feasible to develop graphical modeling editors for language families – such as the FRaMED SPL
1 (Kühn et al. 2018) – that supports reconfigurable modeling languages and is able to emit different model variants of a language family.
While the FRaMED SPL
employs feature-aware edit policies to guide the users actions, these rules cannot prevent the creation of malformed model instances. Thus far, there exists only a Python-based validator able to check a model’s well-formedness (Kühn et al. 2015), yet this validator only supports one specific language variant. Consequently, this thesis will augment the FRaMED SPL
by adding feature-aware validator able to check the well-formedness of a model instance taking the current language variant into account.
Problem Definition
Currently, there exist no approach that permits evaluating the well-formedness of model variants that have been created by a family of modeling languages, such that the validator itself is aware of the selected language variant. To remedy this, this thesis will establish a novel approach to design a feature-aware validator to evaluate the well-formedness of Ecore-based model families employing standardized model validation techniques, e.g., the Object Constraint Language (OCL) (Warmer and Kleppe 2003). To illustrate the applicability of this approach, an Eclipse-based, feature-aware validator is implemented to evaluate the well-formedness of model variants of the family of role-based modeling languages (Kühn et al. 2018), and to emit comprehensive error messages for malformed model instances. To evaluate correctness of the validator, it is tested by a test suite of generated positive and negative test cases utilizing state-of-the-art product sampling approaches (Varshosaz et al. 2018).
Goals of this Thesis
To achieve this goal, the following subtasks must be completed:
- Formal specification of feature-dependent well-formedness rules based on the formal CROM model (Kühn et al. 2015; Kühn 2017),
- Design of a generic approach that permits feature-aware validation of well-formedness rules for Ecore-based language families,
- Implementation of an Eclipse-based plugin for the validation of variants of CROM Models, which employs feature-aware well-formedness rules,
- Support of comprehensive error messages and quick fixes for invalid models,
- Evaluation of the plugin by providing a comprehensive test suite including positive and negative test cases, and
- Optionally, integration of this plugin into the existing tree view editor or graphical editor product line FRaMED SPL (Kühn et al. 2018).
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. http://nbn-resolving.de/urn:nbn:de:bsz:14-qucosa-228027.
Kühn, Thomas, Kevin Ivo Kassin, Walter Cazzola, and Uwe Aßmann. 2018. “Modular Feature-Oriented Graphical Editor Product Lines.” In Proceedings of the 22th International Software Product Line Conference. Gothenburg, Sweden:; ACM.
Kühn, Thomas, Max Leuthäuser, Sebastian Götz, Christoph Seidl, and Uwe Aßmann. 2014. “A Metamodel Family for Role-Based Modeling and Programming Languages.” In Software Language Engineering, 8706:141–60. Lecture Notes in Computer Science. http://link.springer.com/chapter/10.1007/978-3-319-11245-9_8; Springer. doi:10.1007/978-3-319-11245-9_8.
Kühn, Thomas, Böhme Stephan, Sebastian Götz, and Uwe Aßmann. 2015. “A Combined Formal Model for Relational Context-Dependent Roles.” In Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, 113–24. http://dl.acm.org/citation.cfm?id=2814255; ACM. doi:10.1145/2814251.2814255.
Seidl, Christoph, Ina Schaefer, and Uwe Aßmann. 2014. “DeltaEcore–A Model-Based Delta Language Generation Framework.” In Modellierung, 81–96.
Varshosaz, Mahsa, Mustafa Al-Hajjaji, Thomas Thüm, Tobias Runge, Mohammad Reza Mousavi, and Ina Schaefer. 2018. “A Classification of Product Sampling for Software Product Lines.” In 22nd International Conference on Systems and Software Product Line-Volume 1, 1–13. ACM.
Warmer, Jos B., and Anneke G. Kleppe. 2003. The Object Constraint Language: Getting Your Models Ready for MDA. Addison-Wesley Professional.
Betreuer: Thomas Kühn