Modular program construction using abstractions
A programming methodology is presented in which modular decomposition is based on recognition of useful abstractions. Two kinds of abstractions are used, procedural abstractions and data abstractions. Decomposition is carried out during a design phase that takes place before implementation begins. The design is documented by a graph showing the relationship among abstractions and by (informal) specifications of each abstraction.
The methodology is illustrated by means of a fairly large example. The design of a simplified text formatter. An implementation of the text formatter is included in the Appendix.
KeywordsData Abstraction Text Line Current Line Output Line Design Graph
Unable to display preview. Download preview PDF.
- E. W. Dijkstra. Notes on structured programming. Structured Programming, A.P.I.C. Studies in Data Processing No. 8, Academic Pres, New York 1972, 1–81.Google Scholar
- D. L. Parnas. Information distribution aspects of design methodology. Information Processing 71, Vol. 1, North-Holland Pub. Co., Amsterdam 1972, 339–344.Google Scholar
- D. L. Parnas. Response to Detected Errors in Well-Structured Programs. Dept of Computer Science. Carnegie Mellon University, Pittsburgh, Pa., July 1972.Google Scholar
- W. A. Wulf, R. London, and M. Shaw. An introduction to the construction and verification of Alphard programs. IEEE Trans. on Software Engineering, SE-2 (1976), 253–264.Google Scholar
- V. Berzins. Abstract Model Specifications for Data Abstractions. Technical Report LCS/TR-221, Laboratory for Computer Science, M.I.T., Cambridge, Mass., July 1979.Google Scholar
- G. J. Myers. Reliable Software Through Composite Design. Petrocelli/Charter, New York, N. Y., 1975.Google Scholar
- E. Yourdon. Techniques of Program Structure and Design. Prentice-Hall, Inc., Englewood Cliffs, N. J., 1975.Google Scholar
- B. Liskov, E. Moss, C. Schaffert, R. Scheifler, and A. Snyder. CLU Reference Manual. Computation Structures Group Memo 161, Laboratory for Computer Science, M.I.T., Cambridge, Mass., July 1978.Google Scholar