Linguistic support of receptionists for shared resources

  • Carl Hewitt
  • Tom Reinhardt
  • Gul Agha
  • Giuseppe Attardi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 197)


This paper addresses linguistic issues that arise in providing support for shared resources in large scale concurrent systems. Our work is based on the Actor Model of computation which unifies the lambda calculus, the sequential stored-program and the object-oriented models of computation. We show how receptionists can be used to regulate the use of shared resources by scheduling their access and providing protection against unauthorized or accidental access. A shared financial account is an example of the kind of resource that needs a receptionist. Issues involved in the implementation of scheduling policies for shared resources are also addressed. The modularity problems involved in implementing servers which multiplex the use of physical devices illustrate how delegation aids in the implementation of parallel problem solving systems for communities of actors.


Actor Model Message Passing Mail Address Concurrent System Shared Object 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Atkinson and Hewitt 79] Atkinson, R. and Hewitt, C. Specification and Proof Techniques for Serializers. IEEE Transactions on Software Engineering SE-5 No. 1, IEEE, January, 1979.Google Scholar
  2. [Attardi and Simi 81] Attardi, G. and Simi, M. Semantics of Inheritance and Attributions in the Description System Omega. Proceedings of IJCAI 81, IJCAI, Vancouver, B.C., Canada, August, 1981.Google Scholar
  3. [Backus 78] Backus, J. Can Programming be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs. Communications of the ACM 21, 8 (August 1978),613–641.Google Scholar
  4. [Baker 78] Baker, H. Actor Systems for Real-Time Computation. Technical Report 197, Mit Laboratory for Computer Science, 1978.Google Scholar
  5. [Baker and Hewitt 77] Baker, H. and Hewitt, C. The Incremental Garbage Collection of Processes. Conference Record of the Conference on AI and Programming Languages, ACM, Rochester, New York, August, 1977, pp.55–59.Google Scholar
  6. [Barber, de Jong, and Hewitt 83] Barber, G.R., de Jong, S.P., and Hewitt, C. Semantic Support for Work in Organizations. Proceedings of IFIP-83, IFIP, Sept., 1983.Google Scholar
  7. [Birtwistle, Dahl, Myhrhaug, and Nygaard 73] Birtwistle, G.M., Dahl, O-J., Myhrhaug, B., Nygaard, K. Simula Begin. Van Nostrand Reinhold, New York, 1973.Google Scholar
  8. [Bobrow and Stefik 82] Bobrow, D. G., Stefik, M. J. Loops: An Object Oriented Programming System for Interlisp. Xerox PARC, 1982.Google Scholar
  9. [Borgida, Mylopoulos, and Wong 82] Borgida, A., Mylopoulos, J.L., Wong, H. K. T. Generalization as a Basis for Software Specification. Perspectives on Conceptual Modeling, Springer-Verlag, 1982.Google Scholar
  10. [Borning and Ingalls 82] Borning, A. H., Ingalls, D. H. Multiple Inheritance in Smalltalk-80. Proceedings of the National Conference on Artificial Intelligence, AAAI, August, 1982.Google Scholar
  11. [Brock and Ackerman 78] Brock, J.D. and Ackerman, W.B. An Anomoly in the Specifications of Nondeterminate Packet Systems. Tech. Rep. Computation Structures Group None 33–1, M.I.T., January, 1978.Google Scholar
  12. [Clinger 81] Clinger, W.D. Foundations of Actor Semantics. AI-TR-633, MIT Artificial Intelligence Laboratory, May, 1981.Google Scholar
  13. [Curry, Baer, Lipkie, and Lee 82] Curry, G., Baer, L., Lipkie, D., Lee B. Traits: An Approach to Multiple-Inheritance Subclassing. Conference on Office Information Systems, ACM SIGOA, June, 1982.Google Scholar
  14. [Dijkstra 77] Dijkstra, E. W. A Discipline of Programming. Prentice-Hall, 1977.Google Scholar
  15. [Friedman and Wise 76] Friedman, D. P., Wise, D. S. The Impact of Applicative Programming on Multiprocessing. Proceedings of the International Conference on Parallel Processing, ACM, 1976, pp. 263–272.Google Scholar
  16. [Greif 75] Greif, I. Semantics of Communicating Parallel Processes. Technical Report 154, MIT, Project MAC, 1975.Google Scholar
  17. [Hewitt 75] Hewitt, C.E. Protection and Synchronization in Actor Systems. SIGCOMMSIGOPS Interface Workshop on Interprocess Communications, ACM, March, 1975.Google Scholar
  18. [Hewitt 77] Hewitt, C.E. Viewing Control Structures as Patterns of Passing Messages. Journal of Artificial Intelligence 8–3 (June 1977), 323–364.Google Scholar
  19. [Hewitt 83] Hewitt, C.E. Open Systems. Perspectives on Conceptual Modeling, Springer-Verlag, 1983.Google Scholar
  20. [Hewitt and Baker 77] Hewitt, C. and Baker, H. Laws for Communicating Parallel Processes. 1977 IFIP Congress Proceedings, IFIP, August, 1977, pp. 987–992.Google Scholar
  21. [Hewitt and de Jong 83] Hewitt, C., de Jong, P. Analyzing the Roles of Descriptions and Actions in Open Systems. Proceedings of the National Conference on Artificial Intelligence, AAAI, August, 1983.Google Scholar
  22. [Hewitt, Attardi, and Lieberman 79a] Hewitt C., Attardi G., and Lieberman H. Specifying and Proving Properties of Guardians for Distributed Systems. Proceedings of the Conference on Semantics of Concurrent Computation, Vol. 70, INRIA, Springer-Verlag, Evian, France, July, 1979, pp. 316–336.Google Scholar
  23. [Hewitt, Attardi, and Lieberman 79b] Hewitt, C. E., Attardi, G., and Lieberman, H. Delegation in Message Passing. Proceedings of First International Conference on Distributed Systems, ACM, Huntsville, October, 1979.Google Scholar
  24. [Hoare 74] Hoare, C. A. R. Monitors: An Operating System Structuring Concept. CACM (October 1974).Google Scholar
  25. [Hoare 76] Hoare, C.A.R. Language Hierarchies and Interfaces. In Lecture Notes in Computer Science, Springer-Verlag, 1976.Google Scholar
  26. [Hoare 78] Hoare, C. A. R. Communicating Sequential Processes. CACM 21, 8 (August 1978), 666–677.Google Scholar
  27. [Kahn 81] Kahn, K. Uniform—A Language Based Upon Unification which Unifies (much of) Lisp, Prolog, and Act 1. University of Uppsala, March, 1981.Google Scholar
  28. [Kornfeld and Hewitt 81] Kornfeld, W. A. and Hewitt, C. The Scientific Community Metaphor. IEEE Transactions on Systems, Man, and Cybernetics SMC-11, 1 (January 1981).Google Scholar
  29. [Landin 65] Landin, P. A Correspondence Between ALGOL 60 and Church's Lambda Notation. Communication of the ACM 8, 2 (February 1965).Google Scholar
  30. [McCarthy 62] McCarthy, John. LISP 1.5 Programmer's Manual. The MIT Press, Cambridge, Ma., 1962.Google Scholar
  31. [Milner 79] Milner, R. Flowgraphs and Flow Algebras. JACM 26, No. 4 (1979).Google Scholar
  32. [Reynolds 74] Reynolds, J.C. On the Relation Between Direct and Continuation Semantics. Proceedings of the Second Colloquium on Automata, Language and Programming, Springer-Verlag, 1974.Google Scholar
  33. [Strachey and Wadsworth 74] Strachey, C. and Wadsworth, C.P. Continuations-A Mathematical Semantics for Handling Full Jumps. University of Oxford, Programming Research Group, 1974.Google Scholar
  34. [Ward and Halstead 80] Ward, S. and Halstead, R. A Syntactic Theory of Message Passing. JACM 27, No. 2 (1980), 365–383.Google Scholar
  35. [Weinreb and Moon 81] Weinreb, D. and Moon D. LISP Machine Manual. MIT, 1981.Google Scholar

Copyright information

© Springer-Verlag 1985

Authors and Affiliations

  • Carl Hewitt
    • 1
  • Tom Reinhardt
    • 1
  • Gul Agha
    • 1
  • Giuseppe Attardi
    • 1
  1. 1.MIT Artificial Intelligence LaboratoryCambridge

Personalised recommendations