Combining declarative and procedural views in the specification and analysis of product families

  • Authors:
  • Maurice H. ter Beek;Alberto Lluch Lafuente;Marinella Petrocchi

  • Affiliations:
  • Leiden University, NL;IMT, Lucca, IT;IIT--CNR, Pisa, IT

  • Venue:
  • Proceedings of the 17th International Software Product Line Conference co-located workshops
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce the feature-oriented language FLan as a proof of concept for specifying both declarative aspects of product families, namely constraints on their features, and procedural aspects, namely feature configuration and run-time behaviour. FLan is inspired by the concurrent constraint programming paradigm. A store of constraints allows one to specify in a declarative way all common constraints on features, including inter-feature constraints. A standard yet rich set of process-algebraic operators allows one to specify in a procedural way the configuration and behaviour of products. There is a close interaction between both views: (i) the execution of a process is constrained by its store to forbid undesired configurations; (ii) a process can query a store to resolve design and behavioural choices; (iii) a process can update the store by adding new features. An implementation in the Maude framework allows for a variety of formal automated analyses of product families specified in FLan, ranging from consistency checking to model checking.