universal temporal concurrent constraint programming.colarte/thesis-page/slides.pdf · motivation...
TRANSCRIPT
![Page 1: Universal Temporal Concurrent Constraint Programming.colarte/thesis-page/slides.pdf · Motivation Carlos Olarte’s PhD Defense, LIX, Ecole Polytechnique. Our Contributions Reasoning](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/71.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/72.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/73.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/74.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/75.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/76.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/77.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/78.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/79.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/80.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/81.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/82.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/83.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/84.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/85.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/86.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/87.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/88.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/89.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/90.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/91.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/92.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/93.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/94.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/95.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/96.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/97.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/98.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/99.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022042803/5f477a5fd0f09b2fd36cf3b1/html5/thumbnails/100.jpg)
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.