The central activity in software development is the creation and use of descriptions.We make descriptions to capture our understanding
of requirements, to describe the properties of the problem domain, to design the behaviour and structure of the software we
are building, and for many other purposes too.
To work effectively we must make our descriptions as exact as possible, and this is one goal
... [Show full abstract] of the designers of formal notations.
But we must also be clear-headed about the purpose and subject matter of each description. As John von Neumann observed: “There
is no point in using exact methods where there is no clarity in the concepts and issues to which they are to be applied”.
Without a clear understanding of the purpose and subject matter of each description we can easily lose much of the benefit
of effective notations.
This talk presents a view of software development based on the notion of problem frames. Each problem frame is associated
with a class of simple problems, and with a set of concerns that arise in the solution of problems of the class. Making and
using descriptions are seen as activities aimed at addressing those concerns.