Delta-oriented programming (DOP) is a modular, yet flexible approach to implement software product lines. In DOP, a product line is implemented by a set of deltas, which are containers of modifications to a program. A delta-oriented product line is specified by its code base, i.e., the set of delta modules, and a product line declaration specifying the set of possible product variants. In this paper, we present DOP for Java 1.5 extending previous proof-of-concept realizations of DOP for simple core Java-like languages. The novel prototypical implementation DeltaJ 1.5 provides full integrated access to the object-oriented features of Java. The extensions include delta operations to fully integrate the Java package system, to declare and modify interfaces, to explicitly change the inheritance hierarchy, to access nested types and enum types, to alter field declarations, and to unambiguously remove overloaded methods. Furthermore, we improve the specification of the product line declaration by providing a separate language. We have evaluated DeltaJ 1.5 using a case study.

DeltaJ 1.5: delta-oriented programming for Java 1.5

BETTINI, LORENZO;DAMIANI, Ferruccio
2014

Abstract

Delta-oriented programming (DOP) is a modular, yet flexible approach to implement software product lines. In DOP, a product line is implemented by a set of deltas, which are containers of modifications to a program. A delta-oriented product line is specified by its code base, i.e., the set of delta modules, and a product line declaration specifying the set of possible product variants. In this paper, we present DOP for Java 1.5 extending previous proof-of-concept realizations of DOP for simple core Java-like languages. The novel prototypical implementation DeltaJ 1.5 provides full integrated access to the object-oriented features of Java. The extensions include delta operations to fully integrate the Java package system, to declare and modify interfaces, to explicitly change the inheritance hierarchy, to access nested types and enum types, to alter field declarations, and to unambiguously remove overloaded methods. Furthermore, we improve the specification of the product line declaration by providing a separate language. We have evaluated DeltaJ 1.5 using a case study.
2014 International Conference on Principles and Practices of Programming on the Java platform: Virtual machines, Languages, and Tools (PPPJ 2014)
Cracow, Poland
September 23-26, 2014
Proceedings of the 2014 International Conference on Principles and Practices of Programming on the Java platform Virtual machines, Languages, and Tools - PPPJ '14
ACM - Association for Computing Machinery
63
74
9781450329262
http://dl.acm.org/citation.cfm?doid=2647508.2647512
Software Product Line; Delta-oriented Programming; Program Generation
Jonathan Koscielny;Sönke Holthusen;Ina Schaefer;Sandro Schulze;Lorenzo Bettini;Ferruccio Damiani
File in questo prodotto:
File Dimensione Formato  
ACM-pppj-2014-khssbd.pdf

Accesso riservato

Descrizione: Articolo principale (versione per conferenza)
Tipo di file: PDF EDITORIALE
Dimensione 573.65 kB
Formato Adobe PDF
573.65 kB Adobe PDF   Visualizza/Apri   Richiedi una copia
PPPJ2014-deltaJ.pdf

Accesso aperto con embargo fino al 01/12/2015

Descrizione: Articolo principale (versione per conferenza)
Tipo di file: PREPRINT (PRIMA BOZZA)
Dimensione 384.45 kB
Formato Adobe PDF
384.45 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/150604
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 29
  • ???jsp.display-item.citation.isi??? ND
social impact