Delta-oriented programming (DOP) is a flexible approach for implementing software product lines (SPLs). DOP SPLs are implemented by 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 extend DOP by the capability to switch the implemented product conguration at runtime and present a formal foundation for dynamic DOP. A dynamic DOP SPL is a DOP SPL with a dynamic reconguration graph that specifies how to switch between different feature congurations. Dynamic DOP supports (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconguration graph can be changed in any (unanticipated) way that preserves the currently running product. The type system of our dynamic DOP core calculus ensures that the dynamic recongurations lead to type safe products and do not cause runtime type errors.

A formal foundation for dynamic delta-oriented software product lines

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

Abstract

Delta-oriented programming (DOP) is a flexible approach for implementing software product lines (SPLs). DOP SPLs are implemented by 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 extend DOP by the capability to switch the implemented product conguration at runtime and present a formal foundation for dynamic DOP. A dynamic DOP SPL is a DOP SPL with a dynamic reconguration graph that specifies how to switch between different feature congurations. Dynamic DOP supports (unanticipated) software evolution such that at runtime, the product line declaration, the code base and the dynamic reconguration graph can be changed in any (unanticipated) way that preserves the currently running product. The type system of our dynamic DOP core calculus ensures that the dynamic recongurations lead to type safe products and do not cause runtime type errors.
2012
11th International Conference on Generative Programming and Component Engineering (GPCE'12)
Dresden, Germany
September 26-27, 2012
Proceedings of the 11th ACM international conference on Generative programming and component engineering (GPCE’12)
ACM
1
10
9781450311298
http://dl.acm.org/citation.cfm?id=2371403&CFID=122236050&CFTOKEN=65121898
http://program-transformation.org/Gpce
Dynamic Software Product Lines; Evolution; Programming Languages; Runtime Reconguration; Featherweight Java; Type Soundness
Damiani, Ferruccio; Padovani, Luca; Ina, Schaefer
File in questo prodotto:
File Dimensione Formato  
ACM-gpce-2012.pdf

Accesso riservato

Tipo di file: POSTPRINT (VERSIONE FINALE DELL’AUTORE)
Dimensione 253.19 kB
Formato Adobe PDF
253.19 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
ACM-gpce-2012.pdf

Accesso riservato

Descrizione: Articolo principale (conferenza)
Tipo di file: PDF EDITORIALE
Dimensione 253.19 kB
Formato Adobe PDF
253.19 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
2012 - GPCE - Damiani Padovani Schaefer - A Formal Foundation for Dynamic Delta-Oriented Software Product Lines.pdf

Accesso riservato

Tipo di file: PDF EDITORIALE
Dimensione 702.35 kB
Formato Adobe PDF
702.35 kB 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/116748
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 14
  • ???jsp.display-item.citation.isi??? ND
social impact