skip to main content
article
Free Access

Abstract data types and the development of data structures

Published:01 June 1977Publication History
Skip Abstract Section

Abstract

Abstract data types can play a significant role in the development of software that is reliable, efficient, and flexible. This paper presents and discusses the application of an algebraic technique for the specification of abstract data types. Among the examples presented is a top-down development of a symbol table for a block structured language; a discussion of the proof of its correctness is given. The paper also contains a brief discussion of the problems involved in constructing algebraic specifications that are both consistent and complete.

References

  1. 1 Batey, M., Ed. Working Draft of ECMA/ANSI PL/I Standard Tenth Rev., ANSI, New York, (Sept. 1973).]]Google ScholarGoogle Scholar
  2. 2 Birkhoff, G., and Lipson, J.D. Heterogeneous algebras. J. Combinatorial Theory 8 (1970), 115-133.]]Google ScholarGoogle ScholarCross RefCross Ref
  3. 3 Dahl, O.-J., Nygaard, K., and Myhrhaug, B. The SIMULA 67 Common Base Language. Norwegian Comptng. Centre, Oslo, 1968.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 Dijkstra, E.W. Notes on structured programming. In Structured Programming, Academic Press, New York, 1972.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 Floyd, R.W. Assigning Meaning to Programs. Proc. Symp. in Applied Math., Vol. XIX, AMS, Providence, R.I., 1967, pp. 19-32.]]Google ScholarGoogle ScholarCross RefCross Ref
  6. 6 Gannon, J.D. Language design to enhance programming reliability. Ph.D. Th., Comptr. Syst. Res. Group Tech. Rep. CSRG- 47, Dept. Comptr. Sci., U. of Toronto, Ontario, 1975.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7 Good, D.I., London, R.L., and Bledsoe, W.W. An interactive program verification system. IEEE Trans. on Software Engineering SE-1, 1 (March 1975), 59-67.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 Guttag, J.V. The specification and application to programming of abstract data types. Ph.D. Th., Comptr. Syst. Res. Group Tecb. Rep. CSRG-59, Dept. Comptr. Sci. 1975, U. of Toronto, Ontario, 1975.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 Guttag, J.V. and Horning, J.J., The algebraic specifications of abstract data types. Acta Informatica (to appear).]]Google ScholarGoogle Scholar
  10. 10 Guttag, J.V., Horowitz, E., and Musser, D.R. Abstract data types and software validation. Tech. Rep., Inform. Sci. Inst., U. of Southern California, Los Angeles, 1976.]]Google ScholarGoogle ScholarCross RefCross Ref
  11. 11 Guttag, J.V., Horowitz, E., and Musser, D.R. The design of data type specifications. Proc. Second Int. Conf. on Software Eng., San Francisco, Oct. 1976, pp. 414-420.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 Hoare, C.A.R., Proof of correctness of data representations. Acta Informatica 1 (1972), 271-281.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Hoare, C.A.R., and Wirth, N. An axiomatic definition of the programming language PASCAL. Acta lnformatica 2 (1973), 335- 355.]]Google ScholarGoogle Scholar
  14. 14 Liskov, B.H., and Zilles, S.N. Programming with abstract data types. Proc. ACM SIGPLAN Symp. on Very High Level Languages, SIGPLAN Notices (ACM) 9, 4 (April 1974), 50-59.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 McKeeman, W.M., Symbol Table Access. In Compiler Construction, An Advanced Course, T.L. Bauer, and J. Eichel, Eds., Springer-Verlag, New York, 1974.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Morris, J.H. Types are not sets. Conf. Rec. ACM Symp. on the Principles of Programming Languages, Boston, Mass., Oct. 1973, pp. 120-124.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 Musser, D. Private communication, 1975.]]Google ScholarGoogle Scholar
  18. 18 Palme, J. Protected program modules in SIMULA 67. FOAP Rep. C8372-M3(E5), Res. Inst. of National Defense, Stockholm, 1973.]]Google ScholarGoogle Scholar
  19. 19 Parnas, D.L. A technique for the specification of software modules with examples. Comm. ACM 15, 5 (May 1973), 330-336.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Parnas, D.L. Information distribution aspects of design methodology. Information Processing 71, North Holland Pub. Co., Amsterdam, 1971, pp. 339-344.]]Google ScholarGoogle Scholar
  21. 21 Spitzen, J., and Wegbreit, B. The verification and synthesis of data structures. Acta Informatica 4 (1975), 127-144.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 Standish, T.A. Data structures: An axiomatic approach. BBN Rep. No. 2639, Bolt, Beranek and Newman, Cambridge, Mass., (1973).]]Google ScholarGoogle Scholar
  23. 23 Wegbreit, B., and Spitzen, J. Proving properties of complex data structures. J. ACM 23, 2 (April 1976), 389-396.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24 Wulf, W.A., London, R.L., and Shaw, M. Abstraction and verification in Alphard: Introduction to language and methodology. USC Inform. Sci. Tech. Rep., U. of Southern California, Los Angeles, 1976.]]Google ScholarGoogle ScholarCross RefCross Ref
  25. 25 Zilles, S.N. Abstract specifications for data types. IBM Res. Lab. San Jose, Calif., 1975.]]Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in

Full Access

  • Published in

    cover image Communications of the ACM
    Communications of the ACM  Volume 20, Issue 6
    June 1977
    84 pages
    ISSN:0001-0782
    EISSN:1557-7317
    DOI:10.1145/359605
    Issue’s Table of Contents

    Copyright © 1977 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 1 June 1977

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader