Advertisement

An axiomatic treatment of ALGOL 68 routines

  • Richard L. Schwartz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 71)

Abstract

An axiomatic treatment of ALGOL 68 routines (procedures and functions) is presented. An approach to axiomatically defining the semantics of an expression-oriented language is first introduced. Using this, rules of inference for routines are given. The rules contain no aliasing restrictions, allow parameters of arbitrary modes including routines, treat full static scoping of identifiers, and allow side-effects to global variables. Attendant issues in language design and verification are also discussed.

Keywords

Actual Parameter Predicate Symbol Induction Rule Mode Algebra Abstract Syntax Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Car 78]
    Cartwright, R., D. Oppen. "Unrestricted Procedure Calls in Hoare's Logic," Proceedings of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tuscon, Arizona, January 1978.Google Scholar
  2. [Cla 76]
    Clarke, E. "Pathological Interaction of Programming Language Features," Computer Science Department, Duke University, Report CS-1976-15, September 1976.Google Scholar
  3. [Cla 77]
    Clarke, E. "Programming Language Constructs for which it is Impossible to Obtain Good Hoare-like Axiom Systems," Proceedings of the Fourth ACM Symposium on Principles of Programming Languages, Los Angeles, January 1977.Google Scholar
  4. [Coo 76]
    Cook, S.A. "Soundness and Completeness of an Axiom System for Program Verification," Computer Science Department, University of Toronto, Report 95, June 1976.Google Scholar
  5. [DOD 78a]
    Department of Defense. Blue Programming Language Specification, February 1978.Google Scholar
  6. [DOD 78b]
    Department of Defense. Green Programming Language Specification, February 1978.Google Scholar
  7. [DOD 78c]
    Department of Defense. Red Programming Language Specification, February 1978.Google Scholar
  8. [DOD 78d]
    Department of Defense. Yellow Programming Language Specification, February 1978.Google Scholar
  9. [Flo 67]
    Floyd, R.W. "Assigning Meanings to Programs," Proceedings of the Symposium of Applied Mathematics, 19, in J.T. Schwartz, Editor, Mathematical Aspects of Computer Science, pp. 19–32, American Mathematical Society, Providence, Rhode Island, 1967.Google Scholar
  10. [Fok 77]
    Fokkinga, M. "Axiomatization of Declarations and the Formal Treatment of an Escape Construct," IFIP Technical Committee 2 Meeting, Toronto Canada, August 1977.Google Scholar
  11. [Gor 75]
    Gorelick, S. "A Complete Axiomatic System for Proving Assertions about Recursive and Non-Recursive Programs," Computer Science Department, University of Toronto, Report 75, January 1975.Google Scholar
  12. [Gut 78]
    Guttag, J., J. Horning, R. London. "A Proof Rule for EUCLID Procedures," in E. Neuhold, Editor, Formal Description of Programming Concepts, North Holland Publishing Company, 1978.Google Scholar
  13. [Hoa 69]
    Hoare, C.A.R. "An Axiomatic Basis for Computer Programming," Communications of the ACM, 12:10, October 1969.Google Scholar
  14. [Hoa 71]
    Hoare, C.A.R. "Procedures and Parameters: An Axiomatic Approach," Symposium on Semantics of Algorithmic Languages, E. Engeler, Editor, Springer Verlag, pp. 102–116, 1971.Google Scholar
  15. [Lam 77]
    Lampson, B., et al. "Report on the Programming Language EUCLID," SIGPLAN Notices, 12:2, 1977.Google Scholar
  16. [Lon 78]
    London, R., private communication, August 1978.Google Scholar
  17. [Nau 63]
    Naur, P., Editor. "Revised Report on the Algorithmic Language ALGOL 60," Communications of the ACM, 6:3, March 1963.Google Scholar
  18. [Owi 75]
    Owicki, S. Axiomatic Proof Techniques for Parallel Programs, Ph.D. Dissertation, Cornell University, Ithaca, New York, 1975.Google Scholar
  19. [Sch 78]
    Schwartz, R. "An Axiomatic Semantic Definition of ALGOL 68," Computer Science Department, University of California at Los Angeles, UCLA-34-P214-75, August 1978 (Ph.D. Dissertation).Google Scholar
  20. [Sch 79a]
    Schwartz, R. "An Axiomatic Treatment of Asynchronous Parallel Processes in ALGOL 68," submitted for publication, January 1979.Google Scholar
  21. [Sch 79b]
    Schwartz, R. "On Axiomatizability as a Language Design Tool," January 1979.Google Scholar
  22. [ScB 79]
    Schwartz, R., D. Berry. "A Semantic View of ALGOL 68," Journal of Computer Languages, Vol. 4, No. 1, 1979.Google Scholar
  23. [Tan 76]
    Tanenbaum, A. "A Tutorial on ALGOL 68," ACM Computing Surveys, Vol. 8, No. 2, June 1976.Google Scholar
  24. [vWi 69]
    van Wijngaarden, A., Editor. "Report on the Algorithmic Language ALGOL 68," Numerische Mathematik, 14, pp. 79–218, 1969.Google Scholar
  25. [vWi 75]
    van Wijngaarden, A., et al., Editor. "Revised Report on the Algorithmic Language ALGOL 68," Acta Informatica, 5, 1975.Google Scholar
  26. [Wir 71]
    Wirth, N. "The Programming Language PASCAL," Acta Informatica, 1, pp. 35–63, 1971.Google Scholar
  27. [Wul 76]
    Wulf, W., R.L. London, M. Shaw. "Abstraction and Verification in ALPHARD: Introduction to Language and Methodology," Information Sciences Institute Technical Report ISI/RR-76-46, Marina del Rey, California, June 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1979

Authors and Affiliations

  • Richard L. Schwartz
    • 1
  1. 1.Department of Applied MathematicsThe Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations