610 likes | 713 Views
Models and Theory of Computation (MTC) EPFL Dirk Beyer, Jasmin Fisher, Nir Piterman
E N D
Models and Theory of Computation (MTC)EPFL Dirk Beyer, Jasmin Fisher, Nir Piterman Simon Kramer: Logic for cryptography Marc Schaub: Models for biological systems Vasu Singh: Software interface derivation Gregory Theoduloz: Combining model checking and program analysis Arindam Chakrabarti: Web service interfaces Krishnendu Chatterjee: Stochastic games Slobodan Matic: Time-triggered programming Vinayak Prabhu: Robust hybrid systems
Model Checking: From Graphs to Games Tom Henzinger EPFL
Graph Models of Systems vertices = states edges = transitions paths = behaviors
Game Models of Systems vertices = states edges = transitions paths = behaviors players = components
Game Models of Systems FAIRNESS: -automaton -regular game INDEPENDENT COMPONENTS: game graph stochastic game PROBABILITIES: Markov decision process
Graphs vs. Games a a a b a b
Game Models enable -synthesis [Church, Rabin, Ramadge/Wonham, Pnueli/Rosner et al.] -receptiveness [Dill, Abadi/Lamport] -semantics of interaction [Abramsky] -reasoning about adversarial behavior -interface-based design -modular reasoning [Kupferman/Vardi et al.] -early error detection [deAlfaro/H/Mang] -model-based testing [Gurevich et al.] -scheduling [Sifakis et al.] -reasoning about security [Raskin et al.] -etc.
Game Models Always about open systems: -players = processes / components / agents -input vs. output -demonic vs. angelic nondeterminism
Game Models • Always about open systems: • -players = processes / components / agents • -input vs. output • -demonic vs. angelic nondeterminism • Output games: input demonic (adversarial) • Input games: output demonic
Output Games P1: init x := 0 loop choice | x := x+1 mod 2 | x := 0 end choice end loop S1: (x ¸ y ) P2: init y := 0 loop choice | y := x | y := x+1 mod 2 end choice end loop S2:even(y)
Graph Questions 8 (x ¸ y) 9 (x ¸ y)
Graph Questions 8 (x ¸ y) 9 (x ¸ y) X 00 01 10 11
Zero-Sum Game Questions hhP1ii (x ¸ y) hhP2ii even(y)
Zero-Sum Game Questions 00 00 00 hhP1ii (x ¸ y) hhP2ii even(y) X 10 01 10 01 10 01 11 ATL [Alur/H/Kupferman] 11 11
Nonzero-Sum Game Questions 00 hhP1ii (x ¸ y) hhP2ii even(y) 00 00 10 01 10 01 10 01 11 11 11
Nonzero-Sum Game Questions 00 hhP1ii (x ¸ y) hhP2ii even(y) 00 00 10 01 10 01 10 01 11 Secure equilibrium [Chatterjee/H/Jurdzinski] 11 11
Classical Notion of Rationality Nash equilibrium:none of the players gains by deviation. 3,1 1,0 (row, column) 3,2 4,2
Refined Notion of Rationality Nash equilibrium:none of the players gains by deviation. Secure equilibrium:none hurts the opponent by deviation. 3,1 1,0 (row, column) 3,2 4,2
Secure Equilibrium • Natural notion of rationality for multi-component systems: • First, a component tries to meet its specification. • Second, a component may obstruct the other components. • A secure equilibrium is a contract: if one player deviates to lower the other player’s payoff, then her own payoff decreases as well, and vice versa.
Theorem W00 W01 hhP2ii (S2Æ:S1) W11 W10 hhP1ii (S1Æ:S2) hhP1iiS1 hhP2iiS2
Generalization of Determinacy Zero-sum games: S1 = :S2 Nonzero-sum games: S1, S2 W00 W1 hhP1iiS1 W01 W11 W2 hhP2iiS2 W10
Game Models • Always about open systems: • -players = processes / components / agents • -input vs. output • -demonic vs. angelic nondeterminism • Output games: input demonic (adversarial) • Input games: output demonic
Input Games Control objective: : z x! y! x! z! b? a? a? b?
Input Games Control objective: : z x! y! x! z! b? a? a? b?
Input Games Control objective: : z x! y! x! z! b? a? a? b?
Input Games Controller: x! y! x! z! x? y? b? a? a? b? a! b! [Ramadge/Wonham et al.]
Input Games x! y! Not input enabling x! z! a? a? b?
Input Games Environment avoids deadlock = Input assumption x! y! x! z! a? a? b? Interface automata [deAlfaro/H]
Input Games x! y! x,y? x! z! a? a? a! b? Legal environment
Input Games x! y! x,y? x! z! a? a? b! b? Illegal environment
Interface Compatibility File server open close open? close? read read? data! data
Interface Compatibility Good client File server open open! close open? close? read! close! read read? data! data? data
Interface Compatibility Bad client File server open close open? close? open! read read? data! open! data
Incremental Design Input assumption Input assumption
Incremental Design Propagated weakest input assumption
Input Assumption Propagation a b a? y! x x! a? b? a? b? y x! y! y! x!
Input Assumption Propagation a b a b a? a? y! x x! x,y? a? b? a? b? a,b? y x! y! y! x! y?
Input Assumption Propagation a b a b a? a? y! x x! x,y? a? b? a? b? a,b? y x! y! y! x! y?
Two interfaces are compatible if they can be used together in someenvironment. a b a b a? a? y! x x! x,y? a? b? a? b? a,b? y x! y! y! x! y?
The Composite Interface a b a? x! y! b? a? y! y! x y
Refinement x! y! x,y? x! y! z! a? a? a! b? y? x,z? Every legal environment should be a legal environment of the refined process.
Refinement x! y! x,y? x! y! z! a? a? a! b? y? x,z? Every legal environment should be a legal environment of the refined process.
Refinement x! y! x,y? x! y! z! b? a? a? a! b? y? x,z? Every legal environment should be a legal environment of the refined process.
Refinement x! y! x,y? x! y! z! a? a? a! b? y? x,z? Every legal environment should be a legal environment of the refined process.
Refinement z! x! y! x,y? x! y! z! a? a? a! b? y? x,z? Every legal environment should be a legal environment of the refined process.
Interface Refinement: I/O Alternating Simulation A’ A iff 1. for all inputs i, if A –i?-> B , then there exists B’ such that A’ –i?-> B’ and B’ B , and 2. for all outputs o, if A’ –o!-> B’ , then there exists B such that A –o!-> B and B’ B .
Interface Refinement: I/O Alternating Simulation A’ A iff 1. for all inputs i, if A –i?-> B , then there exists B’ such that A’ –i?-> B’ and B’ B , and 2. for all outputs o, if A’ –o!-> B’ , then there exists B such that A –o!-> B and B’ B .