The modelling task includes construction, critiquing and refinement and these may occur continually as the user and system work collaboratively. A simple clausal grammar was employed to enable the user to express a description of the enterprise, but the problem for the system was to interpret these propositions in ways which relate to the technical vocabulary and concepts of data modelling (e.g. entities, attributes, relations, and cardinalities) in order for a consistent and efficient model to be constructed. A knowledge base of rules of good practice was defined and used to guide this process. However, a major problem, and a principal feature of the research, is enabling the system to communicate its assumptions and reasoning and criticisms to users in ways which help their understanding and allow them to respond. Hence the commentaries had to be generated in non-technical language but had to be sufficiently precise to reveal the distinctions being made by the system. This system information, displayed to the user, was divided into three functionally distinct strands, of assumptions to preserve model consistency, a commentary to reveal the system's reasoning and an agenda of potential user actions to complete or improve the model. A general view was available from a ' grapher', and the user could refine the model by changing assumptions, or amending and adding to the input descriptions. A refocusing feature aided these tasks.
Such a system was formalised and implemented on a UNIX workstation, and a small trialling study was conducted to assess the performance of the system (and its good practice rules) in constructing Entity Relationship Model. How the system's commentaries assisted the user in refining such models was also examined. These studies, though limited, gave interesting and satisfactory results, and a final chapter suggests how the techniques may be extended to include instructional objectives.