PEoPL: Projectional Editing of Product Lines

被引:20
|
作者
Behringer, Benjamin [1 ,2 ]
Palz, Jochen [2 ]
Berger, Thorsten [3 ]
机构
[1] Univ Luxembourg, Luxembourg, Luxembourg
[2] Htw Saar, Saarbrucken, Germany
[3] Chalmers Univ Gothenburg, Gothenburg, Sweden
来源
2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) | 2017年
基金
瑞典研究理事会;
关键词
D O I
10.1109/ICSE.2017.58
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 of PEoPL 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).
引用
收藏
页码:563 / 574
页数:12
相关论文
共 50 条
  • [1] Multi-View Editing of Software Product Lines with PEoPL
    Mukelabai, Mukelabai
    Behringer, Benjamin
    Fey, Moritz
    Palz, Jochen
    Krueger, Jacob
    Berger, Thorsten
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 81 - 84
  • [2] Projectional Editing of Software Product Lines Using Multi-variant Model Editors
    Schröpfer J.
    Buchmann T.
    Westfechtel B.
    SN Computer Science, 4 (1)
  • [3] Robust Projectional Editing
    Steimann, Friedrich
    Frenkel, Marcus
    Voelter, Markus
    SLE'17: PROCEEDINGS OF THE 10TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING, 2017, : 79 - 90
  • [4] Graphical Projectional Editing in Gentleman
    Ducoin, Aurelien
    Syriani, Eugene
    ACM/IEEE 25TH INTERNATIONAL CONFERENCE ON MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, MODELS 2022 COMPANION, 2022, : 46 - 50
  • [5] Projectional Editing of Variational Software
    Walkingshaw, Eric
    Ostermann, Klaus
    ACM SIGPLAN NOTICES, 2015, 50 (03) : 29 - 38
  • [6] Efficiency of Projectional Editing: A Controlled Experiment
    Berger, Thorsten
    Voelter, Markus
    Jensen, Hans Peter
    Dangprasert, Taweesap
    Siegmund, Janet
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 763 - 774
  • [7] SpecEdit: Projectional Editing for TLA plus Specifications
    Cuinat, Riwan
    Teodorov, Ciprian
    Champeau, Joel
    2020 IEEE WORKSHOP ON FORMAL REQUIREMENTS (FORMREQ 2020), 2020, : 1 - 7
  • [8] Towards Projectional Editing for Model-Based SPLs
    Reuling, Dennis
    Pietsch, Christopher
    Kelter, Udo
    Kehrer, Timo
    PROCEEDINGS OF THE 14TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS (VAMOS '20), 2020,
  • [9] Virtual Domain Specific Languages via Embedded Projectional Editing
    Korz, Niklas
    Andrzejak, Artur
    PROCEEDINGS OF THE 22ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES, GPCE 2023, 2023, : 122 - 137
  • [10] Interpretation of the connecting lines in the projectional xx' emittance in view of Liouville's theorem
    Sarstedt, M
    REVIEW OF SCIENTIFIC INSTRUMENTS, 1997, 68 (08): : 3036 - 3041