next up previous
Next: Variability Means Different Up: Discoveries and Insights Previous: Discoveries and Insights

Commonality and Variability as Orthogonal Attributes

In the strawperson framework, the assumption was that it was possible to have a representation capable of explicitly representing commonality but not variability; or both commonality and variability; but not variability without commonality. This led to a linear model where the commonality-only view was seen as a subset of the features required to model both commonality and variability.

During the working group session this assumption was challenged by several intriguing counter-examples.

In a simple example from programming, a typedef mechanism might allow explicit representation of variability (multiple typedefs) but no enforced representation of commonality (shared sub-structures across typedefs could be implicit). Conversely, a variant record structure makes both commonality and variability explicit, for at least one level. (If nested variants are allowed, the representation could be extended to multiple levels.)

In an example closer to the concerns of reuse, a typical class library that has evolved from a single-system set of classes through opportunistic sub-classing can be said to contain explicit representations for variability but none for commonality. That is, there is no clear way of knowing which classes are domain classes and which were introduced for the requirements of a single system.

The conclusion we reached was that explicit representation of commonality was independent of explicit representation of variability (across systems).

One consequence of this discovery is that our comparative framework now provides a good starting point for mapping broad differences in the underlying assumptions of various approaches to domain engineering. In instigating the working group topic, the leader believed that a necessary starting point was the assumption that domain modeling involves explicit modeling of both commonality and variability across systems in the domain. It seemed as if this assumption was necessary motivation for the working group agenda. But in fact the model we arrived at is more comprehensive, as it embraces commonality-only and variability-without-commonality representations.



next up previous
Next: Variability Means Different Up: Discoveries and Insights Previous: Discoveries and Insights



Larry Latour
Sat Oct 7 22:45:23 EDT 1995