In this working group we explore (1) the methods by which humans develop good mental models of generic software subsystems, and (2) how existing programming languages support/hinder these efforts.
2. To develop examples of how such mental models are developed and how they contribute to reusability.
3. To factor both formal methods and human factors into the development of mental models - "Formal methods help to represent subsystems precisely, but it is humans that develop mental models to understand these same subsystems."