Layering [Parnas 79]
A focus on information hiding modules
isn’t enough
One may also consider abstract machines
In support of program families
Systems that have “so much in common that it pays
to study their common aspects before looking at the
aspects that differentiate them”
Still focusing on anticipated change