100
Universal Temporal Concurrent Constraint Programming. Carlos Olarte’s Ph.D Defense. Supervisors: C. Palamidessi and F. Valencia. INRIA and LIX, ´ Ecole Polytechnique Paris. 29 Sep 2009.

Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Universal Temporal Concurrent ConstraintProgramming.

Carlos Olarte’s Ph.D Defense.Supervisors: C. Palamidessi and F. Valencia.

INRIA and LIX, Ecole Polytechnique Paris.

29 Sep 2009.

Page 2: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Systems are everywhere:

Engineering : Security protocols, service oriented computing, mobilecomputing, synchronous systems.

Science : Biological and chemical systems.

Arts : Multimedia Interaction.

Models of Concurrency

Formal Models to describe and analyze concurrent systems. They must be:

Simple.

Expressive.

Formal.

Provide reasoning techniques.

Some Examples : CCS [Mil89], the π-calculus [MPW92], CSP [Hoa85],ACP [BK85], CCP [Sar93].

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 3: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Systems are everywhere:

Engineering : Security protocols, service oriented computing, mobilecomputing, synchronous systems.

Science : Biological and chemical systems.

Arts : Multimedia Interaction.

Models of Concurrency

Formal Models to describe and analyze concurrent systems. They must be:

Simple.

Expressive.

Formal.

Provide reasoning techniques.

Some Examples : CCS [Mil89], the π-calculus [MPW92], CSP [Hoa85],ACP [BK85], CCP [Sar93].

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 4: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Systems are everywhere:

Engineering : Security protocols, service oriented computing, mobilecomputing, synchronous systems.

Science : Biological and chemical systems.

Arts : Multimedia Interaction.

Models of Concurrency

Formal Models to describe and analyze concurrent systems. They must be:

Simple.

Expressive.

Formal.

Provide reasoning techniques.

Some Examples : CCS [Mil89], the π-calculus [MPW92], CSP [Hoa85],ACP [BK85], CCP [Sar93].

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 5: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Constraint Programming (CCP) [Sar93] is a declarativemodel for Concurrency where agents interact by telling and askinginformation represented as constraints in a global store .

The type of constraints and the entailment relation is given by aConstraint System (e.g. x > 42 |= x > 0).

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 6: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Constraint Programming (CCP) [Sar93] is a declarativemodel for Concurrency where agents interact by telling and askinginformation represented as constraints in a global store .

The type of constraints and the entailment relation is given by aConstraint System (e.g. x > 42 |= x > 0).

tell temperature > 42 ask temperature = 50 then P

ask 0<temperature<100 then Q

temperature=?

tell temperature < 70

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 7: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Constraint Programming (CCP) [Sar93] is a declarativemodel for Concurrency where agents interact by telling and askinginformation represented as constraints in a global store .

The type of constraints and the entailment relation is given by aConstraint System (e.g. x > 42 |= x > 0).

ask temperature = 50 then P

ask 0<temperature<100 then Q

42 <temperature<70

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 8: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Motivation

Concurrent Constraint Programming (CCP) [Sar93] is a declarativemodel for Concurrency where agents interact by telling and askinginformation represented as constraints in a global store .

The type of constraints and the entailment relation is given by aConstraint System (e.g. x > 42 |= x > 0).

ask temperature = 50 then P

Q

42 <temperature<70

Remains Blocked

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 9: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our Goal

We aim at developing a theory for a CCP-based model for thespecification of mobile reactive systems where logic and behavioralapproaches coexist coherently.

Criteria:

Declarative : allowing for rechability analysis using deduction in logic.

Determinism : which is the source of CCP’s elegant and simplesemantic characterizations.

Applications in emergent application areas.

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 10: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our Goal

We aim at developing a theory for a CCP-based model for thespecification of mobile reactive systems where logic and behavioralapproaches coexist coherently.

Criteria:

Declarative : allowing for rechability analysis using deduction in logic.

Determinism : which is the source of CCP’s elegant and simplesemantic characterizations.

Applications in emergent application areas.

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 11: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our ApproachMobility in CCP

Local variables define boundaries of interaction . How can we change thecommunication structure of the processes?

Variables as communication channels [Sar93].– channels can be used only once.

Atomic CCP with pattern matching [LM92].– Atomic CCP is non-deterministic.

Adding linear parametric asks (LCC [FRS01, SL92]).– Non-determinism is introduced.

Adding persistent parametric asks.–Not all the inputs must be persistent.

Our approach : A CCP-based calculus with temporary parametric asks :The Universal Timed CCP calculus (utcc).

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 12: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our Contributions

Reasoning Techniques for utcc:

A novel symbolic semantics based on temporal formulae.

Interpretation of utcc processes as formulae in Pnueli’s FLTL .

A denotational semantics based on closure operators .

Abstract semantics as basis for the static analysis of utcc programs.

Theoretical Results:

We prove the undecidability of the Monadic fragment of Pnueli’sFirst-Order LTL.

Applications:

Closure operator semantics for languages for security .

Declarative interpretation and temporal extensions for sessions .

Modeling of multimedia interactive systems.

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 13: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our Contributions

Reasoning Techniques for utcc:

A novel symbolic semantics based on temporal formulae.

Interpretation of utcc processes as formulae in Pnueli’s FLTL .

A denotational semantics based on closure operators .

Abstract semantics as basis for the static analysis of utcc programs.

Theoretical Results:

We prove the undecidability of the Monadic fragment of Pnueli’sFirst-Order LTL.

Applications:

Closure operator semantics for languages for security .

Declarative interpretation and temporal extensions for sessions .

Modeling of multimedia interactive systems.

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 14: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Our Contributions

Reasoning Techniques for utcc:

A novel symbolic semantics based on temporal formulae.

Interpretation of utcc processes as formulae in Pnueli’s FLTL .

A denotational semantics based on closure operators .

Abstract semantics as basis for the static analysis of utcc programs.

Theoretical Results:

We prove the undecidability of the Monadic fragment of Pnueli’sFirst-Order LTL.

Applications:

Closure operator semantics for languages for security .

Declarative interpretation and temporal extensions for sessions .

Modeling of multimedia interactive systems.

Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 15: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Outline Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 16: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 17: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

The tcc Model [SJG94]

1 Receives a stimulus (i.e a constraint) from the environment.

2 Computes a CCP process in the current time-unit and wait forstability.

3 Responds with the resulting store.

4 Executes the Residual process in the next time-unit.

* Note: Stores are not automatically transferred from a time unit tothe next one.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 18: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

The tcc Model [SJG94]

1 Receives a stimulus (i.e a constraint) from the environment.

2 Computes a CCP process in the current time-unit and wait forstability.

3 Responds with the resulting store.

4 Executes the Residual process in the next time-unit.

* Note: Stores are not automatically transferred from a time unit tothe next one.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 19: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

The tcc Model [SJG94]

1 Receives a stimulus (i.e a constraint) from the environment.

2 Computes a CCP process in the current time-unit and wait forstability.

3 Responds with the resulting store.

4 Executes the Residual process in the next time-unit.

* Note: Stores are not automatically transferred from a time unit tothe next one.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 20: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

The tcc Model [SJG94]

1 Receives a stimulus (i.e a constraint) from the environment.

2 Computes a CCP process in the current time-unit and wait forstability.

3 Responds with the resulting store.

4 Executes the Residual process in the next time-unit.

* Note: Stores are not automatically transferred from a time unit tothe next one.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 21: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

The tcc calculus [SJG94]Syntax

P,Q := skip | tell(c) | when c do P | P ‖ Q |(local~x ; c) P | next P | unless c next P | ! P

tell(c) : adds c to the store in the current time interval.

when c do P : executes P if c can be deduced from the current store.

(local~x) P : behaves like P but the information about variables in ~xis local to P

next P : executes P in the next time unit.

unless c next P : executes P in the next time unit if c cannot beentailed now.

! P : Unboundedly many copies of P, one at a time.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 22: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstractions and the utcc Calculus

Example

Let Q = tell(out(42)) and P = when out(x) do R.

x is not a place holder in P

out(42) 6|= out(x). Then P ‖ Q 6−→.

The idea of Abstractions in utcc

The abstraction construct S = (abs ~x ; c) R:

S can be seen as a λ-abstraction of R on ~x with guard c .

S is a parametric ask that executes R[~x/~t] for each ~t s.t. c[~x/~t] canbe deduced from the current store. E.g., S ‖ Q −→ R[42/x ].

The variables in ~x can be seen as the formal parameters of R.

Logical point of view: S corresponds to a formula ∀~x .(c ⇒ F ).

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 23: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstractions and the utcc Calculus

Example

Let Q = tell(out(42)) and P = when out(x) do R.

x is not a place holder in P

out(42) 6|= out(x). Then P ‖ Q 6−→.

The idea of Abstractions in utcc

The abstraction construct S = (abs ~x ; c) R:

S can be seen as a λ-abstraction of R on ~x with guard c .

S is a parametric ask that executes R[~x/~t] for each ~t s.t. c[~x/~t] canbe deduced from the current store. E.g., S ‖ Q −→ R[42/x ].

The variables in ~x can be seen as the formal parameters of R.

Logical point of view: S corresponds to a formula ∀~x .(c ⇒ F ).

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 24: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Operational Semantics

Internal transitions (−→)

RTELL 〈tell(c), d〉 −→ 〈skip, d ∧ c〉

RPAR

〈P, c〉 −→ 〈P ′, d〉〈P ‖ Q, c〉 −→ 〈P ′ ‖ Q, d〉

RABS

d |=∆ c[~t/~x ] [~t/~x ] is admissible.

〈(abs ~x ; c) P, d〉 −→⟨P[~t/~x ] ‖ (abs ~x ; c ∧ ~x 6 .= ~t ) P, d

⟩Observable transitions ( ====⇒)

ROBS

〈P, c〉 −→∗ 〈Q, d〉 6−→

P(c,d)

====⇒ F (Q)

F ((abs ~x ; c) Q) = skipF (next Q) = QF (unless c next Q) = Q

C. System SOS Details

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 25: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Input-output Behavior

P(c,c ′)

====⇒ Q : P under input c outputs c ′ and executes Q in thenext time-unit.

Similarly, P(α,α′)

====⇒, or (α, α′) ∈ io(P), whenever α = c1.c2...,

α′ = c ′1.c′2.... and P = P1

(c1,c ′1)====⇒ P2

(c2,c ′2)====⇒ ...Pi

(ci ,c′i )

====⇒ . . . .

Theorem (Determinism)

Let α, β and β′ be sequences of constraints. If both (α, β), (α, β′) ∈ io(P)then for all i > 0, β(i) ≡ β′(i).

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 26: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Input-output Behavior

P(c,c ′)

====⇒ Q : P under input c outputs c ′ and executes Q in thenext time-unit.

Similarly, P(α,α′)

====⇒, or (α, α′) ∈ io(P), whenever α = c1.c2...,

α′ = c ′1.c′2.... and P = P1

(c1,c ′1)====⇒ P2

(c2,c ′2)====⇒ ...Pi

(ci ,c′i )

====⇒ . . . .

Theorem (Determinism)

Let α, β and β′ be sequences of constraints. If both (α, β), (α, β′) ∈ io(P)then for all i > 0, β(i) ≡ β′(i).

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 27: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication using global channels

Alice{m}B

====⇒ Bob

A = (local m) (tell(out({m}B)))B = (abs x ; out({x}B)) B ′

Process Store

• A ‖ B true• (local m) (tell(out({m}B)) ‖ B) true• (local m; out({m}B)) (B) ∃m.(out({m}B))• (local m; out({m}B)) (B ′[m/x ] ‖ B ′′) ∃m.(out({m}B))

where B ′′ = (abs x ; out({x}B ∧ x 6 .= m)) B ′.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 28: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication using global channels

Alice{m}B

====⇒ Bob

A = (local m) (tell(out({m}B)))B = (abs x ; out({x}B)) B ′

Process Store

• A ‖ B true

• (local m) (tell(out({m}B)) ‖ B) true• (local m; out({m}B)) (B) ∃m.(out({m}B))• (local m; out({m}B)) (B ′[m/x ] ‖ B ′′) ∃m.(out({m}B))

where B ′′ = (abs x ; out({x}B ∧ x 6 .= m)) B ′.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 29: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication using global channels

Alice{m}B

====⇒ Bob

A = (local m) (tell(out({m}B)))B = (abs x ; out({x}B)) B ′

Process Store

• A ‖ B true• (local m) (tell(out({m}B)) ‖ B) true

• (local m; out({m}B)) (B) ∃m.(out({m}B))• (local m; out({m}B)) (B ′[m/x ] ‖ B ′′) ∃m.(out({m}B))

where B ′′ = (abs x ; out({x}B ∧ x 6 .= m)) B ′.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 30: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication using global channels

Alice{m}B

====⇒ Bob

A = (local m) (tell(out({m}B)))B = (abs x ; out({x}B)) B ′

Process Store

• A ‖ B true• (local m) (tell(out({m}B)) ‖ B) true• (local m; out({m}B)) (B) ∃m.(out({m}B))

• (local m; out({m}B)) (B ′[m/x ] ‖ B ′′) ∃m.(out({m}B))

where B ′′ = (abs x ; out({x}B ∧ x 6 .= m)) B ′.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 31: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication using global channels

Alice{m}B

====⇒ Bob

A = (local m) (tell(out({m}B)))B = (abs x ; out({x}B)) B ′

Process Store

• A ‖ B true• (local m) (tell(out({m}B)) ‖ B) true• (local m; out({m}B)) (B) ∃m.(out({m}B))• (local m; out({m}B)) (B ′[m/x ] ‖ B ′′) ∃m.(out({m}B))

where B ′′ = (abs x ; out({x}B ∧ x 6 .= m)) B ′.

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 32: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication of Local Names

Pπ = (νb)(ab.b(y).Rπ)Qπ = a(x).(νc)(xc)

Pπ | Qπ −→∗π (νb, c)Rπ[c/y ]

P = (local b) (tell(out(a, b)) ‖ (abs y ; out(b, y)) R)Q = (abs x ; out(a, x)) (local c) (tell(out(x , c)))

P ‖ Q−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(abs x ; out(a, x)) Q ′)−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(local c) (tell(out(b, c))−→ (local b, c ; out(a, b) ∧ out(b, c)) ((abs y ; out(b, y)) R)−→ (local b, c ; out(a, b) ∧ out(b, c)) (R[c/y ])

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 33: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication of Local Names

Pπ = (νb)(ab.b(y).Rπ)Qπ = a(x).(νc)(xc)

Pπ | Qπ −→∗π (νb, c)Rπ[c/y ]

P = (local b) (tell(out(a, b)) ‖ (abs y ; out(b, y)) R)Q = (abs x ; out(a, x)) (local c) (tell(out(x , c)))

P ‖ Q−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(abs x ; out(a, x)) Q ′)−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(local c) (tell(out(b, c))−→ (local b, c ; out(a, b) ∧ out(b, c)) ((abs y ; out(b, y)) R)−→ (local b, c ; out(a, b) ∧ out(b, c)) (R[c/y ])

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 34: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesCommunication of Local Names

Pπ = (νb)(ab.b(y).Rπ)Qπ = a(x).(νc)(xc)

Pπ | Qπ −→∗π (νb, c)Rπ[c/y ]

P = (local b) (tell(out(a, b)) ‖ (abs y ; out(b, y)) R)Q = (abs x ; out(a, x)) (local c) (tell(out(x , c)))

P ‖ Q−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(abs x ; out(a, x)) Q ′)−→ (local b; out(a, b)) ((abs y ; out(b, y)) R ‖

(local c) (tell(out(b, c))−→ (local b, c ; out(a, b) ∧ out(b, c)) ((abs y ; out(b, y)) R)−→ (local b, c ; out(a, b) ∧ out(b, c)) (R[c/y ])

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 35: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesEncoding Recursive Definitions

The variables ~x in (abs ~x ; c) P can be seen as the formal parameters of P.

Proc. definitions: pp(~y)def= Pq =! (abs ~y ; callp(~y)) P

where P is obtained by replacing p(~x) with tell(callp(x)).

A simple Example

Definition:

! (abs N,M,X ; fact(N,M,X )) when N ≤ 1 do tell(X = M) ‖when N > 1 do tell(fact(N − 1,N ×M,X ))

Call:〈tell(fact(3, 1,X )), true〉 −→∗ 〈P,X = 6〉

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 36: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Some ExamplesEncoding Recursive Definitions

The variables ~x in (abs ~x ; c) P can be seen as the formal parameters of P.

Proc. definitions: pp(~y)def= Pq =! (abs ~y ; callp(~y)) P

where P is obtained by replacing p(~x) with tell(callp(x)).

A simple Example

Definition:

! (abs N,M,X ; fact(N,M,X )) when N ≤ 1 do tell(X = M) ‖when N > 1 do tell(fact(N − 1,N ×M,X ))

Call:〈tell(fact(3, 1,X )), true〉 −→∗ 〈P,X = 6〉

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 37: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Infinite BehaviorNo observable transition!!!

The abs construct may introduce infinitely many internal reductions:

Loops : (abs x ; c(x)) tell(c(x + 1))

Infinitely many substitutions : P = (abs x ; x > 1) R.

Example (Message Composition)

P = (abs x , y ; out(x) ∧ out(y)) tell(out({x , y}))

What do we observe from P ‖ tell(out(m)) ? :out({m,m}), out({m, {m,m}}), out({m, {m, {m,m}}}) . . .

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 38: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Infinite BehaviorNo observable transition!!!

The abs construct may introduce infinitely many internal reductions:

Loops : (abs x ; c(x)) tell(c(x + 1))

Infinitely many substitutions : P = (abs x ; x > 1) R.

Example (Message Composition)

P = (abs x , y ; out(x) ∧ out(y)) tell(out({x , y}))

What do we observe from P ‖ tell(out(m)) ? :out({m,m}), out({m, {m,m}}), out({m, {m, {m,m}}}) . . .

Intuitive Description and SOS Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 39: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 40: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Symbolic Semantics for utcc

P = (abs x , y ; out(x) ∧ out(y)) tell(out({x , y}))

Symbolically〈P, out(m)〉 −→s

〈skip, out(m) ∧ ∀x , y : (out(x) ∧ out(y)⇒ out({x , y}))〉

Temporal Dependencies

P = (abs x , y ; out(x) ∧ out(y)) next tell(out({x , y}))

〈P, out(m)〉 6−→s

⇒s 〈skip,� out(m) ∧ ∀x , y : (�(out(x) ∧ out(y))⇒ out({x , y}))〉

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 41: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Symbolic Semantics for utcc

P = (abs x , y ; out(x) ∧ out(y)) tell(out({x , y}))

Symbolically〈P, out(m)〉 −→s

〈skip, out(m) ∧ ∀x , y : (out(x) ∧ out(y)⇒ out({x , y}))〉

Temporal Dependencies

P = (abs x , y ; out(x) ∧ out(y)) next tell(out({x , y}))

〈P, out(m)〉 6−→s

⇒s 〈skip,� out(m) ∧ ∀x , y : (�(out(x) ∧ out(y))⇒ out({x , y}))〉

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 42: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Symbolic SemanticsSymbolic Reductions

RABS−SYM〈P, ∃~xd〉 −→s 〈P′, ∃~xd ∧ d ′〉

〈(abs ~x ; c) P, d〉 −→s 〈(abs ~x ; c) P′, d ∧ ∀~x(c ⇒ d ′)〉

ROBS−SYM〈P, c〉 −→∗s 〈Q, d〉 6−→s

P(c,d)

====⇒ Fs (Q, d)

Symbolic Future Function : Fs(P, d) = tell(�d) ‖ F ′s(P)

F ′s (P) =

(abs ~x ; �c) Fs (P) if P = (abs ~x ; c) P(local~x ; �c) Fs (Q) if P = (local~x ; c) Q

Theorem (Semantic Correspondence)

Let P be an abstracted-unless free process. The symbolic and theoperational outputs of P entail the same basic constraints . Details

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 43: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Symbolic SemanticsSymbolic Reductions

RABS−SYM〈P, ∃~xd〉 −→s 〈P′, ∃~xd ∧ d ′〉

〈(abs ~x ; c) P, d〉 −→s 〈(abs ~x ; c) P′, d ∧ ∀~x(c ⇒ d ′)〉

ROBS−SYM〈P, c〉 −→∗s 〈Q, d〉 6−→s

P(c,d)

====⇒ Fs (Q, d)

Symbolic Future Function : Fs(P, d) = tell(�d) ‖ F ′s(P)

F ′s (P) =

(abs ~x ; �c) Fs (P) if P = (abs ~x ; c) P(local~x ; �c) Fs (Q) if P = (local~x ; c) Q

Theorem (Semantic Correspondence)

Let P be an abstracted-unless free process. The symbolic and theoperational outputs of P entail the same basic constraints . Details

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 44: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

FLTL Correspondence (Declarative view of Processes)

Definition (FLTL Syntax)

F ,G , . . . := c | F ∧ G | ¬F | ∃xF | � F | ◦F | �F

c is a constraint in L. 3F = ¬2¬F (eventually F ). LTL Sem.

Definition

FLTL Interpretation of utccProcesses

[[skip]] = true [[tell(c)]] = c[[(abs ~y ; c) P]] = ∀~y(c ⇒ [[P]]) [[P ‖ Q]] = [[P]] ∧ [[Q]][[(local~x ; c) P]] = ∃~x(c ∧ [[P]]) [[next P]] = ◦[[P]][[unless c next P]] = c ∨ ◦[[P]] [[! P]] = 2[[P]]

Theorem (Logic Correspondence)

If P is a monotonic process, [[P]] |=T 3c iff P ⇓cs .

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 45: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

FLTL Correspondence (Declarative view of Processes)

Definition (FLTL Syntax)

F ,G , . . . := c | F ∧ G | ¬F | ∃xF | � F | ◦F | �F

c is a constraint in L. 3F = ¬2¬F (eventually F ). LTL Sem.

Definition

FLTL Interpretation of utccProcesses

[[skip]] = true [[tell(c)]] = c[[(abs ~y ; c) P]] = ∀~y(c ⇒ [[P]]) [[P ‖ Q]] = [[P]] ∧ [[Q]][[(local~x ; c) P]] = ∃~x(c ∧ [[P]]) [[next P]] = ◦[[P]][[unless c next P]] = c ∨ ◦[[P]] [[! P]] = 2[[P]]

Theorem (Logic Correspondence)

If P is a monotonic process, [[P]] |=T 3c iff P ⇓cs .

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 46: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

FLTL Correspondence (Declarative view of Processes)

Definition (FLTL Syntax)

F ,G , . . . := c | F ∧ G | ¬F | ∃xF | � F | ◦F | �F

c is a constraint in L. 3F = ¬2¬F (eventually F ). LTL Sem.

Definition

FLTL Interpretation of utccProcesses

[[skip]] = true [[tell(c)]] = c[[(abs ~y ; c) P]] = ∀~y(c ⇒ [[P]]) [[P ‖ Q]] = [[P]] ∧ [[Q]][[(local~x ; c) P]] = ∃~x(c ∧ [[P]]) [[next P]] = ◦[[P]][[unless c next P]] = c ∨ ◦[[P]] [[! P]] = 2[[P]]

Theorem (Logic Correspondence)

If P is a monotonic process, [[P]] |=T 3c iff P ⇓cs .

Symbolic Semantics Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 47: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Undecidability of FLTL Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 48: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Undecidability of Monadic FLTL

Theorem (utcc is Turing powerful)

The Minsky machine M(0, 0) halts iff [[M(0, 0)]] ⇓halt Encoding

Monadic FLTL is Incomplete

Let F be the FLTL formulae corresponding to [[M(0, 0)]]:

F is a monadic FLTL formula without functions nor equality.

Let G = (F =⇒ � running). G is valid iff M never halts .

Theorem (Incompleteness of Pnueli’s FLTL)

Monadic FLTL without function symbols nor equality is incomplete .

Undecidability of FLTL Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 49: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Undecidability of Monadic FLTL

Theorem (utcc is Turing powerful)

The Minsky machine M(0, 0) halts iff [[M(0, 0)]] ⇓halt Encoding

Monadic FLTL is Incomplete

Let F be the FLTL formulae corresponding to [[M(0, 0)]]:

F is a monadic FLTL formula without functions nor equality.

Let G = (F =⇒ � running). G is valid iff M never halts .

Theorem (Incompleteness of Pnueli’s FLTL)

Monadic FLTL without function symbols nor equality is incomplete .

Undecidability of FLTL Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 50: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Undecidability of Monadic FLTL

Theorem (utcc is Turing powerful)

The Minsky machine M(0, 0) halts iff [[M(0, 0)]] ⇓halt Encoding

Monadic FLTL is Incomplete

Let F be the FLTL formulae corresponding to [[M(0, 0)]]:

F is a monadic FLTL formula without functions nor equality.

Let G = (F =⇒ � running). G is valid iff M never halts .

Theorem (Incompleteness of Pnueli’s FLTL)

Monadic FLTL without function symbols nor equality is incomplete .

Undecidability of FLTL Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 51: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Undecidability of Monadic FLTLOur result in Context

1 [Mer92] proved the Monadic fragment of FLTL to be decidable!!.I Quantification of flexible variables was not allowed in [Mer92].

2 [Val05] conjectures that the negation-free restriction can be dropand still obtain decidability fragments of FLTL.

I With negation the FLTL in [Val05] is the same studied here.

Our result shows (1) and (2) to be necessary to obtain decidability.

Undecidability of FLTL Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 52: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Denotational Semantics for utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 53: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Strongest PostconditionSymbolic Input-output Relation

Input-output Relation : (w , v) s.t. P(w ,v)

====⇒s

Strongest Postcondition : w ∈ sps(P) if P cannot add anyinformation to w . Details .

if P is monotonic, ios(P) is a closure operator , i.e, a functionsatisfying extensiveness , idempotence and monotonicity whose setof fixed points is sps(P):

(w ,w ′) ∈ ios(P) iff w ′ = min(sps(P) ∩ {w | s ≤ w})

Denotational Semantics for utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 54: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Denotational SemanticsCompositional Characterization of the sps (·) relation.

DTELL [[tell(c)]] = {e.w | e |=T c}

DPAR [[P ‖ Q]] = [[P]] ∩ [[Q]]

DLOC [[(local~x ; c) P]] = {w | there exists an ~x-variantw ′ of w s.t w ′(1) |=T c and w ′ ∈ [[P]]}

DABS [[(abs ~x ; c) P]] = {w | for every ~x-variant w ′ of w if w ′(1) |=T cand w ′ � (~x = ~t)ω for some admissible ~t then w ′ ∈ [[P]]}

Theorem (Full Abstraction)

Let P,Q be monotonic processes. It holds:

P ≈ios Q iff [[P]] = [[Q]].

Denotational Semantics for utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 55: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Denotational SemanticsCompositional Characterization of the sps (·) relation.

DTELL [[tell(c)]] = {e.w | e |=T c}

DPAR [[P ‖ Q]] = [[P]] ∩ [[Q]]

DLOC [[(local~x ; c) P]] = {w | there exists an ~x-variantw ′ of w s.t w ′(1) |=T c and w ′ ∈ [[P]]}

DABS [[(abs ~x ; c) P]] = {w | for every ~x-variant w ′ of w if w ′(1) |=T cand w ′ � (~x = ~t)ω for some admissible ~t then w ′ ∈ [[P]]}

Theorem (Full Abstraction)

Let P,Q be monotonic processes. It holds:

P ≈ios Q iff [[P]] = [[Q]].

Denotational Semantics for utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 56: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 57: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Closure operator semantics for Sec. Languages.

SCCP Syntax

Values v , v ′ ::= n |xKeys k ::= pub(v) | priv(v)Messages M,N ::= v | k | X | {M,N} | {M}k

Processes R ::= nil|new(x)R|out(M).R|in (~x)[M].R|!R|Ri ‖ Rj

Security Constraint System

PRJF |= out({m1,m2})

F |= out(m1/2)DEC

F |= out(k−1) F |= out({m}k )

F |= out(m)

ENCF |= out(m1) F |= out(m2)

F |= out({m1}m2 )PAIR

F |= out(m1) F |= out(m2)

F |= out({m1,m2})

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 58: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Closure operator semantics for Sec. Languages.

SCCP Syntax

Values v , v ′ ::= n |xKeys k ::= pub(v) | priv(v)Messages M,N ::= v | k | X | {M,N} | {M}k

Processes R ::= nil =⇒ skip|new(x)R =⇒ (local x) [[R]]|out(M).R =⇒! tell(out (M))‖ next [[R]]|in (~x)[M].R =⇒ (abs ~x ; out(M)) next [[R]]|!R =⇒! [[R]]|Ri ‖ Rj =⇒ [[Ri ]] ‖ [[Rj ]]

Security Constraint System

PRJF |= out({m1,m2})

F |= out(m1/2)DEC

F |= out(k−1) F |= out({m}k )

F |= out(m)

ENCF |= out(m1) F |= out(m2)

F |= out({m1}m2 )PAIR

F |= out(m1) F |= out(m2)

F |= out({m1,m2})

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 59: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Closure operator semantics for Sec. Languages.

SCCP Syntax

Values v , v ′ ::= n |xKeys k ::= pub(v) | priv(v)Messages M,N ::= v | k | X | {M,N} | {M}k

Processes R ::= nil =⇒ skip|new(x)R =⇒ (local x) [[R]]|out(M).R =⇒! tell(out (M))‖ next [[R]]|in (~x)[M].R =⇒ (abs ~x ; out(M)) next [[R]]|!R =⇒! [[R]]|Ri ‖ Rj =⇒ [[Ri ]] ‖ [[Rj ]]

Security Constraint System

PRJF |= out({m1,m2})

F |= out(m1/2)DEC

F |= out(k−1) F |= out({m}k )

F |= out(m)

ENCF |= out(m1) F |= out(m2)

F |= out({m1}m2 )PAIR

F |= out(m1) F |= out(m2)

F |= out({m1,m2})

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 60: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

An ExampleDenning-Sacco key distribution protocol:

msg1 A→ B : {(A,m)}pub(B)

msg2 B → A : {n}pub(m)

Init(A,B) = ! new(m)out({(m,A)}pub(B)).nilResp(B) = ! in (x , u)[{(x , u)}priv(B)].

new(n)(out({n}pub(u)).nil) ‖! in [n].out(attack).nil

Proposition

Let R be a SCCP process, P the utcc process representing R andf = [[P]] ∩ [[! when out(attack) do ! tell(false)]].

Symbolic Output : P ⇓attacks iff

Closure Operator Semantics : All the fixed points of f take the formw . falseω iff

FLTL Characterization : TL[[P]] |=T 3attack .

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 61: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

An ExampleDenning-Sacco key distribution protocol:

msg1 A→ B : {(A,m)}pub(B)

msg2 B → A : {n}pub(m)

Init(A,B) = ! new(m)out({(m,A)}pub(B)).nilResp(B) = ! in (x , u)[{(x , u)}priv(B)].

new(n)(out({n}pub(u)).nil) ‖! in [n].out(attack).nil

Proposition

Let R be a SCCP process, P the utcc process representing R andf = [[P]] ∩ [[! when out(attack) do ! tell(false)]].

Symbolic Output : P ⇓attacks iff

Closure Operator Semantics : All the fixed points of f take the formw . falseω iff

FLTL Characterization : TL[[P]] |=T 3attack .

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 62: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Language for Structured Communication (sessions)

Definition (The HVK language (Honda 98) )

P,Q ::= request a(k) in P Session Request| accept a(x) in P Session Acceptance| k![~e]; P Data Sending| k?(x) in P Data Reception| k � l ;P Label Selection| k � {l1 : P1 ‖ · · · ‖ ln : Pn} Label Branching

Further guarantees are needed when dealing with sessions, e.g.:

Sessions should be of finite time.

One should be able to cancel a session.

HVK-T

HVK + session cancellation and constraint-guarded accepts.

P ::= request a(k) during m in P Timed Session Request| accept a(k) given c in P Declarative Session Acceptance| · · ·| kill ck Session Abortion

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 63: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Language for Structured Communication (sessions)

Definition (The HVK language (Honda 98) )

P,Q ::= request a(k) in P Session Request| accept a(x) in P Session Acceptance| k![~e]; P Data Sending| k?(x) in P Data Reception| k � l ;P Label Selection| k � {l1 : P1 ‖ · · · ‖ ln : Pn} Label Branching

Further guarantees are needed when dealing with sessions, e.g.:

Sessions should be of finite time.

One should be able to cancel a session.

HVK-T

HVK + session cancellation and constraint-guarded accepts.

P ::= request a(k) during m in P Timed Session Request| accept a(k) given c in P Declarative Session Acceptance| · · ·| kill ck Session Abortion

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 64: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Language for Structured Communication (sessions)

Definition (The HVK language (Honda 98) )

P,Q ::= request a(k) in P Session Request| accept a(x) in P Session Acceptance| k![~e]; P Data Sending| k?(x) in P Data Reception| k � l ;P Label Selection| k � {l1 : P1 ‖ · · · ‖ ln : Pn} Label Branching

Further guarantees are needed when dealing with sessions, e.g.:

Sessions should be of finite time.

One should be able to cancel a session.

HVK-T

HVK + session cancellation and constraint-guarded accepts.

P ::= request a(k) during m in P Timed Session Request| accept a(k) given c in P Declarative Session Acceptance| · · ·| kill ck Session Abortion

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 65: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Dynamic Interactive Scores

A B

D

R

C

Dynamic Reconfiguration when Interacting:

Moving boxes.

Adding/deleting intervals.

Verification : Minimal conditions to avoid raise conditions.

Applications Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 66: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Abstract Semantics and Static Analysis of utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 67: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract Interpretation of utcc programs

The behavior of a program P can be approximated by computing[[P]]τα, a compact representation of [[P]].

Two steps:

Abstracting the constraint system (C, α,A)

To reuse previously defined abstract domains for logic programming(e.g. groundness analysis, types, etc).

To bound the behavior of the operator (abs ~x ; c) P.

Abstracting the sequences (τ)

To obtain a finite cut approximating the infinite sequences of theconcrete semantics

Abstract Semantics and Static Analysis of utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 68: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract Interpretation of utcc programs

The behavior of a program P can be approximated by computing[[P]]τα, a compact representation of [[P]].

Two steps:

Abstracting the constraint system (C, α,A)

To reuse previously defined abstract domains for logic programming(e.g. groundness analysis, types, etc).

To bound the behavior of the operator (abs ~x ; c) P.

Abstracting the sequences (τ)

To obtain a finite cut approximating the infinite sequences of theconcrete semantics

Abstract Semantics and Static Analysis of utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 69: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract Interpretation of utcc programs

The behavior of a program P can be approximated by computing[[P]]τα, a compact representation of [[P]].

Two steps:

Abstracting the constraint system (C, α,A)

To reuse previously defined abstract domains for logic programming(e.g. groundness analysis, types, etc).

To bound the behavior of the operator (abs ~x ; c) P.

Abstracting the sequences (τ)

To obtain a finite cut approximating the infinite sequences of theconcrete semantics

Abstract Semantics and Static Analysis of utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 70: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Applications

Groundness Analysis of utcc programs. We reuse two abstractdomains from logic programming:

I Pos [AMSS98]: Positive propositional formulae to representgroundness dependencies. E.g., αg (x = [y |z ]) = iff(x , {y , z})

I Type dependencies [CSS99]: e.g., α(x = [a|y ]) = list(x , y)

Secrecy Analysis : Depth-κ cut to approximate the behavior of theprotocol:

cutκ(m) =

{m if length(m) ≤ κm> otherwise

Abstract Semantics and Static Analysis of utcc Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 71: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Outline

1 Intuitive Description and SOS

2 Symbolic Semantics

3 Undecidability of FLTL

4 Denotational Semantics for utcc

5 Applications

6 Abstract Semantics and Static Analysis of utcc

7 Concluding Remarks

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 72: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Concluding Remarks

We proposed utcc, a declarative model for the specification of mobilereactive systems.

Reasoning techniques for utcc:I Operational and symbolic semantics.I Semantics based on closure operators.I Declarative interpretation of processes as formulae in FLTL.I Abstract semantics for the static analysis of utcc programs.

We showed the applicability of utcc in several domains:I Decidability of Pnueli’s FLTL.I Analysis of security protocols.I Declarative interpretation of sessions.I Modeling of Multimedia Interactive Systems.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 73: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Concluding RemarksPublications from this dissertation

C. Olarte and F. Valencia. Universal Concurrent Constraint Programing: SymbolicSemantics and Applications to Security. In SAC’08. ACM Press, 2008.

C. Olarte and F. Valencia. The Expressivity of Universal Timed CCP: Undecidability ofMonadic FLTL and Closure Operators for Security. In PPDP’08. ACM Press. 2008.

M. Falaschi, C. Olarte, C. Palamidessi and F. Valencia. Declarative Diagnosis of TemporalConcurrent Constraint Programs. In ICLP’07. Springer, 2007.

M. Falaschi, C. Olarte and C. Palamidessi. A Framework for Abstract Interpretation ofTimed Concurrent Constraint Programs. In PPDP’09. ACM Press. 2009.

C. Olarte and C. Rueda. A declarative language for dynamic multimedia interactionsystems. In MCM’09. Springer, 2009.

H. A. Lopez, C. Olarte, and J. A. Perez. Towards a Unified Framework for DeclarativeStructured Communications. In Proc. of PLACES’09.

C. Olarte and F. Valencia. Undecidability of Monadic First-Order Linear-Time TemporalLogic. Submitted to Studia Logica.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 74: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Concluding RemarksFuture Work

Non-deterministic / probabilistic choices for modeling purposes.

Proof system in the lines of [NPV02].

Studying the minimal number of global variables required to obtainundecidability in Monadic FLTL [DFL02].

Abstract debugging of utcc programs.

Analysis of properties related to mobile systems (e.g. [Fer05]).

Automatic verification of tcc and utcc.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 75: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Thank you!

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 76: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

T. Armstrong, K. Marriott, P. Schachte, and H. Søndergaard.Two classes of Boolean functions for dependency analysis.Science of Computer Programming, 31(1), 1998.

J.A. Bergstra and J.W. Klop.Algebra of communicating processes with abstraction.Theoretical Computer Science, 37(1):77–121, 1985.

M. Codish, H. Søndergaard, and P. Stuckey.Sharing and groundness dependencies in logic programs.ACM Trans. Program. Lang. Syst., 21(5), 1999.

Anatoli Degtyarev, Michael Fisher, and Alexei Lisitsa.Equality and monodic first-order temporal logic.Studia Logica, 72(2), 2002.

Jerome Feret.Abstract interpretation of mobile systems.J. Log. Algebr. Program., 63(1):59–130, 2005.

Francois Fages, Paul Ruet, and Sylvain Soliman.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 77: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Linear concurrent constraint programming: Operational and phasesemantics.Information and Computation, 165, 2001.

C. A. R. Hoare.Communications Sequential Processes.Prentice-Hall, Englewood Cliffs (NJ), USA, 1985.

Cosimo Laneve and Ugo Montanari.Mobility in the CC-paradigm.In Mathematical Foundations of Computer Science, 1992.

Stephan Merz.Decidability and incompleteness results for first-order temporal logicsof linear time.Journal of Applied Non-Classical Logics, 2(2), 1992.

R. Milner.Communication and Concurrency.International Series in Computer Science. Prentice Hall, 1989.SU Fisher Research 511/24.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 78: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

R. Milner, J. Parrow, and D. Walker.A calculus of mobile processes, Parts I and II.Journal of Information and Computation, 100, September 1992.

M. Nielsen, C. Palamidessi, and F.D. Valencia.Temporal concurrent constraint programming: Denotation, logic andapplications.Nordic Journal of Computing, 9(1), 2002.

Vijay A. Saraswat.Concurrent Constraint Programming.MIT Press, 1993.

Vijay Saraswat, Radha Jagadeesan, and Vineet Gupta.Foundations of timed concurrent constraint programming.In Proc. of LICS’94. IEEE CS, 1994.

Vijay Saraswat and Patrick Lincoln.Higher-order Linear Concurrent Constraint Programming.Technical report, 1992.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 79: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Frank D. Valencia.Decidability of infinite-state timed ccp processes and first-order ltl.Theor. Comput. Sci., 330(3), 2005.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 80: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Approaches to mobility in CCP

1 [Sar93] Suppose a injective function f . Let P = ∃ztell(x = f (z)) andQ = ∃y (ask x = f (y) then tell(x = f (y)) ‖ R).Drawbacks: If two names are sent on x those names must be equals(otherwise an inconsistency arises).

2 [LM92] LetP = ∃ztell(x =< 0, z >) andQ = ∃y ,y ′(ask x =< y , y ′ > then tell(x =< y , y ′ >)→ R).Here the atomic tell avoids inconsistencies when two messages aresent on x .Drawbacks: Atomic tells introduce non-determinism loosing thestrong connection CCP has with logic.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 81: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Operational SemanticsConstraint System

A constraint system is a tuple 〈∑,∆〉 where

∑is a signature and ∆

a consistent first-order theory over∑

Constraints are first-order formulae over∑

Entailment relation c |= d holds iff c ⇒ d is valid on ∆. c ≡ d iffc |= d and d |= c

C denotes the set of constraints modulo ≡ in 〈∑,∆〉

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 82: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Operational SemanticsStructural Congruence

Structural Congruence

Let ≡ be the smallest congruence satisfying:

1 P ≡ Q if they differ only by a renaming of bound variables(alpha-conversion).

2 P ‖ skip ≡ P

3 P ‖ Q ≡ Q ‖ P

4 P ‖ (Q ‖ R) ≡ (P ‖ Q) ‖ R

5 P ‖ (local~x ; c) Q ≡ (local~x ; c) (P ‖ Q) if ~x 6∈ fv(P) (ScopeExtrusion)

6 (local~x ; c) (local~y ; d) P ≡ (local~x ;~y ; c ∧ d) P if ~x ∩ ~y = ∅ and~y /∈ fv(c).

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 83: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Operational SemanticsInternal Reductions

RTELL 〈tell(c), d〉 −→ 〈skip, d ∧ c〉

RPAR

〈P, c〉 −→ 〈P′, d〉〈P ‖ Q, c〉 −→ 〈P′ ‖ Q, d〉

RLOC

〈P, c ∧ (∃~xd)〉 −→ 〈P′, c ′ ∧ (∃~xd)〉〈(local~x ; c) P, d〉 −→ 〈(local~x ; c ′) P′, d ∧ ∃~xc′〉

RUNL

d |=∆ c

〈unless c next P, d〉 −→ 〈skip, d〉

RREP 〈! P, d〉 −→ 〈P ‖ next ! P, d〉

RABS

d |=∆ c[~t/~x] [~t/~x] is admissible.

〈(abs ~x ; c) P, d〉 −→˙P[~t/~x] ‖ (abs ~x ; c ∧ ~x 6 .= ~t ) P, d

¸RSTR

γ1 −→ γ2

γ′1 −→ γ′2

if γ1 ≡ γ′1 and γ2 ≡ γ′2

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 84: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Operational SemanticsObservable Transition

ROBS

〈P, c〉 −→∗ 〈Q, d〉 6−→

P(c,d)

====⇒ F (Q)

Future Function

Let F be a partial function defined as:

F (P) =

skip if P = skipskip if P = (abs ~x ; c) QF (P1) ‖ F (P2) if P = P1 ‖ P2

(local~x) F (Q) if P = (local~x ; c) QQ if P = next QQ if P = unless c next Q

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 85: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Theorem (Semantic Correspondence)

Let P be an abstracted-unless free process. Suppose that

P(c1,d1)

====⇒ P1(c2,d2)

====⇒ . . .(ci ,di )

====⇒ Pi and

P(c1,e1)

====⇒s P1′ (c2,e2)

====⇒s . . .(ci ,ei )

====⇒ P ′i . Then for every c ∈ C andj ∈ {1, . . . , i}, di |= c iff ei |=T c.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 86: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Expressiveness of utcc

Minsky Machines

Instructions using two counters c0 and c1:

Li : HALTLi : cn := cn + 1; goto Lj

Li : if cn = 0 then goto Lj else cn := cn − 1; goto Lk

The machine M:

1 Starts at instruction L1 with c0 = c1 = 0.

2 Halts if the control reaches the location of a halt instruction.

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 87: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Encoding of Minsky Machines into utcc

ZEROndef= when incn do next (local a) (NOT-ZEROn(a) ‖

! when out(a) do ZEROn) ‖when idlen do next ZEROn ‖tell(iszn)

NOT-ZEROn(x)def= when incn do next (local b) (NOT-ZEROn(b) ‖

! when out(b) do NOT-ZEROn(x)) ‖when decn do next tell(out(x)) ‖when idlen do next NOT-ZEROn(x) ‖tell(not-zeron)

ins(li , HALT) = tell(halt) ‖ next tell(out(li )) ‖ tell(idle0 ∧ idle1)ins(li , INC(cn, lj )) = tell(incn) ‖ next tell(out(lj )) ‖ tell(idle1−n)ins(li , DECJ(cn, lj , lk )) = when iszn do (next tell(out(lj )) ‖ tell(idlen)) ‖

when not-zeron do (tell(decn) ‖ next tell(out(lk ))) ‖tell(idle1−n)

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 88: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Strongest Postcondition and Fixed Formulae

Strongest Postcondition

The Strongest Postcondition of P, denoted by sps(P), is defined as the

set {w |P (w ,v)====⇒s and w ∈ Fix(v)}

Definition (Fixed Formulae)

Let n ≥ 0 and Fix : FF ⇀ P(FF ) be defined as

Fix(c) = {F ∈ FF | F |=T c}Fix(F1 ∧ F2) = {F ∈ FF | F ∈ Fix(F1) and F ∈ Fix(F2)}Fix(∀~x �n (c)⇒ F1) = {F ∈ FF | for all ~x-variant F ′ of F , if F ′ |=T (�n(c) ∧ ~x = ~t)

for some ~t ∈ T s.t. adm(~x ,~t) then F ′ ∈ Fix(F1) }Fix(∃~x F1) = {F ∈ FF | there exists an ~x-variant F ′ of F s.t. F ′ ∈ Fix(F1)}Fix(�F1) = {F ∈ FF | F = �F ′ and F ′ ∈ Fix(F1)}

Given the future-free formulae F and G , if F ∈ Fix(G ) we say that F is afixed formula for G .

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 89: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Constraint Systems.

A Constraint System defines the basic constraints agents can tell or ask .A cylindric c.s. is a structure C = 〈C,≤,t, true, false,Var ,∃, d〉 s.t.:

〈C,≤,t, true, false〉 is a lattice.

Var is a denumerable set of variables.

∃x : C → C is a cylindrification operator helpful to define the local(hiding) operator.

For each x , y ∈ Var , dxy ∈ C is a diagonal element (e.g. x = y) tomodel parameter passing .

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 90: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Semantic Equations

DSKIP [[skip]]I = CωDTELL [[tell(c)]]I = {d .s ∈ Cω | d |= c}DPAR [[P ‖ Q]]I = [[P]]I ∩ [[Q]]I

DNEXT [[next P]]I = {d .s ∈ Cω | s ∈ [[P]]I }DUNL [[unless c next P]]I = {d .s ∈ Cω | d 6|= c and s ∈ [[P]]I }

∪{d .s ∈ Cω | d |= c}DREP [[! P]]I = {s ∈ Cω | for all w , s′ st s = w .s′ and

s′ ∈ [[P]]I }DLOC [[(local~x ; c) P]]I = {s ∈ Cω | there exists an ~x-variant s′ of s st

s′(1) |= c and s′ ∈ [[P]]I }D′ABS [[when c do P]]I = {d .s ∈ Cω | d |= c and d .s ∈ [[P]]I }

∪{d .s ∈ Cω | d 6|= c}DABS [[(abs ~x ; c) P]]I =

T~t∈T |~x|

[[(when c do P)[~t/~x]]]I

DCALL [[p(~x)]]I = I (p(~x))

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 91: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abs. Semantics Equations

ASKIP [[skip]]τX = τ(Aω)ATELL [[tell(c)]]τX = τ({dκ.sκ ∈ Aω | dκ |=α α(c)})APAR [[P ‖ Q]]τX = [[P]]τX ∩ [[Q]]τX

ANEXT [[next P]]τX = τ({dκ.sκ ∈ A∗ | sκ ∈ [[P]]τX })AUNL [[unless c next P]]τX = τ(Aω)AREP [[! P]]τX = τ({sκ ∈ A∗ | for all s′κ, wκ s.t.

sκ = wκ.s′κ, s′κ ∈ [[P]]τX })

ALOC [[(local~x ; c) P]]τX = τ({sκ ∈ A∗ | there exists a ~x-variant s′κof sκ s.t.s′κ(1) |=α α(c) and s′κ ∈ [[P]]τX })

A′ABS [[when c do P]]τX = τ({dκ.sκ ∈ Aω | dκ 6|=Ac})∪{dκ.sκ ∈ A∗| dκ|=Ac and dκ.sκ ∈ [[P]]τX }

AABS [[(abs ~x ; c) P]]τX =T

~tκ∈Tκ|~x|[[(when c do P)[~t′/~x]]]τX

where αt (~t′) = ~tκACALL [[p(~x)]]τX = X (p(~x))

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 92: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

DS Attack

msg1 A→ C : {A,m}pub(C)

msg ′1 C → B : {A,m}pub(B)

msg2 B → A : {n}pub(m)

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 93: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract Semantics

Abstract Constraint Systems

Let C and A be constraint systems. A description (C, α,A) consists of anabstract domain (A,≤α) and a monotonic abstraction functionα : C → A.

C A

c

c'

f(c)

a'

f

g

C A

c'

g(a)a

a'f

g

Sequence Abstraction

τ : (Aω ∪ A∗)→ A∗ is a reductive operator (τ(sκ) ≤α sκ).

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 94: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract Semantics

Abstract Constraint Systems

Let C and A be constraint systems. A description (C, α,A) consists of anabstract domain (A,≤α) and a monotonic abstraction functionα : C → A.

C A

c

c'

f(c)

a'

f

g

C A

c'

g(a)a

a'f

g

Sequence Abstraction

τ : (Aω ∪ A∗)→ A∗ is a reductive operator (τ(sκ) ≤α sκ).

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 95: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract SemanticsSemantic Equations

ATELL [[tell(c)]]τX = τ({dκ.sκ ∈ Aω | dκ |=α α(c)})A′ABS [[when c do P]]τX = τ({dκ.sκ ∈ Aω| dκ 6|=Ac})

∪{dκ.sκ ∈ A∗| dκ|=Ac anddκ.sκ ∈ [[P]]τX}

ACALL [[p(~x)]]τX = X (p(~x))

Abstract Semantics

The Abs. semantics is defined as the lfp of

TαD(X )(p(~x)) = [[(∆~y

~x P)]]τX if p(~y)def= P ∈ D

Theorem (Soundness of the approximation)

Given a utcc program D.P, if s ∈ [[P]] then τ(α(s)) ∈ [[P]]τ .

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 96: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Abstract SemanticsSemantic Equations

ATELL [[tell(c)]]τX = τ({dκ.sκ ∈ Aω | dκ |=α α(c)})A′ABS [[when c do P]]τX = τ({dκ.sκ ∈ Aω| dκ 6|=Ac})

∪{dκ.sκ ∈ A∗| dκ|=Ac anddκ.sκ ∈ [[P]]τX}

ACALL [[p(~x)]]τX = X (p(~x))

Abstract Semantics

The Abs. semantics is defined as the lfp of

TαD(X )(p(~x)) = [[(∆~y

~x P)]]τX if p(~y)def= P ∈ D

Theorem (Soundness of the approximation)

Given a utcc program D.P, if s ∈ [[P]] then τ(α(s)) ∈ [[P]]τ .

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 97: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Correctness of the Abstraction

Approximation: Let dκ = α(d). We say that dκ is the best approximationof d . Furthermore, for all cκ ≤α dκ we say that cκ approximates d andwe write cκ ∝ d .

Correctness

Let α : C → A be monotone. We say that A is upper correct w.r.t C if forall c ∈ C and x , y ∈ V:

1 α(∃x c) = ∃αxα(c).

2 α(dxy ) = dαxy . And

3 α(c t d) |=α α(c) tα α(d).

Let αt be the induced term-abstraction by α. Given the sequence ofvariables ~x and ~t,~t ′ ∈ T |~x |, 4) if αt(~t) = αt(~t ′) thenα(c[~t/~x ]) = α(c[~t ′/~x ])

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 98: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Soundness of the Abstraction

Abstract domain

A = (A,⊆α) where A = P(A∗) and ⊆α is defined similarly to ⊆c (Smythpowerdomain). We require A to be noetherian

Galois Connection

α(E ) := τ({α′(s) | s ∈ E})γ(A) := {s | τ(α′(s)) ∈ A}

Let I : ProcHeads → E (an interpretation ), X : ProcHeads → A (abstractinterpretation ) and p a procedure name. Then

α(I )(p) := τ({α′(s) | s ∈ I (p)})γ(X )(p) := {s | τ(α′(s)) ∈ X (p)}

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 99: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Soundness of the Abstraction

Abstract domain

A = (A,⊆α) where A = P(A∗) and ⊆α is defined similarly to ⊆c (Smythpowerdomain). We require A to be noetherian

Galois Connection

α(E ) := τ({α′(s) | s ∈ E})γ(A) := {s | τ(α′(s)) ∈ A}

Let I : ProcHeads → E (an interpretation ), X : ProcHeads → A (abstractinterpretation ) and p a procedure name. Then

α(I )(p) := τ({α′(s) | s ∈ I (p)})γ(X )(p) := {s | τ(α′(s)) ∈ X (p)}

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.

Page 100: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning

Soundness of the Abstraction

Abstract domain

A = (A,⊆α) where A = P(A∗) and ⊆α is defined similarly to ⊆c (Smythpowerdomain). We require A to be noetherian

Galois Connection

α(E ) := τ({α′(s) | s ∈ E})γ(A) := {s | τ(α′(s)) ∈ A}

Let I : ProcHeads → E (an interpretation ), X : ProcHeads → A (abstractinterpretation ) and p a procedure name. Then

α(I )(p) := τ({α′(s) | s ∈ I (p)})γ(X )(p) := {s | τ(α′(s)) ∈ X (p)}

Concluding Remarks Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique.