Universal Timed Concurrent Constraint Programming Carlos Olarte1,3 , Catuscia Palamidessi1 , and Frank Valencia2 ´ INRIA Futurs, LIX, Ecole Polytechnique, France. 2 ´ CNRS LIX, Ecole Polytechnique, France. 3 Department of Computer Science, Javeriana University Cali, Colombia. {carlos.olarte, catuscia, frank.valencia}@lix.polytechnique.fr. 1

Abstract In this doctoral work we aim at developing a rich timed concurrent constraint (tcc) based language with strong ties to logic. The new calculus called Universal Timed Concurrent Constraint (utcc) increases the expressiveness of tcc languages allowing infinite behaviour and mobility. We introduce a constructor of the form (abs x, c)P (Abstraction in P) that can be viewed as a dual operator of the hidden operator local x in P . i.e. the later can be viewed as an existential quantification on the variable x and the former as an universal quantification of x, executing P [t/x] for all t s.t. the current store entails c[t/x]. As a compelling application, we applied this calculus to verify security protocols.

1

Introduction

Concurrent Constraint Programming (ccp) [3] is a well-established and mature model for concurrency with several reasoning techniques and strong ties to logic. ccp agents can alternatively be viewed as logic formulae, algebraic terms and computational processes. ccp is based on a monotonic shared-memory model and parametric in an information system. Processes interact by communicating through the shared store posting new constraints (tell(c) operator) or testing the structure of the store (ask c then P ) for synchronisation purposes. Timed Concurrent Constraint (tcc) [2] is a temporal extension of ccp aimed at specifying reactive systems. In tcc time is conceptually divided into discrete intervals and computation occurs in bursts of activity. When an stimulus (i.e. a constraint) is received from the environment, a tcc process is executed with that constraint as the initial store. When the resting point is reached, the environment can observe the store produced and a residual process is computed to be executed in the next time interval. As is shown in [2], tcc programs can be compiled into finite state automata. Motivated in models for the analysis of security protocols where it is necessary to deal with the unbounded capabilities of the spy, in this doctoral work we are interested in increasing the expressiveness of tcc by adding two distinguished capabilities: (1) ability to express infinite behavior and (2) mobility. (1) will allow us to model complex systems such as those emerging e.g. in systemic biology and security and (2) will lead us to a name passing discipline in the tcc model. We have demonstrated that this new language is Turing complete.

2

An universal binder (Abstractions)

utcc is a derived language from tcc adding a new construct for process abstraction. This construct takes the form (abs x, c) P where intuitively P [t/x] is executed for every possible term t s.t. the current store can entail the constraint c[t/x]. This operator is dual w.r.t. the hiding operator (local x , c)P where the former can be viewed as forall x s.t. c(x) do P and the latter as there exists x s.t. c(x) and P . Formalising this new construct has challenging technical problems. In tcc, operational semantics requires that processes quiesce in a finite number of internal reductions to guarantee instantaneous responses[2]. Nevertheless, abstractions can easily generate infinite behaviour within a time unit. For example, consider the ability of composing messages posted in the network, i.e. given two messages m1 and m2 , the spy can build a new compounded message {m1 , m2 }. An abstraction modelling this fact could be (abs x, out(x))(abs y, out(y))out({x, y}) where out is an uninterpreted predicate in the constraint system. Given the output of the messages m1 and m2 , this process generates a new one (out({m1 , m2 })) and with this, a new reduction can take place producing out({m1 , {m1 , m2 }}) and so on. Thus the resting point will never be reached. Inspired in works such as [1], we propose a symbolic semantics for utcc able to compute in a single symbolic step a possible infinite number of internal reductions in the operational semantics. The key point in this approach is to find a constraint representing the possible infinite number of constraints generated by reductions in the operational semantics. We believe that utcc has much to offer to the concurrency theory community. In particular, to reason about security protocols. The underlying assumptions of utcc are reminiscent of those process calculi used for security. The protocols can be represented in a declarative way and reasoned about using the techniques utcc enjoys. Namely, operational, symbolic and denotational semantics. Furthermore, utcc allows for verification of reachability properties using a proof system based on Linear Temporal Logic.

References 1. M. Boreale. Symbolic trace analysis of cryptographic protocols. Lecture Notes in Computer Science, 2076, 2001. 2. V. Saraswat, R. Jagadeesan, and V. Gupta. Foundations of timed concurrent constraint programming. In Samson Abramsky, editor, Proceedings of the 9th Annual IEEE Symp. on Logic in Computer Science, LICS, 1994. 3. V.A. Saraswat, M. Rinard, and P. Panangadnen. Semantic foundation of Concurrent Constraint Programming. In Proc. of 18th Annual ACM Symp. on Principles of Programming Languages. ACM, 1991.

Universal Timed Concurrent Constraint Programming

3 Department of Computer Science, Javeriana University Cali, Colombia. ... Concurrent Constraint Programming (ccp) [3] is a well-established and mature.

89KB Sizes 1 Downloads 198 Views

Recommend Documents

Subexponential concurrent constraint programming
Dec 4, 2016 - Preprint submitted to Theoretical Computer Science .... In this case, the monotonicity guarantees that the degree of preference (see [7]).

Concurrent programming
Page 9. 9. CMSC 15400. Three ways to create concurrent flows. Allow server to handle mul ple clients simultaneously. 1. ..... Single core laptop. 0. 1. 2. 3. 0 2 4 6 ...

A Labelled Semantics for Soft Concurrent Constraint ...
They can be considered as generalised notions of existential quantifier and diagonal element [21], which are expressed in terms of operators of cylindric algebras [18]. 6. Definition 9 (Cylindrification). Let V be a set of variables. A cylindric oper

Concurrent Programming Concepts 1 ... - Semantic Scholar
efficient resource sharing. One of the earliest ideas of .... A comparison of assertions 4 and 7 shows that assertion 4 is a relation .... unlikely that the erroneous program will ever deliver the same result twice for a given input file. The error w

Constraint Programming for Optimization under ... - Roberto Rossi
Sep 10, 2008 - Roberto Rossi1. 1Cork Constraint Computation Centre, University College Cork, Ireland ... approaches computer science has yet made to the Holy Grail of programming: ...... Generating good LB during the search. 65. 62. 130.

pdf-1425\the-jr-programming-language-concurrent-programming-in ...
... apps below to open or edit this item. pdf-1425\the-jr-programming-language-concurrent-progr ... rnational-series-in-engineering-and-computer-scie.pdf.

Contract-oriented programming with timed session types - Trustworthy ...
The value of clocks is in R≥0, like for timed automata. Send and ...... In ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. (POPL) ...

Stochastic Constraint Programming by ... - Dr Roberto Rossi
1Cork Constraint Computation Centre, University College Cork, Ireland. 2Department of ... 4Faculty of Computer Science, Izmir University of Economics, Turkey.

Contract-oriented programming with timed session types - Trustworthy ...
contracts to discipline the interactions among distrusting services. Since it supports the COntract-Oriented paradigm, we called it “CO2 middleware”. Figure 1.1 ...

concurrent programming in java design principles and patterns pdf ...
concurrent programming in java design principles and patterns pdf. concurrent programming in java design principles and patterns pdf. Open. Extract. Open with.

PDF Concurrent Programming in Java™: Design ...
Java Virtual Machine. All Java programmers interested in doing concurrent programming must understand these new concepts. The book approaches the topic ...

Constraint Answer Set Programming Based on HEX ...
Hence, a direct support of constraints within ASP is useful for avoiding this .... atom &g [y](x) wrt. an assignment A is given by a 1+k+l-ary Boolean oracle function f&g that is defined ...... such as global constraints, are up to future work. Moreo

Constraint Answer Set Programming Based on HEX-Programs⋆
IOS Press (2009). 3. Brewka, G., Eiter, T., Truszczynski, M.: Answer set programming at a glance. Comm. ACM. 54(12), 92–103 (2011). 4. Drescher, C., Walsh, T.: ...

New Constraint Programming Approaches for the ...
agents in the context of constraint satisfaction. ... satisfaction problems [Frisch et al., 2003]. ..... straints: each agent must get one and only one object, and.