Program families
A program family is a set of programs that share enough in common that it is worthwhile to study them as a whole [Parnas]
A program family provides an opportunity for developing a DSL from which it is easy (easier) to build instances of that family