The process interpretation of constraint logic programming (clp) leads to a model which is similar for many aspects to (an unsynchronized version of) concurrent constraint programming (ccp). However, it differs from the latter because it supports the notion of consistency: an action can be performed only if it does not lead to an inconsistent store. We develop a denotational, fully abstract semantics for clp with respect to successful, failed and infinite observables. This semantics extends the standard model of clp in two ways: on one hand by capturing infinite computations; on the other hand by characterizing a more general notion of negation. Finally, our work can be regarded as a first step towards the development of a simple model for ccp with atomic tell.
A logical denotational semantics for constraint logic programming
Alessandra Di Pierro
1994-01-01
Abstract
The process interpretation of constraint logic programming (clp) leads to a model which is similar for many aspects to (an unsynchronized version of) concurrent constraint programming (ccp). However, it differs from the latter because it supports the notion of consistency: an action can be performed only if it does not lead to an inconsistent store. We develop a denotational, fully abstract semantics for clp with respect to successful, failed and infinite observables. This semantics extends the standard model of clp in two ways: on one hand by capturing infinite computations; on the other hand by characterizing a more general notion of negation. Finally, our work can be regarded as a first step towards the development of a simple model for ccp with atomic tell.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.