Abstract
This paper outlines a logical approach to abstract data types, which is motivated by, and more adequate for (than algebraic approaches), the practice of programming. Abstract data types are specified as axiomatic theories and notions concerning the former are captured by syntactical concepts concerning the latter. The basic concepts of nambility, conservative extensions and interpretations of theories explain implementation, refinement and parameterisation. Being simple, natural and flexible, this approach is quite appropriate for program development.
Research partly sponsored by CNPq, FINEP and SERC (UK).
Chapter PDF
Similar content being viewed by others
Key Words
References
J. Barwise, ed: Handbook of Mathematical Logic, Studies in Logic and the Foundations of Mathematics, Vol.90, North Holland, 1977.
R.M. Burstall, J.A. Goguen: The Semantics of CLEAR, A Specification Language, (as in D'79)
R.M. Burstall, J.A. Goguen: An Informal Introduction to Specifications using CLEAR, in: "The Correctness Problem in Computer Science", eds. R.S. Boyer, J.S. Moore, Academic Press, 1981
M. Broy, M. Wirsing: Partial Abstract Types, Acta Informatica, Vol.
J. Darlington: A Synthesis of Several Sorting Algorithms, Imperial College of Science and Technology, Department of Computing, London, 1977
B. Domolski: An Example of Hierarchical Program Specification, Proc. of 1979 Copenhagen Winter School on Abstract Sofware Specifications, LNCS86, Springer-Verlag
H.B. Enderton: A Mathematical Introduction to Logic, Academic Press, New York, 1972
H-D. Ehrich: On the Theory of Specification, Implementation and Parameterisation of Abstract Data Types, JACM, Vol. 29, No. 1, 1982
H. Ehrig, H-J. Kreowski: Parameter Passing Commutes with Implementation of Parameterised Data Types, 9th ICALP, LNCS 140, Springer-Verlag
H. Ehrig, H-J. Kreowski, B. Mahr, P. Padawitz: Compound Algebraic Implementations: an Approach to Stepwise Refinement of Software Systems, 9th MFCS, LNCS88, Springer-Verlag, 1980
J.V. Guttag: Abstract Data Types and the Development of Data Structures, Comm. ACM, Vol. 20, No. 6, pp. 396–404, June 1977
J.V. Guttag: Notes on Type Abstraction (Version 2), IEEE TSE, Vol. 6, No. 1, 1980
M. Gogolla: Algebraic Specifications with Partially Ordered Sorts, Tech.Report 169, Abt. Informatik, U. of Dortmund, 1983.
H. Ganzinger: Parameterised Specifications: Parameter Passing and Implementation, ACM, TOPLAS, Vol. 5, No. 3, 1983
J.V. Guttag and J.J. Horning: The Algebraic Specification of Abstract Data Types, Acta Informatica, Vol. 10, No. 1, pp. 27–52, 1978
J.V. Guttag, E. Horowitz, D.R. Musser: The Design of Data Type Specifications, in "Current Trends in Programming Methodology, Vol. IV", Ed. R.T. Yeh, Prentice Hall, 1978
J.A. Goguen, J.W. Thatcher, E.G. Wagner: An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types, in "Current Trends in Programming Methodology, Vol. IV", Ed. R.T. Yeh, Prentice Hall, Englewood Cliffs, 1978
U.L. Hupbach: Abstract Implementation of Abstract Data Types, 9th MFCS, LNCS88, Springer-Verlag, 1980
P. Henderson: Functional Programming: Application and Implementation, Prentice-Hall, 1980
C.A.R. Hoare: Proof of Correctness of Data Representations, Acta Informatica, Vol. 4, pp. 271–281, 1972
C.B. Jones: Software Development: a Rigorous Approach, Prentice-Hall, London, 1980
D.E. Knuth: The Art of Computer Programming, Vol. 3, Addison Wesley, Reading, 1975
B. Liskov: Modular Program Construction Using Abstractions, (as in D'79]
B. Liskov, S. Zilles: An Introduction to Formal Specifications of Data Abstractions, in "Current Trends in Programming Methodology, Vol. I", Ed. R.T. Yeh, Prentice-Hall, Englewood Cliffs, 1977
Z. Manna: The Mathematical Theory of Computation, McGraw-Hill, New York, 1974
T.S.E. Maibaum, P.A.S. Veloso: A Logical Approach to Abstract Data Types, Technical Report, Department of Computing, Imperial College, and Departamento de Informatica, PUC/RJ, 1981
T.S.E. Maibaum, M.R. Sadler, P.A.S. Veloso: Logical Specification and Implementation, Technical Report, Department of Computing, Imperial College, 1983
T.S.E. Maibaum, M.R. Sadler, P.A.S. Veloso: A Straightforward Approach to Parameterised Specifications, Technical Report, Department of Computing, Imperial College, 1983
A. Poigne: Another Look at Parameterisation Using Suborts, MFCS84, LNCS176, 1984.
M.R. Sadler, T.S.E. Maibaum: The Logic of Namability, In preparation
D. Sanella, M. Wirsing: Implementation of Parameterised Specifications, 9th ICALP, LNCS140, Springer-Verlag, 1982
J.R. Schoenfield: Mathematical Logic, Addison Wesley, Reading, 1967
W.M. Turski: Computer Programming Methodology, Heyden, London, 1978
P.A.S. Veloso, T.H.C. Pequeno: Interpretations between Many-Sorted Theories, 2nd Brasilian Colloquium on Logic, Campinas, 1978
M. Wirsing, M. Broy: An Analysis of Semantic Models for Algebraic Specifications, in "Theoretical Foundations of Programming Methodology", eds. M. Broy, G. Schmidt, Reidel, Dordrecht, 1982
M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy: On Hierarchies of Abstract Data Types, Technische Univ., Munchen, Inst. Informatik, 1980
M. Wirsing, P. Pepper, H. Partsch, W. Dosch, M. Broy: On Hierarchies of Abstract Data Types, Acta Informatica, Vol. 20, Fasc. 1, pp. 1–33, 1983
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1985 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Maibaum, T.S.E., Veloso, P.A.S., Sadler, M.R. (1985). A theory of abstract data types for program development: Bridging the gap?. In: Ehrig, H., Floyd, C., Nivat, M., Thatcher, J. (eds) Formal Methods and Software Development. TAPSOFT 1985. Lecture Notes in Computer Science, vol 186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-15199-0_14
Download citation
DOI: https://doi.org/10.1007/3-540-15199-0_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-15199-9
Online ISBN: 978-3-540-39307-8
eBook Packages: Springer Book Archive