Synth` ese de syst` emes distribu´ es ouverts
Nathalie Sznajder
LSV, ENS Cachan & CNRS & INRIA Saclay IdF
12 Novembre 2009
Nathalie Sznajder PhD defense - November 12th, 2009 , p.1
Synth` ese de syst` emes distribu es ouverts Nathalie Sznajder - - PowerPoint PPT Presentation
Synth` ese de syst` emes distribu es ouverts Nathalie Sznajder LSV, ENS Cachan & CNRS & INRIA Saclay IdF 12 Novembre 2009 Nathalie Sznajder PhD defense - November 12th, 2009 , p.1 Introduction Need for formal methods Nathalie
LSV, ENS Cachan & CNRS & INRIA Saclay IdF
Nathalie Sznajder PhD defense - November 12th, 2009 , p.1
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.2
Introduction
◮ Test ◮ Computer-aided proofs ◮ Model-checking
Nathalie Sznajder PhD defense - November 12th, 2009 , p.2
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Model-checking algorithm
Nathalie Sznajder PhD defense - November 12th, 2009 , p.3
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.4
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.4
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.4
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.4
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.4
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.5
Introduction
◮ Decide whether there exists a program st. P||E |
◮ Synthesis: If so, compute such a program.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.5
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.6
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.6
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.6
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.6
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.7
Introduction
◮ Decide the existence of a distributed program such that the
◮ Synthesis: If it exists, compute such a distributed program.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.7
Introduction
◮ Which semantics?
◮ What kind of specification? ◮ What kind of memory for the programs?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.8
Introduction
Nathalie Sznajder PhD defense - November 12th, 2009 , p.9
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.10
Synthesis of synchronous distributed systems
◮ (Proc ⊎ V , E) bipartite graph, where
◮ VI ⊆ V input values from the environment, and VO ⊆ V
◮ Sv (finite) domain for each variable v ∈ V . ◮ s0 ∈ SV initial state
v∈I Sv for I ⊆ V .
Nathalie Sznajder PhD defense - November 12th, 2009 , p.11
Synthesis of synchronous distributed systems
◮ (Proc ⊎ V , E) bipartite graph, where
◮ VI ⊆ V input values from the environment, and VO ⊆ V
◮ Sv (finite) domain for each variable v ∈ V . ◮ s0 ∈ SV initial state
v∈I Sv for I ⊆ V .
Nathalie Sznajder PhD defense - November 12th, 2009 , p.11
Synthesis of synchronous distributed systems
◮ Which semantics?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ Which semantics?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ Which semantics?
◮ With or without delays?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ Which semantics?
◮ With or without delays? ◮ What kind of memory for the program?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ Which semantics?
◮ With or without delays? ◮ What kind of memory for the program?
◮ What kind of specification? Temporal logic formulae, total or
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ Which semantics?
◮ With or without delays? ◮ What kind of memory for the program?
◮ What kind of specification? Temporal logic formulae, total or
Nathalie Sznajder PhD defense - November 12th, 2009 , p.12
Synthesis of synchronous distributed systems
◮ 0-delay:
◮ 1-delay:
Nathalie Sznajder PhD defense - November 12th, 2009 , p.13
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.14
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.14
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.14
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.15
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.15
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.16
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.16
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.16
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.16
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.17
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.18
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.19
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.20
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.20
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.20
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.20
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.20
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.21
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.21
Synthesis of synchronous distributed systems
z∈Out ψz where ψz only
Nathalie Sznajder PhD defense - November 12th, 2009 , p.22
Synthesis of synchronous distributed systems
z∈Out ψz where ψz only
Nathalie Sznajder PhD defense - November 12th, 2009 , p.22
Synthesis of synchronous distributed systems
z∈Out ψz where ψz only
Nathalie Sznajder PhD defense - November 12th, 2009 , p.22
Synthesis of synchronous distributed systems
z∈Out ψz where ψz only
Nathalie Sznajder PhD defense - November 12th, 2009 , p.22
Synthesis of synchronous distributed systems
z∈Out ψz where ψz only
Nathalie Sznajder PhD defense - November 12th, 2009 , p.23
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.24
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.24
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.24
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.25
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.26
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.26
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.26
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.26
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.26
Synthesis of synchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.27
Synthesis of synchronous distributed systems
◮ Total specifications: [Kupferman-Vardi, LICS’01],
◮ External specifications: [Pnueli-Rosner, FOCS’90], [S.,
◮ Local specifications: [Madhusudan-Thiagarajan, ICALP’01] ◮ Distributed games framework: [Peterson-Reif, FOCS’79],
Nathalie Sznajder PhD defense - November 12th, 2009 , p.28
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.29
Synthesis of asynchronous distributed systems
◮ Which semantics?
◮ What kind of memory for the programs?
◮ What kind of specification?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.30
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Rendez-vous: two processes agree on a common action.
◮ Signal: asymmetric rendez-vous. A common action is initiated
Nathalie Sznajder PhD defense - November 12th, 2009 , p.31
Synthesis of asynchronous distributed systems
◮ Communication graph (Proc, E)
Nathalie Sznajder PhD defense - November 12th, 2009 , p.32
Synthesis of asynchronous distributed systems
◮ Communication graph (Proc, E) ◮ For each process i, sets Ini and Outi of input and output
i∈Proc Ini ∪ i∈Proc Outi
Nathalie Sznajder PhD defense - November 12th, 2009 , p.32
Synthesis of asynchronous distributed systems
◮ Communication graph (Proc, E) ◮ For each process i, sets Ini and Outi of input and output
i∈Proc Ini ∪ i∈Proc Outi ◮ For each process i,
i is the set of signals it can send (control),
Nathalie Sznajder PhD defense - November 12th, 2009 , p.32
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events. ◮ A run respects a strategy f = (fi)i∈Proc (is an f -run) if each
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events. ◮ A run respects a strategy f = (fi)i∈Proc (is an f -run) if each
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
◮ Strategies are partial functions fi : Σ∗ i → Σc i with local
◮ Signal semantics implies reactivity of processes to events. ◮ A run respects a strategy f = (fi)i∈Proc (is an f -run) if each
Nathalie Sznajder PhD defense - November 12th, 2009 , p.33
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.34
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.34
Synthesis of asynchronous distributed systems
req1 req1 req1 req1 req1 . . . req2 req2 req2 req2 req2 . . .
◮ Some runs are unfair for the processes.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.34
Synthesis of asynchronous distributed systems
req1 req1 grant1 req1 grant1 . . . req2 req2 req2 req2 req2 . . .
◮ Some runs are unfair for the processes. ◮ Fairness has to be distributed.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.34
Synthesis of asynchronous distributed systems
req1 req1 grant1 req1 grant1 . . . req2 req2 req2 req2 req2 . . .
◮ Some runs are unfair for the processes. ◮ Fairness has to be distributed.
Nathalie Sznajder PhD defense - November 12th, 2009 , p.34
Synthesis of asynchronous distributed systems
◮ Which semantics?
◮ What kind of memory for the programs?
◮ What kind of specification?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.35
Synthesis of asynchronous distributed systems
◮ What kind of specification?
Nathalie Sznajder PhD defense - November 12th, 2009 , p.35
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.36
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.36
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.36
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.37
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
Nathalie Sznajder PhD defense - November 12th, 2009 , p.38
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
Nathalie Sznajder PhD defense - November 12th, 2009 , p.38
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
Nathalie Sznajder PhD defense - November 12th, 2009 , p.38
Synthesis of asynchronous distributed systems
req grant req’ Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req grant Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req grant req’ Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req grant req’ grant req req’ Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
req grant req’ req grant req’ grant req req’ Nathalie Sznajder PhD defense - November 12th, 2009 , p.39
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
◮ Input events are not controllable: specifications should not
Nathalie Sznajder PhD defense - November 12th, 2009 , p.40
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
◮ Input events are not controllable: specifications should not
Nathalie Sznajder PhD defense - November 12th, 2009 , p.40
Synthesis of asynchronous distributed systems
◮ Communication induces order relation: specifications should
◮ Input events are not controllable: specifications should not
Nathalie Sznajder PhD defense - November 12th, 2009 , p.40
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.41
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.41
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.41
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.41
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.41
Synthesis of asynchronous distributed systems
◮ We select a cycle. ◮ The processes will use a token to play one at a time and
◮ Aim: create a run that will be a weakening of some f -run over
Nathalie Sznajder PhD defense - November 12th, 2009 , p.42
Synthesis of asynchronous distributed systems
1:
2:
3: a a c req3 a a (Token,a·a)a c a a c c (Token,a·a·c·c) b a a c c req3 b
Nathalie Sznajder PhD defense - November 12th, 2009 , p.43
Synthesis of asynchronous distributed systems
Nathalie Sznajder PhD defense - November 12th, 2009 , p.44
Synthesis of asynchronous distributed systems
◮ Causal memory: [Gastin-Lerman-Zeitoun, FSTTCS’04],
◮ Local memory: [Madhusudan-Thiagarajan, CONCUR’02], [S.,
◮ Distributed games framework: [Mohalik-Walukiewicz,
Nathalie Sznajder PhD defense - November 12th, 2009 , p.45
Conclusion
Nathalie Sznajder PhD defense - November 12th, 2009 , p.46
Conclusion
◮ Necessary condition for decidability for external specifications ◮ Exhibition of a new class of architectures for which it becomes
◮ New undecidability proof giving new insights
◮ Definition of a realistic model for synthesis of asynchronous
◮ Decidability of a class which is undecidable in the synchronous
Nathalie Sznajder PhD defense - November 12th, 2009 , p.47
Conclusion
◮ Synchronous case
◮ Definition of a general decidability criterion for external
specifications in the synchronous case
◮ Asynchronous case
◮ Obtain decidability of the problem on all architectures
◮ Fault-tolerant synthesis
Nathalie Sznajder PhD defense - November 12th, 2009 , p.48
Conclusion
Nathalie Sznajder PhD defense - November 12th, 2009 , p.49