Abstract
The advantages of denotational over operational semantics are argued. A denotational semantics is provided for an Algol-like language with finite-mode procedures, blocks with local storage, and sharing (aliasing). Procedure declarations are completely explained in the usual framework of complete partial orders, but cpo's are inadequate for the semantics of blocks, and a new class of store models is developed. Partial correctness theory over store models is developed for commands which may contain calls to global procedures, but do not contain function procedures returning storable values.
A shorter version of this paper was presented by the third author under the title “Understanding Algol: The View of a Recent Convert to Denotational Semantics,” in 1989 IFIPS Proceedings, R. E. Mason, ed., North Holland.
The research reported here was supported in part by NSF Grant MCS80-10707, a grant to the MIT Lab. for Computer Science from the IBM Corporation, and a grant from the National Science and Engineering Research Council of Canada. A portion of this research was performed while the second author was a visiting scientist jointly at the MIT Lab. for Computer Science and the Aiken Computation Lab., Harvard Univ.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
K. R. Apt, Equivalence of operational semantics for a fragment of Pascal, in Formal Descriptions of Programming Language Concepts, E. J. Neuhold, ed., North Holland, 1978.
K. R. Apt, Ten years of Hoare's logic: a survey — part I, ACM Trans. Programming Languages and Systems 3, 1981, 431–483.
K. R. Apt, Ten years of Hoare's logic, a survey, part II: nondeterminism, Foundations of Computer Science IV, Mathematical Center Tracts, 159, Mathematisch Centrum, Amsterdam, 1983, 101–132.
H. P. Barendregt, The Lambda Calculus: Its Syntax and Semantics, Studies in Logic 103, North Holland, 1981.
R. Cartwright and D. Oppen, The logic of aliasing, Acta Informatica 15, 1981, 365–384.
E. M. Clarke, Programming language constructs for which it is impossible to obtain good Hoare-like axioms, J.ACM 26, 1979, 129–147.
S. A. Cook, Soudness and completeness of an axiom system for program verification, SIAM J. Computing 7, 1978, 70–90.
W. Damm, The IO-and OI-hierarchies, Theoretical Computer Science 20, 1982, 95–207.
W. Damm and E. Fehr, A schematological approach to the procedure concept of Algol-like languages, Proc. 5ieme colloque sur les arbres en algebre et en programmation, Lille, 1980, 130–134.
W. Damm and B. Josko, A sound and relatively* complete Hoare-logic for a language with higher type procedures, Lehrstuhl fur Informatik II, RWTH Aachen, Bericht No. 77, 1982, 94pp.
J. De Bakker, Mathematical Theory of Program Correctness, Prentice-Hall International, 1980, 505pp.
J. De Bakker, J. W. Klop, and J.-J.Ch. Meyer, Correctness of programs with function procedures, Logics of Programs, D. Kozen, ed., Lecture Notes in Computer Science 131, Springer, 1982, 94–112.
S. German, E. Clarke, and J. Halpern, Reasoning about procedures as parameters, 1983, this volume.
I. Guessarian, Survey on some classes of interpretations and some their applications, Laboratoire Informatique Theorique et Programmation, 82-46, Univ. Paris 7, 1982.
G. A. Gorelick, A complete axiom system for proving assertions about recursive and non-recursive programs, University of Toronto, Computer Science Dept. TR-75, 1975.
J. Y. Halpern, A good Hoare axiom system for an Algol-like language, 1983, to appear.
D. Harel, A. Pnueli, and J. Stavi, A complete axiomatic system for proving deductions about recursive programs, Proc. 9th ACM Symp. Theory of Computing, 1977, 249–260.
C. A. R. Hoare, An axiomatic basis for computer programming, Comm. ACM, 12, 1969, 576–580.
T. M. V. Janssen and P. van Emde Boas, On the proper treatment of referencing, dereferencing and assignment, 4th Int'l. Coll. Automata, Languages, and Programming, Lecture Notes in Computer Science 52, Springer, 1977, 282–300.
P. J. Landin, A correspondence between Algol 60 and Church's lambda notation, Comm. ACM 8, 1965, 89–101 and 158–165.
H. Langmaack, On procedures as open subroutines, Acta Informatica 2, 1973, 311–333.
H. Langmaack and E. R. Olderog, Present-day Hoare-like systems, 7th Int'l. Coll. Automata, Languages, and Programming, Lecture Notes in Computer Science 85, Springer, 1980, 363–373.
Z. Manna and R. Waldinger, Problematic features of programming languages: a situational-calculus approach, Acta Informatica 16, 1981, 371–426.
J. Meseguer, Completions, factorizations and colimits of ω-posets, Coll. Math. Soc. Janos Bolyai 26. Math. Logic in Computer Science, Salgotarjan, Hungary, 1978, 509–545.
A. R. Meyer, What is a model of the λ-calculus? Information and Control 52, 1982, 87–122.
A. R. Meyer and J. C. Mitchell, Axiomatic definability and completeness for recursive programs, 9th ACM Symposium on Principles of Programming Languages, 1982, 337–346. Revised as: Termination assertions for recursive programs: completeness and axiomatic definability, MIT/LCS/TM-214, MIT, Cambridge, Massachusetts, March, 1982; to appear Information and Control, 1982.
R. E. Milne and C. Strachey, A Theory of Programming Language Semantics, 2 Vols., Chapman and Hall, 1976.
P. Naur et al., Revised report on the algorithmic language Algol 60, Computer J. 5, 1963, 349–367.
E. R. Olderog, Sound and complete Hoare-like calculi based on copy rules, Acta Informatica 16, 1981, 161–197.
E. R. Olderog, A characterization of Hoare's logic for programs with Pascal-like procedures, Proc. 15th ACM Symp. Theory of Computing, 1983a, 320–329.
E. R. Olderog, Hoare's logic for program with procedures — what has been accomplished?, Proc. Logics of Programs, Carnegie-Mellon Univ., Pittsburgh, 1983, to appear, Lecture Notes in Computer Science, Springer, 1983b.
F. J. Oles, Type algebras, functor categories, and block structure, Computer Science Dept., Aarhus Univ. DAIMI PB-156, Denmark, Jan. 1983.
G. D. Plotkin, A Powerdomain for countable non-determinism, 9th Int'l. Coll. Automata, Languages, and Programming, Lecture Notes in Computer Science 140, Springer, 1982, 412–428.
J. C. Reynolds, The essence of Algol, International Symposium on Algorithmic Languages, de Bakker and van Vliet, eds., North Holland, 1981a, 345–372.
J. C. Reynolds, The Craft of Programming, Prentice Hall International Series in Computer Science, 1981b, 434pp.
J. C. Reynolds, Idealized Algol and its specification logic, Syracuse University, Technical Report 1-81, 1981c.
R. L. Schwartz, An axiomatic treatment of Algol 68 Routines, 6th Int'l. Coll. Automata, Languages and Programming, Lecture Notes in Computer Science 71, Springer, 1979, 530–545.
D. S. Scott, Domains for Denotational Semantics, 9th Int'l. Conf. Automata, Languages, and Programming, Lecture Notes in Computer Science 140, Springer, 1982, 577–613; to appear, Information and Control.
J. E. Stoy, Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, Cambridge, Massachusetts, 1977.
B. A. Trakhtenbrot, On relaxation rules in algorithmic logic, Mathematical Foundations of Computer Science 1979, (J. Becvar, ed.), Lecture Notes in Computer Science 74, Springer, 1979, 453–462.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Trakhtenbrot, B.A., Halpern, J.Y., Meyer, A.R. (1984). From denotational to operational and axiomatic semantics for ALGOL-like languages: An overview. In: Clarke, E., Kozen, D. (eds) Logics of Programs. Logic of Programs 1983. Lecture Notes in Computer Science, vol 164. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-12896-4_382
Download citation
DOI: https://doi.org/10.1007/3-540-12896-4_382
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-12896-0
Online ISBN: 978-3-540-38775-6
eBook Packages: Springer Book Archive