We present two concurrent semantics (i.e. semantics where concurrency is explicitly represented) for CC programs with atomic tells. One is based on simple partial orders of computation steps, while the other one is based on contextual nets and it is an extension of a previous one for eventual CC programs. Both such semantics allow us to derive concurrency, dependency, and nondeterminism information for the considered languages. We prove some properties about the relation between the two semantics, and also about the relation between them and the operational semantics. Moreover, we discuss how to use the contextual net semantics in the context of CLP programs. More precisely, by interpreting concurrency as possible parallelism, our semantics can be useful for a safe parallelization of some CLP computation steps. Dually, the dependency information may also be interpreted as necessary sequentialization, thus possibly exploiting it for the task of scheduling CC programs. Moreover, our semantics is also suitable for CC programs with a new kind of atomic tell (called locally atomic tell), which checks for consistency only the constraints it depends on. Such a tell achieves a reasonable trade-off between efficiency and atomicity, since the checked constraints can be stored in a local memory and are thus easily accessible even in a distributed implementation. (C) 1998 Published by Elsevier Science B.V.
|Autori interni:||MONTANARI, UGO GIOVANNI ERASMO|
|Autori:||Bueno F; Hermenegildo M; Montanari U; Rossi F|
|Titolo:||Partial order and contextual net semantics for atomic and locally atomic CC programs|
|Anno del prodotto:||1998|
|Digital Object Identifier (DOI):||10.1016/S0167-6423(97)00007-5|
|Appare nelle tipologie:||1.1 Articolo in rivista|