Skip to Main Content
In a software product family context, software architects design architectures that support product diversification in both space (multiple contexts) and time (changing contexts). Product diversification is based on the concept of variability: a single architecture and a set of components support a family of products. Software product families need to support increasing amounts of variability, leading to a situation where variability dependencies become of primary concern. This work presents (1) a formalization of variability dependencies and (2) a case study in designing a program monitor and exception handler. The case study uses the formalization to describe variability dependencies in constraint specification language style and shows that architectural robustness is related to the type of variability dependencies.