Logo des Repositoriums
 

Projectional Editing of Product Lines

dc.contributor.authorBehringer, Benjamin
dc.contributor.authorPalz, Jochen
dc.contributor.authorBerger, Thorsten
dc.contributor.editorTichy, Matthias
dc.contributor.editorBodden, Eric
dc.contributor.editorKuhrmann, Marco
dc.contributor.editorWagner, Stefan
dc.contributor.editorSteghöfer, Jan-Philipp
dc.date.accessioned2019-03-29T10:24:07Z
dc.date.available2019-03-29T10:24:07Z
dc.date.issued2018
dc.description.abstractPublished at International Conference on Software Engineering (ICSE) 2017, main research track. The features of a software product line --a portfolio of system variants --can be realized using various implementation techniques (a.k.a., variability mechanisms). Each technique represents the software artifacts of features differently, typically classified into annotative (e.g., C preprocessor) and modular representations (e.g., feature modules), each with distinct advantages and disadvantages. Annotative representations are easy to realize, but annotations clutter source code and hinder program comprehension. Modular representations support comprehension, but are difficult to realize. Most importantly, to engineer feature artifacts, developers need to choose one representation and adhere to it for evolving and maintaining the same artifacts. We present PEoPL, an approach to combine the advantages of annotative and modular representations. When engineering a feature artifact, developers can choose the most-suited representation and even use different representations in parallel. PEoPL relies on separating a product line into an internal and external representation, the latter by providing editable projections used by the developers. We contribute a programming-language-independent internal representation of variability, five editable projections reflecting different variability representations, a supporting IDE, and a tailoring to Java. We evaluate PEoPL's expressiveness, scalability, and flexibility in eight Java-based product lines, finding that all can be realized, that projections are feasible, and that variant computation is fast (<45ms on average for our largest subject Berkeley DB).en
dc.identifier.isbn978-3-88579-673-2
dc.identifier.pissn1617-5468
dc.identifier.urihttps://dl.gi.de/handle/20.500.12116/21145
dc.language.isoen
dc.publisherGesellschaft für Informatik
dc.relation.ispartofSoftware Engineering und Software Management 2018
dc.relation.ispartofseriesLecture Notes in Informatics (LNI) - Proceedings, Volume P-279
dc.subjectsoftware product line
dc.subjectprojectional editing
dc.subjectview-based editing
dc.subjectvariability mechanisms
dc.titleProjectional Editing of Product Linesen
dc.typeText/Conference Paper
gi.citation.endPage156
gi.citation.publisherPlaceBonn
gi.citation.startPage155
gi.conference.date5.-9. März 2018
gi.conference.locationUlm
gi.conference.sessiontitleSoftware Engineering 2018 - Wissenschaftliches Hauptprogramm

Dateien

Originalbündel
1 - 1 von 1
Lade...
Vorschaubild
Name:
A1-57.pdf
Größe:
110.25 KB
Format:
Adobe Portable Document Format