Skip to main content
Log in

Global state considered unnecessary: An introduction to object-based semantics

  • Published:
LISP and Symbolic Computation

Abstract

Semantics of imperative programming languages is traditionally described in terms of functions on global states. We propose here a novel approach based on a notion ofobjects and characterize them in terms of their observable behavior. States are regarded as part of the internal structure of objects and play no role in the observable behavior. It is shown that this leads to considerable accuracy in the semantic modelling of locality and single-threadedness properties of objects.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. I. J. Aalbersberg and G. Rozenberg. Theory of traces.Theoretical Comput. Sci., 60:1–82, 1988.

    Google Scholar 

  2. S. Abramsky. Interaction categories and communicating sequential processes. In A. W. Roscoe, editor,A Classical Mind: Essays in Honor of C. A. R. Hoare, pages 1–16. Prentice-Hall International, 1994.

  3. S. Abramsky and R. Jagadeesan. New foundations for geometry of interaction. InProceedings, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 211–222. IEEE Computer Society Press, June 1992.

  4. S. Abramsky and R. Jagadeesan. Games and full completeness for multiplicative linear logic.J. Symbolic Logic, 59(2):543–574, 1994.

    Google Scholar 

  5. S. Abramsky, R. Jagadeesan, and P. Malacaria. Full abstraction for PCF (extended abstract). InTheoretical Aspects of Computer Software, volume 789 ofLNCS, pages 1–15. Springer-Verlag, 1994.

  6. G. Agha.Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.

  7. K. R. Apt. Ten years of Hoare's logic: A survey.ACM Trans. Program. Lang. Syst., 3(4):431–483, October 1981.

    Google Scholar 

  8. H. P. Barendregt.The Lambda Calculus — Its Syntax and Semantics, 2nd Edition. North-Holland, 1984.

  9. P. N. Benton, G. M. Bierman, V. C. V. de Paiva, and J. M. E. Hyland. Term assignment for intuitionistic linear logic. Technical Report 262, Computer Laboratory, University of Cambridge, August 1992.

  10. G. Berry. Stable models of typed λ-calculi. InFifth Intern. Colloq. Aut., Lang. and Program., volume 62 ofLNCS, pages 72–88. Springer-Verlag, 1978.

  11. G. M. Bierman.On Intuitionistic Linear Logic. PhD thesis, Computer Laboratory, University of Cambridge, December 1993.

  12. C. Brown and D. Gurr. A categorical linear framework for petri nets. InProceedings, Fifth and Annual IEEE Symposium on Logic in Computer Science, pages 208–218. IEEE Computer Society Press, June 1990.

  13. R. Cartwright, P.-L. Curien, and M. Felleisen. Full abstract semantics for observably sequential languages.Inf. Comput., 111(2):297–401, June 1994.

    Google Scholar 

  14. J. W. de Bakker. W.-P. de Roever, and G. Rozenberg, editors.Linear Time, Branching Time and Partial Order in Logics and Models of Concurrency, volume 354 ofLNCS. Springer-Verlag, 1989.

  15. D. P. Freidman and D. S. Wise. An approach to fair applicative multiprogramming. In G. Kahn, editor,Semantics of Concurrent Computation, volume 70 ofLNCS, pages 203–226. Springer-Verlag, 1979.

  16. J.-Y. Girard. Linear logic.Theoretical Comput. Sci., 50:1–102, 1987.

    Google Scholar 

  17. J.-Y. Girard. Towards a geometry of interaction. In Gray and Scedrov [19], pages 69–108.

  18. J.-Y. Girard, Y. Lafont, and P. Taylor.Proofs and Types. Cambridge Univ. Press, 1989.

  19. J. W. Gray and A. Scedrov, editors.Categories in Computer Science and Logic, volume 92 ofContemp. Math. AMS, 1989.

  20. C. A. Gunter.Semantics of Programming Languages: Structures and Techniques. MIT Press, 1992.

  21. V. Gupta.Chu Spaces: A Model of Concurrency. PhD thesis, Stanford University, August 1994.

  22. J. Y. Halpern, A. R. Meyer, and B. A. Trahktenbrot. The semantics of local storage, or what makes the free list free? InTenth Ann. ACM Symp. on Princ. of Program. Lang., pages 245–257. ACM, 1983.

  23. M. Hennessy. A fully abstract denotational model for higher-order processes.InfComp, 112(1):55–95, July 1994.

    Google Scholar 

  24. C. A. R. Hoare. An axiomatic basis for computer programming.Comm. ACM, 12:576–583, 1969.

    Google Scholar 

  25. C. A. R. Hoare. Procedures and parameters: An axiomatic approach. In E. Engeler, editor,Symp. Semantics of Algorithmic Languages, volume 188 ofLect. Notes Math., pages 102–116. Springer-Verlag, 1971.

  26. C. A. R. Hoare. Proof of correctness of data representations.Acta Informatica, 1:271–281, 1972.

    Google Scholar 

  27. C. A. R. Hoare.Communicating Sequential Processes. Prentice-Hall International, London, 1985.

    Google Scholar 

  28. J. M. E. Hyland and C.-H. L. Ong. On full abstraction for PCF (preliminary version). Manuscript, Cambridge University, October 1994.

  29. T. Jim and A. R. Meyer. Full abstraction and the context lemma. In T. Ito and A. R. Meyer, editors,Theoretical Aspects of Computer Software, volume 526 ofLNCS, pages 131–151. Springer-Verlag, 1991.

  30. G. Kahn and D. B. MacQueen. Coroutines and networks of parallel processes. InInformation Processing 77, pages 993–998, 1977.

  31. R. M. Keller and G. Lindstrom. Approaching distributed database implementations through functional programming concepts. InIntl. Conf. on Distributed Computing Systems. IEEE, May 1985.

  32. J. Lambek. Multicategories revisited. In Gray and Scedrov [19].

  33. S. MacLane.Categories for the Working Mathematician. Springer-Verlag, 1971.

  34. A. Mazurkiewicz. Concurrent program schemes and their interpretations. DAIMI Rep. PB 78, Aarhus University, Aarhus, 1977.

  35. A. Mazurkiewicz. Basic notions of trace theory. In de Bakker et al. [14], pages 285–363.

  36. A. R. Meyer and K. Sieber. Towards fully abstract semantics for local variables. InFifteenth Ann. ACM Symp. on Princ. of Program. Lang., pages 191–203. ACM, 1988.

  37. R. Milner. An algebraic definition of simulation between programs. InProc. Second Intern. Joint Conf. on Artificial Intelligence, pages 481–489, London, 1971. The British Computer Society.

  38. R. Milner.Communication and Concurrency. Prentice Hall, 1989.

  39. J. C. Mitchell. Type systems for programming languages. In J. van Leeuwen, editor,Handbook of Theoretical Computer Science, Volume B, pages 365–458. North-Holland, Amsterdam, 1990.

    Google Scholar 

  40. P. Naur (ed). Report on the algorithmic language ALGOL 60.Comm. ACM, 3(5):299–314, May 1960.

  41. M. Odersky, D. Rabin, and P. Hudak. Call by name, assignment and the lambda calculus. InTwentieth Ann. ACM Symp. on Princ. of Program. Lang. ACM, 1993.

  42. P. W. O'Hearn.Semantics of Noninterference: A Natural Approach. PhD thesis, Queen's University, Kingston, Canada, 1990.

    Google Scholar 

  43. P. W. O'Hearn. Linear logic and interference control. InCategory Theory and Computer Science, volume 350 ofLNCS, pages 74–93. Springer-Verlag, 1991.

  44. P. W. O'Hearn. A model for syntactic control of interference.Math. Struct. Comput. Sci., 3:435–465, 1993.

    Google Scholar 

  45. P. W. O'Hearn, A. J. Power, M. Takeyama, and R. D. Tennent. Syntactic control of interference revisited. InProc. Math. Foundations of Program. Semantics: 11th Intern. Conf., New Orleans, March 1995. Tulane University. (to appear).

  46. P. W. O'Hearn and U. S. Reddy. Objects, interference and Yoneda embedding. InProc. Math. Foundations of Program. Semantics: 11th Intern. Conf., New Orleans, March 1995. Tulane University. (to appear).

  47. P. W. O'Hearn and R. D. Tennent. Semantics of local variables. In M. P. Fourman, P. T. Johnstore, and A. M. Pitts, editors,Applications of Categories in Computer Science, pages 217–238. Cambridge Univ. Press, 1992.

  48. P. W. O'Hearn and R. D. Tennent. Parametricity and local variables. Technical Report SU-CIS-93-30, Syracuse University, October 1993. (to appear in Journal of the ACM).

  49. P. W. O'Hearn and R. D. Tennent. Semantical analysis of specification logic, Part 2.Inf. Comput., 107(1):25–57, 1993.

    Google Scholar 

  50. F. J. Oles. Type algebras, functor categories and block structure. In M. Nivat and J. C. Reynolds, editors,Algebraic Methods in Semantics, pages 543–573. Cambridge Univ. Press, 1985.

  51. S. L. Peyton Jones and J. Launchbury. State in Haskell.J. Lisp and Symbolic Comput., this volume, 1995.

  52. S. L. Peyton Jones and P. Wadler. Imperative functional programming. InTwentieth Ann. ACM Symp. on Princ. of Program. Lang. ACM, 1993.

  53. B. C. Pierce and D. N. Turner. Object-oriented programming without recursive types. InTwentieth Ann. ACM Symp. on Princ. of Program. Lang., pages 299–312, ACM, 1993.

  54. G. Plotkin and G. Winskel. Bistructures, bidomains and linear logic. InICALP '94, volume 820 ofLNCS. Springer-Verlag, 1994.

  55. G. D. Plotkin. LCF considered as a programming language.Theoretical Comput. Sci., 5:223–255, 1977.

    Google Scholar 

  56. V. Pratt. The pomset model of parallel processes: Unifying the temporal and the spatial. InSeminar on Concurrency, volume 197 ofLNCS, pages 180–196. Springer-Verlag, 1984.

  57. U. S. Reddy. Global state considered unnecessary: Semantics of interference-free imperative programming. InACM SIGPLAN Workshop on State in Program. Lang., pages 120–135. Technical Report YALEU/DCS/RR-968, June 1993.

  58. U. S. Reddy. A linear logic model of state. Electronic manuscript, University of Illinois (anonymous FTP from cs.uiuc.edu), October 1993.

  59. U. S. Reddy. A linear logic model of state (extended abstract). Technical report, University of Glasgow, January 1993.

  60. U. S. Reddy. Passivity and independence. InProceedings, Ninth Annual IEEE Symposium on Logic in Computer Science, pages 342–352. IEEE Computer Society Press, July 1994.

  61. U. S. Reddy and S. N. Kamin. Two semantic models of object-oriented languages. In C. A. Gunter and J. C. Mitchell, editors,Theoretical Aspects of Object-Oriented Programming, pages 463–496. MIT Press, 1994.

  62. C. Retoré.Réseaux et Séquents Ordonnés Mathématiques. PhD thesis, Université Paris 7, February 1993. (English translation available from the author).

  63. J. C. Reynolds. Syntactic control of interference. InACM Symp. on Princ. of Program. Lang., pages 39–46. ACM, 1978.

  64. J. C. Reynolds.The Craft of Programming. Prentice-Hall International, London, 1981.

    Google Scholar 

  65. J. C. Reynolds. The essence of Algol. In J. W. de Bakker and J. C. van Vliet, editors,Algorithmic Languages, pages 345–372. North-Holland, 1981.

  66. J. C. Reynolds. Idealized Algol and its specification logic. In D. Neel, editor,Tools and Notions for Program Construction, pages 121–161. Cambridge Univ. Press, 1982.

  67. J. C. Reynolds. Preliminary design of the programming language Forsythe. Technical Report CMU-CS-88-159, Carnegie-Mellon University, June 1988.

  68. J. C. Reynolds. Syntactic control of interference, Part II. InIntern. Colloq. Aut., Lang. and Program., volume 372 ofLNCS, pages 704–722. Springer-Verlag, 1989.

  69. D. S. Scott. Relating theories of the lambda calculus. InTo H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, pages 403–450. Academic Press, 1980.

  70. E. Shapiro.Concurrent Prolog: Collected Papers. MIT Press, 1987. (Two volumes).

  71. K. Sieber. New steps towards full abstraction for local variables. InACM SIGPLAN Workshop on State in Program. Lang., pages 88–100. Technical Report YALEU/DCS/RR-968, Yale Yale University, New Haven, June 1993.

    Google Scholar 

  72. K. Sieber. Full abstraction for the second order subset of an Algol-like language (preliminary report). Technical Bericht A 01/94, Universiaet des Saarlandes, Saarbruecken, February 1994.

  73. J. E. Stoy.Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. MIT Press, 1977.

  74. V. Swarup, U. S. Reddy, and E. Ireland. Assignments for applicative languages. In R. J. M. Hughes, editor,Conf. on Functional Program. Lang. and Comput. Arch., volume 523 ofLNCS, pages 192–214. Springer-Verlag, 1991.

  75. R. D. Tennent. Semantics of interference control.Theoretical Comput. Sci., 27:297–310, 1983.

    Google Scholar 

  76. R. D. Tennent. Denotational semantics of Algol-like languages. Internal Tech. Report 88-IR-02, Queen's University, September 1988. (To appear in Abramsky, S., Gabbay, D. M. and Maibaum, T. S. E. (eds)Handbook of Logic in Computer Science, Vol II, Oxford University Press).

  77. R. D. Tennent. Semantical analysis of specification logic.Inf. Comput., 85(2):135–162, 1990.

    Google Scholar 

  78. R. D. Tennent.Semantics of Programming Languages. Prentice-Hall International, London, 1991.

    Google Scholar 

  79. P. Wadler. Is there a use for linear logic? InProc. Symp. on Partial Evaluation and Semantics-Based Program Manipulation, pages 255–273. ACM, 1991. (SIGPLAN Notices, Sep. 1991).

  80. S. Weeks and M. Felleisen. On the orthogonality of assignments and procedures in Algol. InTwentieth Ann. ACM Symp. on Princ. of Program. Lang. ACM, 1993.

  81. P. Wegner. Dimensions of object-based language design. InObject Oriented Prog. Syst., Lang. and Applications. ACM SIGPLAN, 1987.

  82. G. Winskel. An introduction to event structures. In de Bakker et al. [14], pages 364–397.

  83. G. Winskel. Stable bistructure models of PCF. InMath. Foundations of Computer Science, volume 841 ofLNCS. Springer-Verlag, 1994.

  84. G.-Q. Zhang.Logic of Domains. Birkhäuser, Boston, 1991.

    Google Scholar 

  85. G.-Q. Zhang. Some monoidal closed categories of stable domains and event structures.Math. Struct. Comput. Sci., 3:259–276, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Reddy, U.S. Global state considered unnecessary: An introduction to object-based semantics. Lisp and Symbolic Computation 9, 7–76 (1996). https://doi.org/10.1007/BF01806032

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01806032

Keywords

Navigation