Delta-oriented programming (DOP) is a flexible approach to the implementation of software product lines (SPLs). Delta-oriented SPLs consist of a code base (a set of delta modules encapsulating changes to object-oriented programs) and a product line declaration (providing the connection of the delta modules with the product features). In this paper, we present a core calculus that extends DOP with the capability to switch the implemented product configuration at runtime. A dynamic delta-oriented SPL is a delta-oriented SPL with a dynamic reconfiguration graph that specifies how to switch between different feature configurations. Dynamic DOP supports also (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconfiguration graph can be changed in any (unanticipated) way that preserves the currently running product, which is essential when evolution affects existing features. The type system of our dynamic DOP core calculus ensures that the dynamic reconfigurations lead to type safe products and do not cause runtime type errors.

A core calculus for dynamic delta-oriented programming

DAMIANI, Ferruccio;PADOVANI, Luca;
2018-01-01

Abstract

Delta-oriented programming (DOP) is a flexible approach to the implementation of software product lines (SPLs). Delta-oriented SPLs consist of a code base (a set of delta modules encapsulating changes to object-oriented programs) and a product line declaration (providing the connection of the delta modules with the product features). In this paper, we present a core calculus that extends DOP with the capability to switch the implemented product configuration at runtime. A dynamic delta-oriented SPL is a delta-oriented SPL with a dynamic reconfiguration graph that specifies how to switch between different feature configurations. Dynamic DOP supports also (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconfiguration graph can be changed in any (unanticipated) way that preserves the currently running product, which is essential when evolution affects existing features. The type system of our dynamic DOP core calculus ensures that the dynamic reconfigurations lead to type safe products and do not cause runtime type errors.
2018
1
39
http://www.springer.com/computer/theoretical+computer+science/journal/236
Software; Information Systems; Computer Networks and Communications
Damiani, Ferruccio; Padovani, Luca; Schaefer, Ina; Seidl, Christoph
File in questo prodotto:
File Dimensione Formato  
ACTA-Informatica-Damiani-et-al-2017-OPEN.pdf

Open Access dal 01/02/2018

Descrizione: Articolo principale (rivista)
Tipo di file: POSTPRINT (VERSIONE FINALE DELL’AUTORE)
Dimensione 749.71 kB
Formato Adobe PDF
749.71 kB Adobe PDF Visualizza/Apri
ACTA-2018-Damiani-et-al.pdf

Accesso riservato

Descrizione: Ariticolo principale
Tipo di file: PDF EDITORIALE
Dimensione 1.29 MB
Formato Adobe PDF
1.29 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

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/1633408
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 8
  • ???jsp.display-item.citation.isi??? 4
social impact