Efficient Verification and New Reasoning Techniques for Concurrent Constraint Programming

Luis Fernando Pino Duque 1, 2
2 COMETE - Concurrency, Mobility and Transactions
Inria Saclay - Ile de France, LIX - Laboratoire d'informatique de l'École polytechnique [Palaiseau]
Abstract : Concurrent constraint programming (CCP) is a mature linguistic formalism from the family of process calculi and hence it treats processes much like the lambda-calculus treats computable functions. CCP is based on shared-memory communication where processes interact by adding and querying partial information represented as constraints (e.g., "x > 42") in a global store. This dissertation is focused on the development of novel reasoning techniques for program equivalence in CCP and their efficient verification. The first part of the thesis describes an algorithm for deciding strong bisimilarity for finite CCP processes. This is accomplished by first showing that the standard partition refinement approach does not work for CCP. Then it is shown how to adapt the standard approach for the case of CCP. Furthermore, it is proven that this procedure suffers from the state explosion, common in the verification of concurrent systems, due mostly to the presence of non-deterministic choices. The second part is devoted to the development of a weak semantics for CCP. As pointed out in the literature, one can use the procedure for strong bisimilarity to decide weak bisimilarity. The idea is to define a new transition relation based on the operational semantics. This method is known as saturation. The standard saturation is defined by omitting the silent transitions in the calculus. This works for CCS and other calculi, however in the case of CCP, because of its involved labeled transitions, it is shown that the standard technique is not complete. Then a new saturation is defined called weak semantics for CCP. It consists of the reflexive and transitive closure under any constraint in CCP instead of just closing with respect to the silent transitions. Most importantly, it is proven that the proposed weak semantics is sound and complete for CCP. As a consequence, the new saturation can be used for checking weak bisimilarity. In the third part the focus is shifted toward efficiency on the verification of weak bisimilarity. To achieve this, a representative sub-language of CCP is considered: the choice-free fragment (CCP\+). First, it is shown that the verification algorithms described above have an exponential-time complexity even for programs from CCP\+. Then by exploiting confluence, a distinctive feature from this fragment, two alternative polynomial-time decision procedures for CCP\+ weak bisimilarity are proposed. Each of these two procedures has an advantage over the other. One has a better time complexity, while the other can be easily adapted for the full language of CCP to produce significant state space reductions. The relevance of both procedures derives from the importance of CCP\+. This fragment, which has been the subject of much theoretical study, has strong ties to first-order logic and an elegant denotational semantics, and it can be used to model real-world situations. Most importantly, previously it was proven that weak bisimilarity in CCP\+ coincides with the standard observational equivalence for CCP\+. Hence from the results presented in this part, two efficient algorithms for checking program equivalence in CCP\+ are obtained. The last part addresses the congruence issue for the full language of CCP. It is shown that weak saturated barbed bisimilarity is not a congruence for CCP, as is the case for weak bisimilarity in CCS. This problem is tackled by introducing a new notion that characterizes the weakest equivalence included in the congruence induced by weak bisimilarity for CCP. We call this new notion weak full bisimilarity. More importantly, it is proven that weak full bisimilarity is a congruence for the full language of CCP. It is also shown that weak full bisimilarity coincides with the standard notion of observational equivalence in CCP\+. To the best of our knowledge, this is the first notion of weak bisimilarity that is a congruence for the full language of CCP. This dissertation contributes to the study of program equivalence in CCP. It provides an exponential-time decision procedure for strong bisimilarity in finite CCP as well as its adaptation to checking weak bisimilarity. Furthermore, this dissertation proposes two alternative polynomial-time algorithms for the verification of observational equivalence in the absence of nondeterministic choice. It concludes by proving that the existing notions of bisimilarity are not adequate for CCP with choice. Finally, it defines a novel reasoning technique which is proven to be the right notion of equivalence for the full language of CCP.
Complete list of metadatas

Cited literature [69 references]  Display  Hide  Download

https://pastel.archives-ouvertes.fr/tel-01111979
Contributor : Luis Fernando Pino Duque <>
Submitted on : Monday, February 2, 2015 - 8:27:21 AM
Last modification on : Wednesday, March 27, 2019 - 4:41:28 PM
Long-term archiving on : Wednesday, May 27, 2015 - 3:25:57 PM

Identifiers

  • HAL Id : tel-01111979, version 1

Collections

Citation

Luis Fernando Pino Duque. Efficient Verification and New Reasoning Techniques for Concurrent Constraint Programming. Data Structures and Algorithms [cs.DS]. Ecole Polytechnique, 2014. English. ⟨tel-01111979⟩

Share

Metrics

Record views

665

Files downloads

791