Summary
We introduce a hierarchical specification technique for abstract data types (ADT) in which the data objects of an ADT are represented by other, simpler ADTs and in which the functional behavior of an ADT is specified in terms of an input/output specification employing applications of the functions of the representing ADTs. By introducing instances of abstract data structures as fundamental representations, the danger is avoided that such representations might imply particular implementations. We will prove that a minimum and complete fundamental representation for hierarchical ADT specification can be established. It will be demonstrated that our technique provides a straight-forward approach to the specification of arbitrarily complex ADTs (e.g. a relational data base system).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Robinson, L; Levitt, K.N., “Proof Techniques for Hierarchically Structured Programs”, Comm. of the ACM, Vol. 20, No. 4, 1977, pp. 271–283.
Liskov, B.H.; Zilles, S., “Programming with Abstract Data Types”, SIGPLAN Notices, Vol. 9, No. 4, 1974, pp. 50–59.
Guttag, J.V., “Abstract Data Types and the Development of Data Structures”, Comm. of the ACM, Vol. 20, No. 6, 1977, pp. 396–404.
Goguen, J.A.; Thatcher, E.G.; Wagner, E.G.; Wright, J.B., “Abstract Data Types as Initial Algebras and the Correctness of Data Representations”, Proc. of Conf. on Computer Graphics, Pattern Recognition and Data Structures, 1975, pp. 89–93.
Guttag, J.V.; Horowitz, E.; Musser, D.R., “Abstract Data Types and Software Validation”, Information Science Institut, University of Southern California, Report ISI/RR-76–48, Aug. 1976, ARPA Order No. 2223.
Parnas, D.L., “A Technique for Software Module Specification with Examples”, Comm. of the ACM, Vol. 15, No. 5, 1972, pp. 330–336.
Hoare, C.A.R., “Proof of Correctness of Data Representations”, Acta Informatica, Vol. 1, No. 4, 1972, pp. 271–281.
Wulf, W.A.; London, R.L.; Shaw, M., “An Introduction to the Construction and Verification of Alphard Programs”, IEEE Trans, on Software Engineering, Vol. 2, No. 4, 1976, pp. 253–265.
Liskov, B.H.; Berzins, V., “An Appraisal of Program Specifications”, Laboratory for Computer Science, Massachusetts Institute of Technology, Computation Structures Group Memo 141–1, April 1977.
Bartussek, W.; Parnas, D.L., “Using Traces to Write Abstract Specifications for Software Modules”, Department of Computer Science, University of North Carolina, TR 77–012, Dec. 1977.
Knuth, D.E., “The Art of Computer Programming”, Vol. 1, Chapter 2, Addison-Wesley, Reading Mass., 1975.
Giloi, W.K.; Berg, H.K., “A Uniform Algebraic Description of Data Structures”, Department of Computer Science, University of Minnesota, Tech. Report 76–15, Dec. 1976.
Parnas, D.L., “On the Criteria to be Used in Decomposing Systems into Modules”, Comm. of the ACM, Vol. 15, No. 12, 1972, pp. 1053–1058.
McCarthy, J., “A Basis for a Mathematical Theory of Computation”, Computer Programming and Formal Systems, North-Holland Publ. Co., Amsterdam, 1963.
Floyd, R.W., “Assigning Meaning to Programs”, Proc. of Symposia in Applied Mathematics, American Mathematical Society, Vol. 19, 1967, pp. 19–32.
Hoare, C.A.R., “An Axiomatic Basis for Computer Programming”, Comm. of the ACM, Vol. 12, No. 10, 1969, pp. 576–583.
Feldman, J.A.; Rovner, P.D., “An ALGOL-Based Associative Language”, Comm. of the ACM, Vol. 12, No. 8, 1969, pp. 439–449.
Gödel, K., “Über formal entscheidbare Sätze der Prinzipia Mathematica und verwandter Systeme I”, Monatsheft für Mathematik und Physik, Vol. 38, 1931.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1980 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Berg, H.K., Giloi, W.K. (1980). Hierarchical Specification of Abstract Data Types. In: Berg, H.K., Giloi, W.K. (eds) The Use of Formal Specification of Software. Informatik-Fachberichte, vol 36. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-67881-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-67881-3_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-10442-1
Online ISBN: 978-3-642-67881-3
eBook Packages: Springer Book Archive