Multi-view editing of software product lines with PEoPL
Paper i proceeding, 2018

A software product line is a portfolio of software variants in an application domain. It relies on a platform integrating common and variable features of the variants using variability mechanisms-Typically classified into annotative and compositional mechanisms. Annotative mechanisms (e.g., using the C preprocessor) are easy to apply, but annotations clutter source code and feature code is often scattered across the platform, which hinders program comprehension and increases maintenance effort. Compositional mechanisms (e.g., using feature modules) support program comprehension and maintainability by modularizing feature code, but are difficult to adopt. Most importantly, engineers need to choose one mechanism and then stick to it for the whole life cycle of the platform. The PEoPL (Projectional Editing of Product Lines) approach combines the advantages of both kinds of mechanisms. In this paper, we demonstrate the PEoPL IDE, which supports the approach by providing various kinds of editable views, each of which represents the same software product line using annotative or compositional variability mechanisms, or subsets of concrete variants. Software engineers can seamlessly switch these views, or use multiple views side-by-side, based on the current engineering task. A demo video of PEoPL is available at Youtube: https://youtu.be/wByUxSPLoSY.

annotative

Zprojectional editing

Modular

Product lines

Författare

Mukelabei Mukelabai

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

Benjamin Behringer

Htw Saar

Moritz Fey

Htw Saar

Jochen Palz

Harz University of Applied Sciences

Jacob Krüger

Harz University of Applied Sciences

Thorsten Berger

Chalmers, Data- och informationsteknik, Software Engineering, Software Engineering for Cyber Psysical Systems

Proceedings - International Conference on Software Engineering

02705257 (ISSN)

Vol. Part F137351 81-84

40th ACM/IEEE International Conference on Software Engineering, ICSE 2018
Gothenburg, Sweden,

Ämneskategorier

Programvaruteknik

Inbäddad systemteknik

Datorsystem

DOI

10.1145/3183440.3183499

Mer information

Senast uppdaterat

2019-01-16