Viewpoints, which we define as partial specifications in an appropriate language (not necessarily formal), are used in a number of guises in various facets of software engineering, though their most common use is in requirements elicitation and analysis.
The aim of this work is, first, to demonstrate that viewpoints are used as we claim they are, and can encapsulate information being added in an explanation. Having done this we use some results from the formal theory of refinement to model the way systems are described and explained, not only in the field of requirements but also in disparate areas such as incremental description and tutorial developments given in user manuals. This achieves the major claim of the thesis, which is that explanations can be explained using the concept of viewpoints and the theory of refinement.
To achieve this claim, we begin with a survey of the use of viewpoints in software engineering. This includes summaries of research in a number of fields, not limited to requirements engineering research, and some analysis of their ability to model multiple notations and conflicts. The survey is followed by a review of the theoretical background to refinement and its applicability to the process of amalgamation of viewpoints, which provides a set of criteria for coming up with an appropriate refinement relation, and operations for amalgamation, to model and explain explanations. Having introduced the approach we assess it, first by comparing it with a framework for viewpoint development based on seemingly orthogonal ideas, and then using a number of examples of explanations in which viewpoints can be used to explain the development steps. These examples include an incremental specification of an operation to select the next appropriate element from a queue, and some applications related to denotational semantics.
We conclude that viewpoints can indeed encapsulate such information and that, given a notion of refinement appropriate to the specification language under consideration, the relation between viewpoints can be described in a natural way corresponding to the way explanations are given in the real world.
PhD Thesis, University of Bath, 1997. [Compressed postscript, 300k]