Synchronisation in Scc

Concurrent constraint programming is classically based on asynchronous communication via a shared store. This is obtained by ask primitives blocking when the information on the store is not complete enough to entail the asked constraints. Following these lines, a natural way of obtaining synchronous communication in concurrent constraint programming is to force the reduction of ask and tell primitives to synchronise. Specifically, in our approach, a tell operation is reduced when an ask operation requires the told information. Moreover, the reduction of the two primitives is performed simultaneously. However, there is no reason to block ask and tell primitives on information which is already present. Consequently, any tell(c) and ask(c) operations whose constraint argument c is entailed by the current store are reduced without partners. The scheme is finally made slightly more general by, on the one hand, permitting the synchronisation of more than two partners and, on the other hand, introducing a ficticious tell primitive which leaves the store unchanged but allows for synchronisation This framework, called Scc, is studied in [1, 21 to which the reader is referred for more details as well as for comparison with related work