ACM Home Page
Please provide us with feedback. Feedback
Concurrent constraint programming
Full text PdfPdf (1.57 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
San Francisco, California, United States
Pages: 232 - 245  
Year of Publication: 1989
ISBN:0-89791-343-4
Authors
Vijay A. Saraswat  Xerox PARC
Martin Rinard  Stanford University
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 46,   Citation Count: 31
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/96709.96733
What is a DOI?

ABSTRACT

This paper presents a new and very rich class of (concurrent) programming languages, based on the notion of computing with partial information, and the concomitant notions of consistency and entailment.1 In this framework, computation emerges from the interaction of concurrently executing agents that communicate by placing, checking and instantiating constraints on shared variables. Such a view of computation is interesting in the context of programming languages because of the ability to represent and manipulate partial information about the domain of discourse, in the context of concurrency because of the use of constraints for communication and control, and in the context of AI because of the availability of simple yet powerful mechanisms for controlling inference, and the promise that very rich representational/programming languages, sharing the same set of abstract properties, may be possible. To reflect this view of computation, [Sar89] develops the cc family of languages. We present here one member of the family, cc(↓, →) (pronounced “cc with Ask and Choose”) which provides the basic operations of blocking Ask and atomic Tell and an algebra of behaviors closed under prefixing, indeterministic choice, interleaving, and hiding, and provides a mutual recursion operator. cc(↓, →) is (intentionally!) very similar to Milner's CCS, but for the radically different underlying concept of communication, which, in fact, provides a general—and elegant—alternative approach to “value-passing” in CCS. At the same time it adequately captures the framework of committed choice concurrent logic programming languages. We present the rules of behavior for cc agents, motivate a notion of “visible action” for them, and develop the notion of c-trees and reactive congruence analogous to Milner's synchronization trees and observational congruence. We also present an equational characterization of reactive congruence for Finitary cc(↓, →).


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Abr89
S. Abramsky. Tutorial on concurrency. Presented at 1989 POPL, January 1989.
 
AK84
 
BFL85
Ronald J. Brachman, Richard E. Fikes, and Hector J. Levesque. Readings in Knowledge Repre. senation, chapter KRYPTON: A functional approach to Knowledge Representation, pages 411 -429. Morgan Kaufmann Publishers, 1985.
BHR84
BIM88
CG86
 
CM88
 
Dav83
Martin Davis. Automation of Reasoning: Clas. sical papers on computational logic, chapter The prehistory and early history of automated deduction. Springer Verlag, 1983.
 
dBK88
J.W. de Bakker and J.N. Kok. Uniform abstraction, atomicity and contractions in the comparative semantics of Concurrent Prolog. In Proceedings of the Fifth Generation Computer Systems Conference, December 1988.
 
Dij76
 
DvH+88
M. Dincbas, P. van Hentenryck, H. Simonis F. Berthier. The constraint logic programming language CHIP. In Proceedings of the FGCS Conference, November 1988.
 
FT89a
Ion Foster and Steve Taylor. Strand: A practical parallel programming language, in North American Logic Programming Conference, 1989.
 
FT89b
 
GCLS88
Rob Gerth, Mike Codish, Yossi Lichtenstein, and Ehud Shapiro. A fully abstract denotational semantics for Flat Concurrent Prolog. ia LICS 88, 1988.
 
GMS89
HaJm Gaifman, Michael 2I. Ma.her, and Ehud Shapiro. Reactive behavior semantics for concurrent constraint logic programs. In North American Logic Programming Con/erence, October 1989. To appear.
 
Gre87
 
Hen88
JL87
 
JLL
J. Jaffar, J-.L. Lassez, and C. Lassez. Constraint logic programming: Tutorial. It~EE SLP 87 Tutorial.
 
Kah89
Kenneth Kahn. Objects- a fresh look. In Proceedings of the European Conference on Object- Oriented Programming, pages 207-224. Cambridge University Press, July 1989.
 
KYSK88
S. Kliger, E. Yardeni, E. Shapiro, and K. Kahn. The language FCP(:,?). In Conference on Fifth Generation Computer Systems, December 1988.
 
Llo84
 
Mah87
Michael Maher. Logic semantics for a class of committed-choice programs. In 4th International Conference on Logic Programming. MIT Press, May 1987.
 
Mah88
Michael Maher. Complete axiomatizations of the algebras of finite, rational and infinite trees. Technical report, IBM T.J. Watson Research Center, 1988.
 
Mil83
Robin Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267 - 310, 1983.
 
Mil84
 
MR88
Alan Mackworth and Ray Reiter. The logic of depiction. Technical report, University of British Columbia, October 1988.
 
OH86
 
Sar85
 
Sar87a
Vijay A. Sara.swat. Compiling CP(t, I, &) on top of Prolog. Technical Report CMU-CS- 87-174, Computer Science Department, Carnegie Mellon University, October 1987.
Sar87b
 
Sar88
Vijay A. Saraswat. A somewhat logical formulation of CLP synchronization primitives. In Proceedings of LP 88. MIT Press, August 1988.
 
Sar89
 
Sha83
Ehud Shapiro. A subset of Concurrent Prolog and its interpreter. Technical Report CS83-06, Weizmann Institute, 1983.
 
Smo88
Gert Smolka. A feature logic with subsorts. Technical Report Lilog Report 33, IBM Deutschland, May 1988.
 
SRng
Vijay A. Sara.swat and Martin Rinard. Concurrent constraint programming. Technical report, Xerox PARC, forthcoming.
 
Str89
Strand Software Technologies Inc. Strand 88 Users Manual, June 1989.
SWKS88
 
Ued85
K Ueda. Guarded horn clauses. Technical Report TR-103, IGOT Technical report, June 1985.
 
Ued86
K. Ueda. Guarded Horn Clauses. PhD thesis, University of Tokyo, 1986.
 
UF88
K. Ueda and K. Furukawa. Tranformation rules for GtIC programs. In 3d International Conference on Fifth Generation Computer Systems, 1988.

CITED BY  31

Collaborative Colleagues:
Vijay A. Saraswat: colleagues
Martin Rinard: colleagues