Delta-oriented programming of software product lines

  • Authors:
  • Ina Schaefer;Lorenzo Bettini;Ferruccio Damiani;Nico Tanzarella

  • Affiliations:
  • Chalmers University of Technology, Gothenburg, Sweden;Dipartimento di Informatica, Università di Torino, Torino, Italy;Dipartimento di Informatica, Università di Torino, Torino, Italy;Dipartimento di Informatica, Università di Torino, Torino, Italy

  • Venue:
  • SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

Feature-oriented programming (FOP) implements software product lines by composition of feature modules. It relies on the principles of stepwise development. Feature modules are intended to refer to exactly one product feature and can only extend existing implementations. To provide more flexibility for implementing software product lines, we propose delta-oriented programming (DOP) as a novel programming language approach. A product line is represented by a core module and a set of delta modules. The core module provides an implementation of a valid product that can be developed with well-established single application engineering techniques. Delta modules specify changes to be applied to the core module to implement further products by adding, modifying and removing code. Application conditions attached to delta modules allow handling combinations of features explicitly. A product implementation for a particular feature configuration is generated by applying incrementally all delta modules with valid application condition to the core module. In order to evaluate the potential of DOP, we compare it to FOP, both conceptually and empirically.