Dynamic delta-oriented programming

  • Authors:
  • Ferruccio Damiani;Ina Schaefer

  • Affiliations:
  • Università di Torino, Torino, Italy;Technische Universität Braunschweig, Braunschweig, Germany

  • Venue:
  • Proceedings of the 15th International Software Product Line Conference, Volume 2
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern software systems should be designed to dynamically adapt to changing user requirements or resource constraints. Delta-oriented programming (DOP) is a compositional approach to flexibly implement software product lines. In DOP, a product line is represented by a code base and a product line declaration. The code base consists of a set of delta modules specifying modifications to object-oriented programs. The product line declaration provides the connection of the delta modules with the product features and describes how the product for a particular feature configuration is generated. DOP has so far only been used for static variability. In this paper, we present dynamic DOP, an extension of DOP that supports changing the feature configuration of a product at runtime. A dynamic DOP product line is a standard DOP product line with a reconfiguration automaton that specifies how to switch between different feature configurations. The type system of our dynamic DOP language ensures that any reconfiguration leads to a type safe product. Dynamic DOP is an approach for realizing dynamic product lines which also supports (unanticipated) software evolution.