|
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
|
B. Bloom , S. Istrail , A. R. Meyer, Bisimulation can't be traced, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.229-239, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73580]
|
 |
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
|
Vijay A. Saraswat , Kenneth Kahn , David Weinbaum, Detecting stable properties of networks in concurrent logic programming languages, Proceedings of the seventh annual ACM Symposium on Principles of distributed computing, p.210-222, August 15-17, 1988, Toronto, Ontario, Canada
[doi> 10.1145/62546.62582]
|
| |
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
|
|
|
|
|
|
|
|
Frank S. de Boer , Maurizio Gabbrielli , Elena Marchiori , Catuscia Palamidessi, Proving concurrent constraint programs correct, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.98-108, January 16-19, 1994, Portland, Oregon, United States
|
|
|
Haim Gaifman , Michael J. Maher , Ehud Shapiro, Replay, recovery, replication, and snapshots of nondeterministic concurrent programs, Proceedings of the tenth annual ACM symposium on Principles of distributed computing, p.241-255, August 19-21, 1991, Montreal, Quebec, Canada
|
|
|
Roberto Barbuti , Michael Codish , Roberto Giacobazzi , Giorgio Levi, Modelling Prolog control, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.95-104, January 19-22, 1992, Albuquerque, New Mexico, United States
|
|
|
Vijay A. Saraswat , Martin Rinard , Prakash Panangaden, The semantic foundations of concurrent constraint programming, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.333-352, January 21-23, 1991, Orlando, Florida, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dina Q. Goldin , Scott A. Smolka , Paul C. Attie , Elaine L. Sonderegger, Turing machines, transition systems, and interaction, Information and Computation, v.194 n.2, p.101-128, November 1, 2004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Peter Van Roy , Per Brand , Denys Duchier , Seif Haridi , Christian Schulte , Martin Henz, Logic programming in the context of multiparadigm programming: the Oz experience, Theory and Practice of Logic Programming, v.3 n.6, p.717-763, November 2003
|
|
|
|
|
|
|
|
|
|
|