Supplementing Product Families with Behaviour

P. Höfner, R. Khedri and B. Möller

in: Universität Augsburg Technical Report, Institute of Computer Science, University of Augsburg, October 2010

A common approach to dealing with software requirements volatility is to define product families instead of single products. In earlier papers we have developed an algebra of such families that, roughly, consists in a more abstract view of and-or trees of features as used in Feature-Oriented Domain Analysis. A product family is represented by an algebraic term over the feature names; it can be manipulated using equational laws such as associativity or distributivity.
Initially, only “syntactic” models of the algebra were considered, giving more or less just the names of the features used in the various products of a family and certain interrelations such as mandatory occurrence and implication between or mutual exclusion of features, without attaching any kind of “meaning” to the features. While this is interesting and useful for determining the variety and number of possible members of such a family, it is wholly insufficient when it comes to talking about the correctness of families in a semantic manner. In the present paper we define a class of “semantic” models of the general abstract prod-uct family algebra that allows treating very relevant additional questions. In these models, the features of a family are requirements scenarios formalised as pairs of relational specifi-cations of a proposed system and its environment.
However, the paper is just intended as a proof of feasibility; we are convinced that the approach can also be employed for different semantic models such as general denotational or stream-based semantics.