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.
Preview
Unable to display preview. Download preview PDF.
References
Batey, M., Ed. Working Draft of ECMA/ANSI PL/I Standard Tenth Rev., ANSI, New York, (Sept. 1973).
Birkhoff, G., and Lipson, J.D. Heterogeneous algebras. /. Combinatorial Theory 8 (1970), 115–133.
Dahl, O.-J., Nygaard, K., and Myhrhaug, B. The SIMULA 67 Common Base Language. Norwegian Comptng. Centre, Oslo, 1968.
Dijkstra, E.W. Notes on structured programming. In Structured Programming, Academic Press, New York, 1972.
Floyd, R.W. Assigning Meaning to Programs. Proc. Symp. in Applied Math., Vol. XIX, AMS, Providence, R.I., 1967, pp. 19–32.
Gannon, J. D. Language design to enhance programming reliability. Ph.D. Th., Comptr. Syst. Res. Group Tech. Rep. CSRG-47, Dept. Comptr. Sei., U. of Toronto, Ontario, 1975.
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.
Guttag, J.V. The specification and application to programming of abstract data types. Ph.D. Th., Comptr. Syst. Res. Group Tech. Rep. CSRG-59, Dept. Comptr. Sci. 1975, U. of Toronto, Ontario, 1975.
Guttag, J.V. and Horning, J. J., The algebraic specifications of abstract data types. Acta Informatica (to appear).
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.
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.
Hoare, C.A.R., Proof of correctness of data representations. Acta Informatica 1 (1972), 271–281.
Hoare, C.A.R., and Wirth, N. An axiomatic definition of the programming language PASCAL. Acta Informatica 2 (1973), 335–355.
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.
McKeeman, W. M., Symbol Table Access. In Compiler Construction, An Advanced Course, T.L. Bauer, and J. Eichel, Eds., Springer-Verlag, New York, 1974.
Morris, J. H. Types are not sets. Conf. Rec. ACM Symp. on the Principles of Programming Languages, Boston, Mass., Oct. 1973, pp. 120-124.
Musser, D. Private communication, 1975.
Palme, J. Protected program modules in SIMULA 67. FOAP Rep. C8372-M3(E5), Res. Inst, of National Defense, Stockholm, 1973.
Parnas, D.L. A technique for the specification of software modules with examples. Comm. ACM 15, 5 (May 1973), 330–336.
Parnas, D. L. Information distribution aspects of design methodology. Information Processing 71, North Holland Pub. Co., Amsterdam, 1971, pp. 339–344.
Spitzen, J., and Wegbreit, B. The verification and synthesis of data structures. Acta Informatica 4 (1975), 127–144.
Standish, T. A. Data structures: An axiomatic approach. BBN Rep. No. 2639, Bolt, Beranek and Newman, Cambridge, Mass., (1973).
Wegbreit, B., and Spitzen, J. Proving properties of complex data structures. J. ACM 23, 2 (April 1976), 389–396.
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.
Zilles, S. N. Abstract specifications for data types. IBM Res. Lab., San Jose, Calif., 1975.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1977 Association for Computing Machinery, Inc.
About this chapter
Cite this chapter
Wegbreit, B., Guttag, J. (1977). Abstract Data Types and the Development of Data Structures. In: Broy, M., Denert, E. (eds) Pioneers and Their Contributions to Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-48354-7_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-48354-7_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42290-7
Online ISBN: 978-3-642-48354-7
eBook Packages: Springer Book Archive