5th International Workshop on Specification of Abstract Data Types,
D. Sannella (ed.), Laboratory for Foundations of Computer Science,
University of Edinburgh, Edinburgh, UK (1987)

An Abstract Data Type for Structured System Development Tools 1

T.H. Tse 2


Structured system development methodologies are currently recognized as the most popular tools in information system development. A complex system can be specified in a top-down and graphical fashion, thereby enabling practitioners to visualize the target systems and communicate with users much more easily than by means of traditional methods.

In fact, the structured methodologies have been designed by quite a number of distinct authors, each employing a number of tools which are different in graphical outlook. Examples are DeMarco data flow diagrams, Jackson structure diagrams, Jackson structure text, system specification diagrams, system implementation diagrams, Warnier/Orr diagrams and Yourdon structure charts. Different tools are found to be suitable for different stages of a typical system life cycle. In other words, a specification must be converted from one form to another during the development process. Unfortunately, however, the tools are only manual systems derived from the experience of the authors. Little attempt has been made in proposing a formal framework behind them. The transition from one tool to another is only done manually. Automatic development aids tend to be ad hoc and tool-dependent. There is a need, therefore, in providing a unified framework for the structured tools and a computer-aided means of mapping one tool to another.

To solve the problem, an abstract data type has been defined as a unifying framework behind the popular structured tools. It links up DeMarco data flow diagrams, Jackson structure text and Yourdon structure charts by means of homomorphisms and equations. These three structured tools have been selected for study because they have entirely different physical appearances: they are in the forms of flowgraphs, trees and texts respectively. A prototype system to implement the abstract data type has been developed. It enables users to draw a hierarchy of DeMarco data flow diagrams, review them to an appropriate level of detail, and zoom in/zoom out to lower/higher levels when required. It stores the data flow diagrams internally as abstract data types, and then converts them automatically into Yourdon structure charts and Jackson structure text. The system has been implemented on a Macintosh Plus using Turbo Pascal.

Because of the link between abstract data types and initial algebras, the specifications can be validated using algebraic interpreters and the correctness of programs proved through algebraic theory. On the other hand, the mathematical concepts can be transparent to system designers who do not want to be involved with complex theories.

1. This project is supported in part by a Hong Kong & China Gas Research Grant, a CICHE Visitorship of the British Council, and a University of Hong Kong Conference Grant.
2. Department of Computer Science, The University of Hong Kong, Pokfulam, Hong Kong.


  Cumulative visitor count