The Logical Structure of Concurrent Constraint Programming Languages (Abstract)

The Concurrent Constraint Programming paradigm has been the subject of growing interest as the focus of a new paradigm for concurrent computation. Like logic programming it claims close relations to logic. In fact these languages are logics in a certain sense that we make precise. In recent work it was shown that the denotational semantics of determinate concurrent constraint programming languages forms a categorical structure called a hyperdoctrine which is used as the basis of the categorical formulation of first order logic. What this connection shows is the combinators of determinate concurrent constraint programming can be viewed as logical connectives. In the present work we extend these ideas to the operational semantics of these languages and thus make available similar analogies for the indeterminate concurrent constraint programming languages. We also describe a linear extension of concurrent constraint programming and discuss hyperdoctrines for such languages. The discussion concludes with an examination of the prospects for understanding other formalisms for concurrent computation in the same way. One need never have heard of a hyperdoctrine in order to follow the talk.