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.
- 1 Batey, M., Ed. Working Draft of ECMA/ANSI PL/I Standard Tenth Rev., ANSI, New York, (Sept. 1973).]]Google Scholar
- 2 Birkhoff, G., and Lipson, J.D. Heterogeneous algebras. J. Combinatorial Theory 8 (1970), 115-133.]]Google ScholarCross Ref
- 3 Dahl, O.-J., Nygaard, K., and Myhrhaug, B. The SIMULA 67 Common Base Language. Norwegian Comptng. Centre, Oslo, 1968.]] Google ScholarDigital Library
- 4 Dijkstra, E.W. Notes on structured programming. In Structured Programming, Academic Press, New York, 1972.]] Google ScholarDigital Library
- 5 Floyd, R.W. Assigning Meaning to Programs. Proc. Symp. in Applied Math., Vol. XIX, AMS, Providence, R.I., 1967, pp. 19-32.]]Google ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 9 Guttag, J.V. and Horning, J.J., The algebraic specifications of abstract data types. Acta Informatica (to appear).]]Google Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 12 Hoare, C.A.R., Proof of correctness of data representations. Acta Informatica 1 (1972), 271-281.]]Google ScholarDigital Library
- 13 Hoare, C.A.R., and Wirth, N. An axiomatic definition of the programming language PASCAL. Acta lnformatica 2 (1973), 335- 355.]]Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 17 Musser, D. Private communication, 1975.]]Google Scholar
- 18 Palme, J. Protected program modules in SIMULA 67. FOAP Rep. C8372-M3(E5), Res. Inst. of National Defense, Stockholm, 1973.]]Google Scholar
- 19 Parnas, D.L. A technique for the specification of software modules with examples. Comm. ACM 15, 5 (May 1973), 330-336.]] Google ScholarDigital Library
- 20 Parnas, D.L. Information distribution aspects of design methodology. Information Processing 71, North Holland Pub. Co., Amsterdam, 1971, pp. 339-344.]]Google Scholar
- 21 Spitzen, J., and Wegbreit, B. The verification and synthesis of data structures. Acta Informatica 4 (1975), 127-144.]]Google ScholarDigital Library
- 22 Standish, T.A. Data structures: An axiomatic approach. BBN Rep. No. 2639, Bolt, Beranek and Newman, Cambridge, Mass., (1973).]]Google Scholar
- 23 Wegbreit, B., and Spitzen, J. Proving properties of complex data structures. J. ACM 23, 2 (April 1976), 389-396.]] Google ScholarDigital Library
- 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 ScholarCross Ref
- 25 Zilles, S.N. Abstract specifications for data types. IBM Res. Lab. San Jose, Calif., 1975.]]Google Scholar
Recommendations
Abstract data types and software validation
A data abstraction can be naturally specified using algebraic axioms. The virtue of these axioms is that they permit a representation-independent formal specification of a data type. An example is given which shows how to employ algebraic axioms at ...
Abstract data types and the development of data structures
Software pioneersAbstract 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 ...
Data abstractions for database systems
Data abstractions were originally conceived as a specification tool in programming. They also appear to be useful for exploring and explaining the capabilities and shortcomings of the data definition and manipulation facilities of present-day database ...
Comments