Abstract. Concurrent constraint programming is a simple but powerful framework for computation based on four basic computational ideas: concurrency (multiple agents are simultaneously active), communication (they interact via the monotonic accumulation of constraints on shared variables), coordination (the presence or absence of information can guard evolution of an agent), and localization (each agent has access to only a finite, though dynamically varying, number of variables, and can create new variables on the fly). Unlike other foundational models of concurrency such as CCS, CSP, Petri nets and the -calculus, such flexibility is already made available within the context of determinate computation. This allows the development of a rich and tractable theory of concurrent processes within the context of which additional computational notion such as indeterminacy, reactivity, instantaneous interrupts and continuous (dense-time) autonomous evolution have been developed. We survey t...
Vijay A. Saraswat, Martin C. Rinard