Proving Concurrent Constraint Programming Correct, Revisited

https://doi.org/10.1016/j.entcs.2015.04.011Get rights and content
Under a Creative Commons license
open access

Abstract

Concurrent Constraint Programming (CCP) is a simple and powerful model of concurrency where processes interact by telling and asking constraints into a global store of partial information. Since its inception, CCP has been endowed with declarative semantics where processes are interpreted as formulas in a given logic. This allows for the use of logical machinery to reason about the behavior of programs and to prove properties in a declarative way. Nevertheless, the logical characterization of CCP programs exhibits normally a weak level of adequacy since proofs in the logical system may not correspond directly to traces of the program. In this paper, relying on a focusing discipline, we show that it is possible to give a logical characterization to different CCP-based languages with the highest level of adequacy. We shall also provide a neater way of interpreting procedure calls by adding fixed points to the logical structure.

Keywords

Linear Logic
Concurrent Constraint Programming
Proof Systems
Focusing
Fixed Points

Cited by (0)