Computer Science Colloquium
Felix Schwägerl MSc
Version Control and Product Lines in Model-Driven Software EngineeringMon 11.09.2017, 10:00, 60 minutes
Computer Science Building (Science Park 3,) room 218
AbstractAlmost all software engineering projects are faced with three phenomena: abstraction, evolution, and variability, achieved by MDSE, version control, and SPLE, respectively. Traditionally, these disciplines are addressed by independent tools, which leads to undesirable context switches, multiple maintenance and high cognitive complexity. The central question of the PhD project was whether it is possible to design and implement a tool that combines version control and SPLE for MDSE projects. Furthermore, which are the synergy effects of such an integrated solution and what is the actual benefit for the user, compared to an "off-the-shelf" tool combination? In response, we designed a conceptual framework that generalizes the version control workflow by extending the metaphors check-out, modify and commit with SPLE concepts such as feature models. The tool SuperMod offers a three-stage iterative workflow: check-out a version (defined by a selection in the revision graph and a feature configuration), modify the selected product variant in the workspace, and commit the changes using a so-called feature ambition, a partial selection in the feature model which delineates a larger set of variants to which the change is relevant. In this way, a model-driven SPL is developed iteratively in a representative single-variant view, while traceability links, being persisted in the repository, are created entirely automatically. The feature model plays a hybrid role, being a variability model for the domain model and being versioned by the revision graph itself. Collaborative SPL editing is provided by distributed version control following Git's pull/push paradigm. Product well-formedness analysis is also applied in a representative way; conflicts are detected in the checked-out variant, but error corrections transparently affect a broader set of variants in the SPL repository. The added value of the approach has been experimentally confirmed based on three academic case studies.
BioFelix Schwägerl obtained his Master degree in Computer Science (with distinction) from the University of Bayreuth in 2012. After that, he joined Bernhard Westfechtel's Chair for Software Engineering as scientific assistant. After two years of research in the domains model-driven product line engineering and model version control, he began fostering the integration of historical and logical versioning. This research is reflected by Schwägerl's PhD thesis, which is supervised by Bernhard Westfechtel and Sven Apel (University of Passau). The thesis is currently under review; its defense is scheduled for December 2017. In advance, Schwägerl co-authored three peer-reviewed journal articles and 17 DBLP-listed conference/workshop papers. His further research interests include three-way model merging, model differencing, and multi-variant model transformations.
Invited by Institute for Software Systems Engineering
The Computer Science Colloquium is organized by the Department of Coputer Science at JKU, the Österreichische Gesellschaft für Informatik (ÖGI) and the Österreichische Computergesellschaft (OCG).