The article describes how to perform domain engineering by identifying the commonalities and variabilities within a family of products. Through interesting examples dealing with reuse libraries, design patterns, and programming language design, the authors suggest a systematic Scope, Commonalities, and Variabilities approach to formal analysis. Their SCV analysis has been an integral part of the FAST (Family-oriented Abstraction, Specification, and Translation) technology applied to over 25 domains at Lucent Technologies.
Citation:
James Coplien, Daniel Hoffman, David Weiss, "Commonality and Variability in Software Engineering," IEEE Software, vol. 15, no. 6, pp. 37-45, Nov./Dec. 1998, doi:10.1109/52.730836