skip to main content
article
Free Access

Actors as a special case of concurrent constraint (logic) programming

Authors Info & Claims
Published:01 September 1990Publication History
Skip Abstract Section

Abstract

Saraswat recently introduced the framework of concurrent constraint programming [14]. The essence of the framework is that computations consist of concurrent agents interacting by communicating constraints. Several concurrent constraint programming languages have been defined. They differ in the kinds of constraints that can be used as well as the kinds of operations on constraints which are available. In this paper we introduce a very simple concurrent constraint language we call Lucy, designed to closely mimic the actor model of computation. Agents can communicate only by the posting of constraints upon bags (un-ordered collections possibly with duplicate elements). This very impoverished concurrent constraint language is a syntactic subset of Janus, a concurrent constraint language which closely resembles concurrent logic programming languages such as Guarded Horn Clauses [21], Strand [5], Parlog [2] and Flat Concurrent Prolog [13]. By identifying the subset of Janus which is an actor language, we elucidate the relationship between actors and concurrent logic programming (and its generalization as concurrent constraint programming). Lucy is best not thought of as a unification of logic and constraint programming with actor and object-oriented programming, but as the missing link between these programming language genera.

References

  1. 1 G. Agha. Actors: a model of concurrent computation in distributed systems. PhD thesis, University of Michigan, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 K. L. Clark and S. Gregory. Parlog: parallel programming in logic. TOPLAS, 8(1):1-49, January 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 W.L. Clinger. Foundations of A clor semantics. PhD thesis, MIT, May. 1981.Google ScholarGoogle Scholar
  4. 4 A. Davison. Polka: A Parlog object oriented language. Technical report, Department of Computing, Imperial College, London, 1988.Google ScholarGoogle Scholar
  5. 5 Ian Foster and Stephen Taylor. Strand: A practical parallel programming language. In Proceedings of the North American Logic Programming Conference, 1989.Google ScholarGoogle Scholar
  6. 6 K. Furu'.(awa, Takeuchi. A., S. Kunifuji, H. Yasukawa, M. Ohki, and K. Ueda. Mandala: A logic bm;ed knowledge programming system. In ICOT, e,titor, Proc of the Internation Conference on Fifth Generation Computer Systems, 1984.Google ScholarGoogle Scholar
  7. 7 Carl He~itt. The Ecology of Computation, chapter Offices are open systems. Elsevier Science Publishers/North-Holland, 1988.Google ScholarGoogle Scholar
  8. 8 joxan J~Lffar, J-.L. Lassez, and Michael Maher. Logic Programming: Functions, Relations and Equations, chapter Logic Programming Language Scheme. Prentice Hall, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 K. Kahn, E. Tribble, M. Miller, and D. Bobrow. Research Directions in Object-Oriented Programming, chapter Vulcan: Logical Concurrent Objects, pages 75-112. The MIT Press, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10 Ken Kahn and Mark S. Miller. The Ecology of Com~utation, chapter Language Design and Open Systems. North Holland, 1988.Google ScholarGoogle Scholar
  11. 11 Kenneth Kahn. Objects- a fresh look. In Proceedings of the Third European Conference on Object-C'riented Programming, pages 207-224. Cambridge University Press, July 1989.Google ScholarGoogle Scholar
  12. 12 Hector J. Levesque. Foundations of a functional approac~ to knowledge representation. Artificial Intelligence, 23:155-212, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 Colin Mierowsky. Design and implementation of Flat Concurrent Prolog. Technical Report CS84- 21, Weizmann Institute of Science, December 1984.Google ScholarGoogle Scholar
  14. 14 Vijay A. Saraswat. Concurrent constraint programming languages. Doctoral Dissertation Award and Logic Programming Series. MIT Press, 1990, forthcoming. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 Vijay A. Sara.swat, Kenneth Kahn, and Jacob Levy. Janus--A step towards distributed constraint pl:ogramming. North American Logic Programming Conference, October 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 Vijay A. Saraswat, Kenneth M. Kahn, and Jacob Levy. Distributed constraint programming~the dc framework and janus. Technical report, Xerox PARC, .~mgust 1989.Google ScholarGoogle Scholar
  17. 17 Vijay A. Saraswat and Martin Rinard. Concurrent con:~traint programming. In Proceedings of Seventeea~h A CM Symposium on Principles of Program ming Languages, San Francisco, January 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 Vijay A. Sara.swat, Martin Rinard, and Prakash Panagaden. Fully abstract "may" semantics for concurrent constraint languages. Technical report, Xerox PARC, March 1990.Google ScholarGoogle Scholar
  19. 19 Ehud Shapiro and A. Takeuchi. Object oriented programming in concurrent prolog. New Generation Computing, 1:25-48, 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 Chris Tomlinson and Vineet Singh. Inheritance and synchronization with enabled-sets. In Proceedings of Conference on Object-Oriented Prograining: Syslems, Languages and Applications, New Orleans, Louisiana, pages 103-112, October 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 K Ueda. Guarded Horn Clauses. Technical Report TP~-103, ICOT, June 1985.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 M. Young, A. Tevanian, R. Rashid, D. Golub, J. Eppinger, J. Chew, W. Bolosky, D. Black, and D. Baron. The duality of memory and communication in the implementation of a multiprocessor operating system. In Proceedings of the Eleventh Symposium on Opera,tug System Principles, November 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Actors as a special case of concurrent constraint (logic) programming

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 25, Issue 10
            Oct. 1990
            320 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/97946
            Issue’s Table of Contents
            • cover image ACM Conferences
              OOPSLA/ECOOP '90: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
              September 1990
              336 pages
              ISBN:0897914112
              DOI:10.1145/97945

            Copyright © 1990 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 September 1990

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader