The process of identifying, capturing and organizing domain knowledge about the
problem domain with the purpose of making it reusable when creating new
systems. [Arrango 1994]
The part of domain engineering that deals with identifying commonalities,
similarities and variabilities of an application or an application domain [Jacobson
et al. 1997].