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.

Delta-Oriented Programming of Software Product Lines

BETTINI, LORENZO;BONO, Viviana;DAMIANI, Ferruccio;
2010

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.
14th International Conference, Software Product Line Conference 2010
Jeju Island, South Corea
September 13-17, 2010
Software Product Lines: Going Beyond 14th International Conference, SPLC 2010, Jeju Island, South Korea, September 13-17, 2010. Proceedings
Springer
6287
77
91
9783642155789
http://splc2010.postech.ac.kr/
http://www.springerlink.com/content/978-3-642-15578-9/#section=783251&page=1
http://www.springerlink.com/content/b7141306464528t8/
Ina Schaefer; Lorenzo Bettini; Viviana Bono; Ferruccio Damiani; Nico Tanzarella
File in questo prodotto:
File Dimensione Formato  
main.pdf

Accesso aperto

Tipo di file: PREPRINT (PRIMA BOZZA)
Dimensione 167.23 kB
Formato Adobe PDF
167.23 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/79356
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 275
  • ???jsp.display-item.citation.isi??? 139
social impact