A Confluent Calculus for Concurrent Constraint Programming
with Guarded Choice
Kim Marriott and Martin Odersky
Proc. 1st Conf. on Principles and Practice of Constraint Programming,
Cassis, France, September 1995.
Confluence is an important and desirable property as it allows the
program to be understood by considering any desired scheduling rule,
rather than having to consider all possible schedulings.
Unfortunately, the usual operational semantics for concurrent constraint
programs is not confluent as different process schedulings give rise
to different sets of possible outcomes. We show that
it is possible to give a natural confluent calculus for concurrent
constraint programs, if the syntactic domain is extended by a blind
choice operator and a special constant standing for a discarded
branch. This has application to program analysis.