Abstract

AbstractTimed Concurrent Constraint Programming (tcc) is a declarative model for concurrency offering a logic for specifying reactive systems, i.e., systems that continuously interact with the environment. The universaltccformalism (utcc) is an extension oftccwith the ability to express mobility. Here mobility is understood as communication of private names as typically done for mobile systems and security protocols. In this paper we consider the denotational semantics fortcc, and extend it to a “collecting” semantics forutccbased on closure operators over sequences of constraints. Relying on this semantics, we formalize a general framework for data flow analyses oftccandutccprograms by abstract interpretation techniques. The concrete and abstract semantics that we propose are compositional, thus allowing us to reduce the complexity of data flow analyses. We show that our method is sound and parametric with respect to the abstract domain. Thus, different analyses can be performed by instantiating the framework. We illustrate how it is possible to reuse abstract domains previously defined for logic programming to perform, for instance, a groundness analysis fortccprograms. We show the applicability of this analysis in the context of reactive systems. Furthermore, we also make use of the abstract semantics to exhibit a secrecy flaw in a security protocol. We also show how it is possible to make an analysis which may show thattccprograms are suspension-free. This can be useful for several purposes, such as for optimizing compilation or for debugging.

Highlights

  • Concurrent Constraint Programming (Saraswat et al 1991; Saraswat 1993) has emerged as a simple but powerful paradigm for concurrency tied to logic that extends and subsumes both concurrent logic programming (Shapiro 1989) and constraint logic programming (Jaffar and Lassez 1987)

  • In this paper we consider the denotational semantics for tcc, and we extend it to a “collecting” semantics for utcc based on closure operators over sequences of constraints

  • The concrete and abstract semantics we propose are compositional, allowing us to reduce the complexity of data flow analyses

Read more

Summary

Introduction

Concurrent Constraint Programming (ccp) (Saraswat et al 1991; Saraswat 1993) has emerged as a simple but powerful paradigm for concurrency tied to logic that extends and subsumes both concurrent logic programming (Shapiro 1989) and constraint logic programming (Jaffar and Lassez 1987). The ideas of this paper stem mainly from the works of the authors in (de Boer et al 1995; Falaschi et al 1997a; Falaschi et al 1997b; Nielsen et al 2002a; Olarte and Valencia 2008a) to give semantic characterization of ccp calculi and from the works in (Falaschi et al 1993; Codish et al 1994; Falaschi et al 1997a; Zaffanella et al 1997; Falaschi et al 2007) to provide abstract interpretation frameworks to analyze concurrent logic-based languages.

Preliminaries
Reactive Systems and Timed CCP
Mobile behavior and utcc
Observables and Behavior
Input-Output Behavior
Closure Properties and Strongest Postcondition
A Denotational model for TCC and UTCC
Compositional Semantics
Semantic Correspondence
Abstract Constraint Systems
Abstract Semantics
Soundness of the Approximation
Obtaining a finite analysis
Applications
Verification of Security Protocols
Groundness Analysis
Reactive Systems
Suspension Analysis
Findings
Concluding Remarks
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.