Skip to main content

Hierarchical Specification of Abstract Data Types

  • Conference paper
Book cover The Use of Formal Specification of Software

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 36))

  • 38 Accesses

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Robinson, L; Levitt, K.N., “Proof Techniques for Hierarchically Structured Programs”, Comm. of the ACM, Vol. 20, No. 4, 1977, pp. 271–283.

    Article  MathSciNet  MATH  Google Scholar 

  2. Liskov, B.H.; Zilles, S., “Programming with Abstract Data Types”, SIGPLAN Notices, Vol. 9, No. 4, 1974, pp. 50–59.

    Article  Google Scholar 

  3. Guttag, J.V., “Abstract Data Types and the Development of Data Structures”, Comm. of the ACM, Vol. 20, No. 6, 1977, pp. 396–404.

    Article  MATH  Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Parnas, D.L., “A Technique for Software Module Specification with Examples”, Comm. of the ACM, Vol. 15, No. 5, 1972, pp. 330–336.

    Article  Google Scholar 

  7. Hoare, C.A.R., “Proof of Correctness of Data Representations”, Acta Informatica, Vol. 1, No. 4, 1972, pp. 271–281.

    Article  MATH  Google Scholar 

  8. 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.

    Article  Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. Knuth, D.E., “The Art of Computer Programming”, Vol. 1, Chapter 2, Addison-Wesley, Reading Mass., 1975.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Article  Google Scholar 

  14. McCarthy, J., “A Basis for a Mathematical Theory of Computation”, Computer Programming and Formal Systems, North-Holland Publ. Co., Amsterdam, 1963.

    Google Scholar 

  15. Floyd, R.W., “Assigning Meaning to Programs”, Proc. of Symposia in Applied Mathematics, American Mathematical Society, Vol. 19, 1967, pp. 19–32.

    Google Scholar 

  16. Hoare, C.A.R., “An Axiomatic Basis for Computer Programming”, Comm. of the ACM, Vol. 12, No. 10, 1969, pp. 576–583.

    Article  MATH  Google Scholar 

  17. Feldman, J.A.; Rovner, P.D., “An ALGOL-Based Associative Language”, Comm. of the ACM, Vol. 12, No. 8, 1969, pp. 439–449.

    Article  MATH  Google Scholar 

  18. Gödel, K., “Über formal entscheidbare Sätze der Prinzipia Mathematica und verwandter Systeme I”, Monatsheft für Mathematik und Physik, Vol. 38, 1931.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics