Lecture 2 Automata Theory

Size: px
Start display at page:

Download "Lecture 2 Automata Theory"

Transcription

1 Lecture 2 Automata Theory Ufuk Topcu Nok Wongpiromsarn Richard M. Murray Outline: Transition systems Linear-time properties Regular propereties EECI, 14 May 2012

2 This short-course is on this picture applied to a particular class of systems/problems. requirements (on the system behavior) assumptions (on the unknowns, e.g., environment behavior) complete system or some of its components verification synthesis satisfied (+certificate) violated (+counterexample) controller that render the system to satisfy the spec s no such controller exists 2

3 This short-course is on this picture applied to a particular class of systems/problems. requirements (on the system behavior) assumptions (on the unknowns, e.g., environment behavior) complete system or some of its components formal specifications system model verification synthesis satisfied (+certificate) violated (+counterexample) controller that render the system to satisfy the spec s no such controller exists 2

4 This short-course is on this picture applied to a particular class of systems/problems. requirements (on the system behavior) assumptions (on the unknowns, e.g., environment behavior) complete system or some of its components formal specifications system model This lecture is an intro to these. verification synthesis satisfied (+certificate) violated (+counterexample) controller that render the system to satisfy the spec s no such controller exists 2

5 Finite transition system A finite transition system is a mathematical description of the behavior of systems, plants, controllers or environments with finite (discrete) inputs, outputs, and internal states and transitions between the states. 3

6 Finite transition system A finite transition system is a mathematical description of the behavior of systems, plants, controllers or environments with finite (discrete) inputs, outputs, and internal states and transitions between the states. front pad rear pad door q 0 q 1 {door is open} {door is not open} 3

7 Finite transition system A finite transition system is a mathematical description of the behavior of systems, plants, controllers or environments with finite (discrete) inputs, outputs, and internal states and transitions between the states. front pad rear pad door front q 0 q 1 {door is open} {door is not open} 3

8 Finite transition system A finite transition system is a mathematical description of the behavior of systems, plants, controllers or environments with finite (discrete) inputs, outputs, and internal states and transitions between the states. front pad rear pad door front q 0 q 1 {door is open} {door is not open} neither 3

9 Finite transition system A finite transition system is a mathematical description of the behavior of systems, plants, controllers or environments with finite (discrete) inputs, outputs, and internal states and transitions between the states. front pad rear pad door rear, both, neither front front, rear, both q 0 q 1 {door is open} {door is not open} neither 3

10 Finite transition system Example: Traffic logic planner in Alice. Partial nomenclature: DR = drive. STO = stop. NP = no passing, no reversing. P = passing, no reversing. PR = passing, reversing allowed. S = safe clearance with obstacle. A = aggressive clearance with obstacle. B = no clearance with obstacle. 4

11 Finite transition system Example: Traffic lights. q 1 s 1 traffic light 2 q 2 {g 1 } traffic light 1 c 2 s 2 {g 2 } traffic light 2 traffic light 1 c 1 e 1 γ 2 γ 1 γ 2 γ1 c 3 e 2 environment controller 5

12 Preliminaries A proposition is a statement that can be either true or false, but not both. Examples: Traffic light is green is a proposition. The front pad is occupied is a proposition. Is the front pad? is not a proposition. 6

13 Preliminaries A proposition is a statement that can be either true or false, but not both. Examples: Traffic light is green is a proposition. The front pad is occupied is a proposition. Is the front pad? is not a proposition. An atomic proposition is one whose truth or falsity does not depend on the truth or falsity of any other proposition. Examples: All propositions above are atomic propositions. If traffic light is green, the car can drive is not an atomic proposition. 6

14 Preliminaries A proposition is a statement that can be either true or false, but not both. Examples: Traffic light is green is a proposition. The front pad is occupied is a proposition. Is the front pad? is not a proposition. An atomic proposition is one whose truth or falsity does not depend on the truth or falsity of any other proposition. Examples: All propositions above are atomic propositions. If traffic light is green, the car can drive is not an atomic proposition. For notational brevity, use propositional variables to abbreviate propositions. For example, p Traffic light is green q Front pad is occupied 6

15 Finite transition system A transition system TS is a tuple TS =(S, Act,, I, AP, L), where S is a set of states, Act is a set of actions, S Act S is a transition relation, I S is a set of initial states, AP is a set of atomic propositions, L : S 2 AP is a labeling function, and TS is called finite if S, Act, and AP are finite. rear, both, neither front, rear, both front q 0 q 1 {door is not open} neither {door is open} example S = {q 0,q 1 } Act = {rear, front, both, neither} = {(q 0, front, q 1 ), (q 1, neither, q 0 ), (q 1, rear, q 1 ),...} I = {q 0 } L(q 0 )={door is not open} L(q 1 )={door is open} 7

16 Finite transition system A transition system TS is a tuple TS =(S, Act,, I, AP, L), where S is a set of states, Act is a set of actions, S Act S is a transition relation, I S is a set of initial states, AP is a set of atomic propositions, L : S 2 AP is a labeling function, and TS is called finite if S, Act, and AP are finite. AP depends on the characteristics of the system of interest. For state s, L(s) is the set of atomic propositions that are satisfied at s. Labels model outputs or observables. Actions model inputs or communication. rear, both, neither front, rear, both front q 0 q 1 {door is not open} neither {door is open} example S = {q 0,q 1 } Act = {rear, front, both, neither} = {(q 0, front, q 1 ), (q 1, neither, q 0 ), (q 1, rear, q 1 ),...} I = {q 0 } L(q 0 )={door is not open} L(q 1 )={door is open} 7

17 Propositional logic Given finite set AP of atomic propositions, the set of propositional logic formulas is inductively defined by: - true is a formula; - any a AP is a formula; - if φ 1, φ 2, and φ are formulas, so are φ and φ 1 φ 2 ; and - nothing else is a formula. From Specifying Systems by L. Lamport: Propositional logic is the math of the Boolean values, true and false, and the operators,,, 8

18 Propositional logic Given finite set AP of atomic propositions, the set of propositional logic formulas is inductively defined by: - true is a formula; - any a AP is a formula; - if φ 1, φ 2, and φ are formulas, so are φ and φ 1 φ 2 ; and - nothing else is a formula. From Specifying Systems by L. Lamport: Propositional logic is the math of the Boolean values, true and false, and the operators,,, Notation Connectives: (negation), (and) (or), (implies) 1 for true and 0 for false. Example propositional logic formulas obtained by applying the above four rules: φ 1 φ 2 := ( φ 1 φ 2 ) φ 1 φ 2 := φ 1 φ 2 8

19 Propositional logic Given finite set AP of atomic propositions, the set of propositional logic formulas is inductively defined by: - true is a formula; - any a AP is a formula; - if φ 1, φ 2, and φ are formulas, so are φ and φ 1 φ 2 ; and - nothing else is a formula. From Specifying Systems by L. Lamport: Propositional logic is the math of the Boolean values, true and false, and the operators,,, Notation Connectives: (negation), (and) (or), (implies) 1 for true and 0 for false. Example propositional logic formulas obtained by applying the above four rules: φ 1 φ 2 := ( φ 1 φ 2 ) The evaluation function µ : AP {0, 1} assigns a truth value to each a AP. The truth value µ(φ) of a formula Φ is determined by substituting the values for the atomic propositions specified by µ. Given: AP = {a, b, c}, µ(a) = 0 and µ(b) =µ(c) =1. Φ 1 =(a b) c, µ(φ 1 )=1 Φ 2 =(a b) c, µ(φ 2 )=0 φ 1 φ 2 := φ 1 φ 2 8

20 Logical dynamical system as a finite transition system x 1 [k + 1] = x 2 [k] u[k], x 1 [0] = 0, x 2 [k + 1] = x 1 [k] u[k], x 2 [0] = 1, y[k] =x 1 [k] x 2 [k] φ 1 φ 2 := ( φ 1 φ 2 ) (φ 1 φ 2 ) XOR (exclusive or) gives true only if exactly one of the operands is true. S = {0, 1]} 2 Act = {0, 1} I = {(0, 1)} AP = {y} L(x 1,x 2 )= {y} (indicating 1) if x1 x 2 =0 1 (indicating 0) otherwise 9

21 Concurrent systems Systems in which multiple tasks can be executed at the same time potentially with inter-task communication and resource sharing. 10

22 Concurrent systems Systems in which multiple tasks can be executed at the same time potentially with inter-task communication and resource sharing. Example: multi-threaded control Separate code into independent threads Switch between threads, allowing each to run simultaneously Potential problems: deadlocks, race conditions Thread Usage in Alice (DGC05) Modes of communication between the subsystems: hand-shaking (leads to synchrony) changing the values of shared variables (leads to asynchrony) 10

23 Composition of transition systems (by handshaking) Let TS 1 =(S 1, Act 1, 1,I 1, AP 1,L 1 ) and TS 2 =(S 2, Act 2, 2,I 2, AP 2,L 2 ) be transition systems. Their parallel composition, TS 1 TS 2 is the transition system defined by TS 1 TS 2 =(S 1 S 2, Act 1 Act 2,,I 1 I 2, AP 1 AP 2,L) where L(s 1,s 2 )=L 1 (s 1 ) L 2 (s 2 ) and is defined by the following rules: If Act 1 Act 2, s 1 1 s 1, and s 2 2 s 2,thens 1,s 2 s 1,s 2. If Act 1 \ Act 2 and s 1 1 s 1,thens 1,s 2 s 1,s 2. If Act 2 \ Act 1 and s 2 2 s 2,thens 1,s 2 s 1,s 2. q 1 s 1 q 1,s 1 q 1,s 2 {g 2 } q 2 s 2 q 2,s 1 q 2,s 2 {g 1 } traffic light 1 {g 2 } traffic light 2 {g 1 } {g 1,g 2 } 11

24 Composition of transition systems (by handshaking) Let TS 1 =(S 1, Act 1, 1,I 1, AP 1,L 1 ) and TS 2 =(S 2, Act 2, 2,I 2, AP 2,L 2 ) be transition systems. Their parallel composition, TS 1 TS 2 is the transition system defined by TS 1 TS 2 =(S 1 S 2, Act 1 Act 2,,I 1 I 2, AP 1 AP 2,L) where L(s 1,s 2 )=L 1 (s 1 ) L 2 (s 2 ) and is defined by the following rules: If Act 1 Act 2, s 1 1 s 1, and s 2 2 s 2,thens 1,s 2 s 1,s 2. If Act 1 \ Act 2 and s 1 1 s 1,thens 1,s 2 s 1,s 2. If Act 2 \ Act 1 and s 2 2 s 2,thens 1,s 2 s 1,s 2. q 1 s 1 q 1,s 1 q 1,s 2 {g 2 } q 2 s 2 q 2,s 1 q 2,s 2 {g 1 } traffic light 1 {g 2 } traffic light 2 {g 1 } {g 1,g 2 } 11

25 Composition of transition systems (by handshaking) Let TS 1 =(S 1, Act 1, 1,I 1, AP 1,L 1 ) and TS 2 =(S 2, Act 2, 2,I 2, AP 2,L 2 ) be transition systems. Their parallel composition, TS 1 TS 2 is the transition system defined by TS 1 TS 2 =(S 1 S 2, Act 1 Act 2,,I 1 I 2, AP 1 AP 2,L) where L(s 1,s 2 )=L 1 (s 1 ) L 2 (s 2 ) and is defined by the following rules: If Act 1 Act 2, s 1 1 s 1, and s 2 2 s 2,thens 1,s 2 s 1,s 2. If Act 1 \ Act 2 and s 1 1 s 1,thens 1,s 2 s 1,s 2. If Act 2 \ Act 1 and s 2 2 s 2,thens 1,s 2 s 1,s 2. q 1 q 2 {g 1 } traffic light 1 s 1 s 2 {g 2 } traffic light 2 q 1,s 1 q 2,s 1 {g 2 } q 1,s 2 q 2,s 2 {g 1 } {g 1,g 2 } c 2 c 1 c 3 controller {g 1 } q 2,s 1,c 2 q 1,s 1,c 1 q 1,s 2,c 3 {g 2 } + Unreachable states 11

26 Paths of a finite transition system Given a transition system TS =(S, Act,, I, AP, L). For s S, P ost(s) := s S : a Act s.t. s a s Example: Post((0,0)) = {(0,0),(1,0)}. A state s is terminal iff Post(s) is empty. 12

27 Paths of a finite transition system Given a transition system TS =(S, Act,, I, AP, L). For s S, P ost(s) := s S : a Act s.t. s a s Example: Post((0,0)) = {(0,0),(1,0)}. q A state s is terminal iff Post(s) is empty. 12

28 Paths of a finite transition system Given a transition system TS =(S, Act,, I, AP, L). For s S, P ost(s) := s S : a Act s.t. s a s Example: Post((0,0)) = {(0,0),(1,0)}. A state s is terminal iff Post(s) is empty. A sequence of states, either finite π = s 0 s 1 s 2...s n or infinite π = s 0 s 1 s 2..., is a path fragment if s i+1 P ost(s i ), i 0. (0, 1) 0,1 (1, 0) 1 (1, 1) 1 (1, 1) 0 (1, 0) 0 (0, 0) 0 (0, 0) 1 (1, 0) 0 (0, 1) 0,1 (1, 0) 1 (1, 1). 12

29 Paths of a finite transition system Given a transition system TS =(S, Act,, I, AP, L). For s S, P ost(s) := s S : a Act s.t. s a s Example: Post((0,0)) = {(0,0),(1,0)}. A state s is terminal iff Post(s) is empty. A sequence of states, either finite π = s 0 s 1 s 2...s n or infinite π = s 0 s 1 s 2..., is a path fragment if s i+1 P ost(s i ), i 0. A path is a path fragment s.t. and it is either finite with terminal or infinite. Denote the set of paths in TS by P ath(ts). s 0 I s n a path: (0, 1) 0,1 (1, 0) 1 (1, 1) 1 (1, 1) 0 not a path: (1, 0) 0 (0, 0) 0 (0, 0) 1 (1, 0) 0 not a path: (0, 1) 0,1 (1, 0) 1 (1, 1). 12

30 Traces of a finite transition system Equivalent FSMs w/ and w/o terminal state Consider a finite transition system TS =(S, Act,, I, AP, L) with no terminal states (wlog). The trace of an infinite path fragment The set, π = s 0 s 1 s 2... trace(π) =L(s 0 )L(s 1 )L(s 2 )..., of traces of TS is defined by. T races(ts)={trace(π) :π P aths(ts)} T races(ts) is defined by sequence of sets of atomic propositions that are valid in the states along the path 13

31 Traces of a finite transition system Equivalent FSMs w/ and w/o terminal state Consider a finite transition system TS =(S, Act,, I, AP, L) with no terminal states (wlog). The trace of an infinite path fragment The set, π = s 0 s 1 s 2... trace(π) =L(s 0 )L(s 1 )L(s 2 )..., of traces of TS is defined by. T races(ts)={trace(π) :π P aths(ts)} T races(ts) is defined by sequence of sets of atomic propositions that are valid in the states along the path rear, both, neither front, rear, both front q 0 q 1 {door is not open} {door is open} neither Actions: f, f, n, b, f, f, b,... Path: q 0 q 1 q 1 q 0 q 0 q 1 q 1 q 1... Trace: o, o, o, o, o, o, o, o,... (with some abuse of notation) 13

32 Linear-time properties A linear-time (LT) property P over atomic propositions in AP is a set of infinite sequences over 2 AP. Let P be an LT property over AP and TS =(S, Act,, I, AP, L) bea transition system. TS satisfies P, denoted as TS = P, iff T races(ts) P. 14

33 Linear-time properties A linear-time (LT) property P over atomic propositions in AP is a set of infinite sequences over 2 AP. Let P be an LT property over AP and TS =(S, Act,, I, AP, L) bea transition system. TS satisfies P, denoted as TS = P, iff T races(ts) P. traces of TS admissible, desired, undesired, etc. behavior 14

34 Linear-time properties A linear-time (LT) property P over atomic propositions in AP is a set of infinite sequences over 2 AP. Let P be an LT property over AP and TS =(S, Act,, I, AP, L) bea transition system. TS satisfies P, denoted as TS = P, iff T races(ts) P. traces of TS admissible, desired, undesired, etc. behavior Example: AP = {red1, green1, red2, green2} P1 = The first light is infinitely often green. [A 0 A 1 A 2... with green1 A i 2 AP holds for infinitely many i] {r1,g2}{g1,r2}{r1,g2}{g1,r2}... {g1} {g1} {g1}... {g1,g2}{g1,g2}{g1,g2}... {r1,g2}{r1g1}... P2 = The lights are never both green simultaneously. [A 0 A 1 A 2... with green1 / A i or green2 / A i, for all i 0] 14

35 Linear-time properties A linear-time (LT) property P over atomic propositions in AP is a set of infinite sequences over 2 AP. Let P be an LT property over AP and TS =(S, Act,, I, AP, L) bea transition system. TS satisfies P, denoted as TS = P, iff T races(ts) P. traces of TS {g 2 } admissible, desired, undesired, etc. behavior q 1,s 1 q 1,s 2 Example: AP = {red1, green1, red2, green2} P1 = The first light is infinitely often green. [A 0 A 1 A 2... with q 2,s green1 1 A i q 2,s 2 AP 2 holds for infinitely many i] {g 1 } {g 1,g 2 } {r1,g2}{g1,r2}{r1,g2}{g1,r2}... {g1} {g1} {g1}... {g1,g2}{g1,g2}{g1,g2}... {r1,g2}{r1g1}... P2 = The lights are never both green simultaneously. [A 0 A 1 A 2... with green1 / A i or green2 / A i, for all i 0] c 2 c 1 c 3 {g 1 } q 2,s 1,c 2 q 1,s 1,c 1 q 1,s 2,c 3 {g 2 } + Unreachable states 14

36 Linear-time properties A linear-time (LT) property P over atomic propositions in AP is a set of infinite sequences over 2 AP. Let P be an LT property over AP and TS =(S, Act,, I, AP, L) bea transition system. TS satisfies P, denoted as TS = P, iff T races(ts) P. traces of TS {g 2 } admissible, desired, undesired, etc. behavior q 1,s 1 q 1,s 2 Example: AP = {red1, green1, red2, green2} P1 = The first light is infinitely often green. [A 0 A 1 A 2... with q 2,s green1 1 A i q 2,s 2 AP 2 holds for infinitely many i] {g 1 } {g 1,g 2 } {r1,g2}{g1,r2}{r1,g2}{g1,r2}... {g1} {g1} {g1}... {g1,g2}{g1,g2}{g1,g2}... {r1,g2}{r1g1}... P2 = The lights are never both green simultaneously. [A 0 A 1 A 2... with green1 / A i or green2 / A i, for all i 0] c 2 c 1 c 3 {g 1 } q 2,s 1,c 2 q 1,s 1,c 1 q 1,s 2,c 3 {g 2 } + Unreachable states The transition system satisfies P2, but it does not satisfy P1. 14

37 Invariants An LT property P Φ over AP is an invariant with respect to a propositional logic formula Φ over AP if P Φ = {A 0 A 1 A 2... (2 AP ) ω : A j = Φ j 0}. 15

38 Invariants An LT property P Φ over AP is an invariant with respect to a propositional logic formula Φ over AP if P Φ = {A 0 A 1 A 2... (2 AP ) ω : A j = Φ j 0}. Notation: repeat infinitely many times For A AP, let the evaluation µ A be the characteristic function of A. A = Φ iff µ A (Φ) =1 15

39 Invariants An LT property P Φ over AP is an invariant with respect to a propositional logic formula Φ over AP if P Φ = {A 0 A 1 A 2... (2 AP ) ω : A j = Φ j 0}. Notation: repeat infinitely many times For A AP, let the evaluation µ A be the characteristic function of A. A = Φ iff µ A (Φ) =1 Example: The LT property the lights are never both green simultaneously is an invariant with respect to Φ = green1 green2. 15

40 Invariants An LT property P Φ over AP is an invariant with respect to a propositional logic formula Φ over AP if P Φ = {A 0 A 1 A 2... (2 AP ) ω : A j = Φ j 0}. Notation: repeat infinitely many times For A AP, let the evaluation µ A be the characteristic function of A. A = Φ iff µ A (Φ) =1 Example: The LT property the lights are never both green simultaneously is an invariant with respect to Φ = green1 green2. Given TS, Φ, and P Φ, TS = P Φ? The following four statements are equivalent TS = P Φ trace(π) P Φ, π P ath(ts) L(s) = Φ, s S on a path of TS L(s) = Φ, s Reach(TS) A state s is reachable if there exists an execution fragment s.t. s 0 I and Reach(TS) a s 1 a 0 2 a s1 n s n = s : set of reachable states in TS Invariants are state properties. That is, for verification, find the reachable states and check Φ. 15

41 Safety properties An LT property P safe is a safety property if for all words σ (2 AP ) ω \P safe there exists a finite prefix ˆσ of σ s.t. P safe {σ (2 AP ) ω :ˆσ is a finite prefix of σ } =. Bad things have happened in the bad prefix starts with satisfies. ˆσ P safe ˆσ. Hence, no infinite word that 16

42 Safety properties An LT property P safe is a safety property if for all words σ (2 AP ) ω \P safe there exists a finite prefix ˆσ of σ s.t. P safe {σ (2 AP ) ω :ˆσ is a finite prefix of σ } =. Bad things have happened in the bad prefix starts with satisfies. ˆσ P safe ˆσ. Hence, no infinite word that Example: AP = {red, green, yellow} At least one of the lights is always on is a safety property. {σ = A 0 A 1... : A j AP A j = } Bad prefixes: finite words that contain. Two lights are never on at the same time is a safety property. {σ = A 0 A 1... : A j AP card(a j ) 1} Bad prefixes: finite words that contain {red,green}, {red,yellow}, and so on. 16

43 Safety properties An LT property P safe is a safety property if for all words σ (2 AP ) ω \P safe there exists a finite prefix ˆσ of σ s.t. P safe {σ (2 AP ) ω :ˆσ is a finite prefix of σ } =. Bad things have happened in the bad prefix starts with satisfies. ˆσ P safe ˆσ. Hence, no infinite word that Example: AP = {red, green, yellow} At least one of the lights is always on is a safety property. {σ = A 0 A 1... : A j AP A j = } Bad prefixes: finite words that contain. Two lights are never on at the same time is a safety property. {σ = A 0 A 1... : A j AP card(a j ) 1} Any invariant is a safety property. There are safety properties that are not invariant. Example: AP = {red, yellow} Each red is immediately preceded by a yellow is a safety property, but not invariant (because it is not a state property). Sample bad prefixes: Bad prefixes: finite words that contain {r} {y}{y}{r}{r} {r} {red,green}, {red,yellow}, and so on. 16

44 Liveness properties An LT property P is a liveness property if and only if for each finite word w of 2 AP there exists an infinite word σ (2 AP ) ω satisfying wσ P. Example: Two traffic lights with First light will eventually turn green First light will turn green infinitely often AP = {red1, green1, red2, green2} 17

45 Liveness properties An LT property P is a liveness property if and only if for each finite word w of 2 AP there exists an infinite word σ (2 AP ) ω satisfying wσ P. Example: Two traffic lights with First light will eventually turn green First light will turn green infinitely often AP = {red1, green1, red2, green2} Use of liveness properties: specify the absence of (undesired) infinite loops or progress toward a goal. rule out executions that cannot realistically occur (fairness), e.g., in an asynchronous execution, every process is activate infinitely often. 17

46 Liveness properties An LT property P is a liveness property if and only if for each finite word w of 2 AP there exists an infinite word σ (2 AP ) ω satisfying wσ P. Example: Two traffic lights with First light will eventually turn green First light will turn green infinitely often AP = {red1, green1, red2, green2} Use of liveness properties: specify the absence of (undesired) infinite loops or progress toward a goal. rule out executions that cannot realistically occur (fairness), e.g., in an asynchronous execution, every process is activate infinitely often. Example: Is the following a safety or liveness property? the first light is eventually green after it is initially red three time instances in a row 17

47 Liveness properties An LT property P is a liveness property if and only if for each finite word w of 2 AP there exists an infinite word σ (2 AP ) ω satisfying wσ P. Example: Two traffic lights with First light will eventually turn green First light will turn green infinitely often AP = {red1, green1, red2, green2} Use of liveness properties: specify the absence of (undesired) infinite loops or progress toward a goal. rule out executions that cannot realistically occur (fairness), e.g., in an asynchronous execution, every process is activate infinitely often. safety liveness Example: Is the following a safety or liveness property? the first light is eventually green after it is initially red three time instances in a row r 1 r 1 r 1 (2 AP ) ω (2 AP ) g 1 (2 AP ) ω Answer: It is a combination of a safety and a liveness property. Liveness: any finite word can be extended by an infinite word A 0 A 1 A 2... with green1 A j for some j 0. Safety: any finite word A 0 A 1 A 2 with red1 / A i for any i {0, 1, 2} is a bad prefix. 17

48 Invariant Safety Liveness state condition something bad never happens something good will happen eventually violated at individual states any infinite run violating the property has a finite prefix violated only by infinite runs verification: find the reachable states and check the invariant condition verification: verification:?? 18

49 Nondeterministic finite automaton (NFA) A nondeterministic finite automaton A =(Q, Σ, δ,q 0,F) is a tuple with - A is a set of states, - Σ is an alphabet, - δ : Q Σ 2 Q is a transition function, - Q 0 Q is a set of initial states, and - F Q is a set of accept (or: final) states. Q = {q0,q1,q2}, Σ = {A, B} Q 0 = {q0}, F = {q2} δ(q0,a)={q0}, δ(q1,a)={q2}, δ(q2,a)=, δ(q0,b)={q0,q1} δ(q1,b)={q2} δ(q0,b)= 19

50 Nondeterministic finite automaton (NFA) A nondeterministic finite automaton A =(Q, Σ, δ,q 0,F) is a tuple with - A is a set of states, - Σ is an alphabet, - δ : Q Σ 2 Q is a transition function, - Q 0 Q is a set of initial states, and - F Q is a set of accept (or: final) states. set of finite words Let w = A 1...A n Σ be a finite word. A run for w in A is a finite sequence of states q 0 q 1...q n s.t. - q 0 Q 0 Q = {q0,q1,q2}, Σ = {A, B} Q 0 = {q0}, F = {q2} δ(q0,a)={q0}, δ(q1,a)={q2}, δ(q2,a)=, δ(q0,b)={q0,q1} δ(q1,b)={q2} δ(q0,b)= A i+1 - q i q i+1 for all 0 i<n. word run empty word B ABA BBA BA BBA q0 q0q1 q0q0q0q0 q0q0q0q0 q0q1q2 q0q0q1q2 19

51 Nondeterministic finite automaton (NFA) A nondeterministic finite automaton A =(Q, Σ, δ,q 0,F) is a tuple with - A is a set of states, - Σ is an alphabet, - δ : Q Σ 2 Q is a transition function, - Q 0 Q is a set of initial states, and - F Q is a set of accept (or: final) states. set of finite words Let w = A 1...A n Σ be a finite word. A run for w in A is a finite sequence of states q 0 q 1...q n s.t. - q 0 Q 0 Q = {q0,q1,q2}, Σ = {A, B} Q 0 = {q0}, F = {q2} δ(q0,a)={q0}, δ(q1,a)={q2}, δ(q2,a)=, δ(q0,b)={q0,q1} δ(q1,b)={q2} δ(q0,b)= A i+1 - q i q i+1 for all 0 i<n. word run A run q 0 q 1...q n is called accepting if q n F. A finite word in accepted if it leads to an accepting run. The accepted language L(A) of A is the set of finite words in Σ accepted by A. accepted empty word B ABA BBA BA BBA q0 q0q1 q0q0q0q0 q0q0q0q0 q0q1q2 q0q0q1q2 19

52 Regular safety properties A set L Σ of finite strings is called a regular language if there is a nondeterministic finite automaton A s.t. L = L(A). NFA: A =(Q, Σ, δ,q 0,F) language (set of finite words) accepted by the NFA 20

53 Regular safety properties A set L Σ of finite strings is called a regular language if there is a nondeterministic finite automaton A s.t. L = L(A). A safety property P safe over AP is called regular if its set of bad prefixes constitutes a regular language over 2 AP. That is: NFA A s.t. L(A) = bad prefixes of P safe NFA: A =(Q, Σ, δ,q 0,F) language (set of finite words) accepted by the NFA 20

54 Regular safety properties A set L Σ of finite strings is called a regular language if there is a nondeterministic finite automaton A s.t. L = L(A). A safety property P safe over AP is called regular if its set of bad prefixes constitutes a regular language over 2 AP. That is: NFA A s.t. L(A) = bad prefixes of P safe NFA: A =(Q, Σ, δ,q 0,F) language (set of finite words) accepted by the NFA Example: AP = {red, green, yellow} Each red must be preceded immediately by a yellow is a regular safety property. Sample bad prefixes: {}{}{red} {}{red} {yellow}{yellow}{green}{red} A 0 A 1...A n s.t. n>0, red A n, and yellow / A n 1 general form of minimal bad prefixes yellow q1 q0 q2 red yellow red yellow red yellow 20

55 Verifying regular safety properties Given a transition system TS and a regular safety property P safe, both over the atomic propositions AP. Let A be an NFA s.t. L(A) =BadP ref(p safe ). 21

56 Verifying regular safety properties Given a transition system TS and a regular safety property P safe, both over the atomic propositions AP. Let A be an NFA s.t. L(A) =BadP ref(p safe ). T races(ts) P safe 21

57 Verifying regular safety properties Given a transition system TS and a regular safety property P safe, both over the atomic propositions AP. Let A be an NFA s.t. L(A) =BadP ref(p safe ). TS = P safe iff T races(ts) P safe iff T races(ts) ((2 AP ) ω \P safe )= iff T races(ts) BadP ref(p safe ).(2 AP ) ω = iff pref(t races(ts)) BadP ref(p safe )= iff pref(t races(t S)) L(A) = finite prefixes T races(ts) P safe For words w and σ, w.σ denotes their concatenation. 21

58 Verifying regular safety properties Given a transition system TS and a regular safety property P safe, both over the atomic propositions AP. Let A be an NFA s.t. L(A) =BadP ref(p safe ). TS = P safe iff T races(ts) P safe iff T races(ts) ((2 AP ) ω \P safe )= iff T races(ts) BadP ref(p safe ).(2 AP ) ω = iff pref(t races(ts)) BadP ref(p safe )= iff pref(t races(t S)) L(A) = finite prefixes (2 AP ) ω (2 AP ) ω \P safe T races(ts) P safe For words w and σ, w.σ denotes their concatenation. 21

59 Invariant Safety Liveness state condition something bad never happens something good will happen eventually violated at individual states any infinite run violating the property has a finite prefix violated only by infinite runs verification: find the reachable states and check the invariant condition verification: based on nondeterministic finite automaton which accepts finite runs verification:? 22

60 Nondeterministic Buchi automaton (NBA) A nondeterministic Buchi automaton is same as an NFA with its runs interpreted differently. A =(Q, Σ, δ,q 0,F) Let w = A 1 A 2... Σ ω be an infinite string. A run for w in A is an infinite sequence q 0 q 1... of states s.t. - q 0 Q 0 and A - q 1 A 0 2 A q1 3 q

61 Nondeterministic Buchi automaton (NBA) A nondeterministic Buchi automaton is same as an NFA with its runs interpreted differently. A =(Q, Σ, δ,q 0,F) Let w = A 1 A 2... Σ ω be an infinite string. A run for w in A is an infinite sequence q 0 q 1... of states s.t. - q 0 Q 0 and A - q 1 A 0 2 A q1 3 q2... AP = {red, green} A run is accepting if q j F for infinitely many j. A string w is accepted by A if there is an accepting run of w in A. L ω (A): set of infinite strings accepted by A. input word: {green}{}{green}{}{green}{}... run: q 0 q 1 q 0 q 1 q 0 q 1... input word: ({green, red}{}{green}{red}) ω run: q 0 q 1 q 0 q 1 q 0 q

62 Nondeterministic Buchi automaton (NBA) A nondeterministic Buchi automaton is same as an NFA with its runs interpreted differently. A =(Q, Σ, δ,q 0,F) Let w = A 1 A 2... Σ ω be an infinite string. A run for w in A is an infinite sequence q 0 q 1... of states s.t. - q 0 Q 0 and A - q 1 A 0 2 A q1 3 q2... AP = {red, green} A run is accepting if q j F for infinitely many j. A string w is accepted by A if there is an accepting run of w in A. L ω (A): set of infinite strings accepted by A. A set of infinite string L ω Σ ω is called an ω-regular language if there is an NBA A s.t. L ω = L ω (A). The NBA on the right accepts the infinite words satisfying the LT property: infinitely often green. input word: {green}{}{green}{}{green}{}... run: q 0 q 1 q 0 q 1 q 0 q 1... input word: ({green, red}{}{green}{red}) ω run: q 0 q 1 q 0 q 1 q 0 q

63 ω -Regular Properties NBA: A =(Q, Σ, δ,q 0,F) An LT property P over AP is called ω-regular if P is an ω-regular language over 2 AP. Invariant, regular safety, and various liveness properties are ω-regular. Let P be an ω-regular property and A be an NBA that represents the bad traces for P. Basic idea behind model checking ω-regular properties: TS = P if and only if Traces(TS) P if and only if Traces(TS) (2 AP ) ω \ P = if and only if if and only if Traces(TS) P = Traces(TS) L ω (A) = 24

64 Invariant Safety Liveness state condition something bad never happens something good will happen eventually violated at individual states any infinite run violating the property has a finite prefix violated only by infinite runs verification: find the reachable states and check the invariant condition verification: based on nondeterministic finite automaton which accepts finite runs verification: based on nondeterministic Buchi automaton which accepts infinite runs 25

Lecture 2 Automata Theory

Lecture 2 Automata Theory Lecture 2 Automata Theory Ufuk Topcu Nok Wongpiromsarn Richard M. Murray EECI, 18 March 2013 Outline Modeling (discrete) concurrent systems: transition systems, concurrency and interleaving Linear-time

More information

CDS 270 (Fall 09) - Lecture Notes for Assignment 8.

CDS 270 (Fall 09) - Lecture Notes for Assignment 8. CDS 270 (Fall 09) - Lecture Notes for Assignment 8. ecause this part of the course has no slides or textbook, we will provide lecture supplements that include, hopefully, enough discussion to complete

More information

Safety and Liveness Properties

Safety and Liveness Properties Safety and Liveness Properties Lecture #6 of Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling and Verification E-mail: katoen@cs.rwth-aachen.de November 5, 2008 c JPK Overview Lecture

More information

Lecture 4 Model Checking and Logic Synthesis

Lecture 4 Model Checking and Logic Synthesis Lecture 4 Model Checking and Logic Synthesis Nok Wongpiromsarn Richard M. Murray Ufuk Topcu EECI, 18 March 2013 Outline Model checking: what it is, how it works, how it is used Computational complexity

More information

Basics of Linear Temporal Proper2es

Basics of Linear Temporal Proper2es Basics of Linear Temporal Proper2es Robert B. France State vs ac2on view Ac2on view abstracts out states; focus only on ac2on labels State view: focus only on states and the proposi2ons that are true in

More information

Chapter 3: Linear temporal logic

Chapter 3: Linear temporal logic INFOF412 Formal verification of computer systems Chapter 3: Linear temporal logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 LTL: a specification

More information

Timo Latvala. March 7, 2004

Timo Latvala. March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness Timo Latvala March 7, 2004 Reactive Systems: Safety, Liveness, and Fairness 14-1 Safety Safety properties are a very useful subclass of specifications.

More information

Lecture 9 Synthesis of Reactive Control Protocols

Lecture 9 Synthesis of Reactive Control Protocols Lecture 9 Synthesis of Reactive Control Protocols Nok Wongpiromsarn Singapore-MIT Alliance for Research and Technology Richard M. Murray and Ufuk Topcu California Institute of Technology EECI, 16 May 2012

More information

Automata-based Verification - III

Automata-based Verification - III COMP30172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20: email: howard.barringer@manchester.ac.uk March 2009 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Linear-Time Logic. Hao Zheng

Linear-Time Logic. Hao Zheng Linear-Time Logic Hao Zheng Department of Computer Science and Engineering University of South Florida Tampa, FL 33620 Email: zheng@cse.usf.edu Phone: (813)974-4757 Fax: (813)974-5456 Hao Zheng (CSE, USF)

More information

Automata-based Verification - III

Automata-based Verification - III CS3172: Advanced Algorithms Automata-based Verification - III Howard Barringer Room KB2.20/22: email: howard.barringer@manchester.ac.uk March 2005 Third Topic Infinite Word Automata Motivation Büchi Automata

More information

Automata on Infinite words and LTL Model Checking

Automata on Infinite words and LTL Model Checking Automata on Infinite words and LTL Model Checking Rodica Condurache Lecture 4 Lecture 4 Automata on Infinite words and LTL Model Checking 1 / 35 Labeled Transition Systems Let AP be the (finite) set of

More information

Lecture 7 Synthesis of Reactive Control Protocols

Lecture 7 Synthesis of Reactive Control Protocols Lecture 7 Synthesis of Reactive Control Protocols Richard M. Murray Nok Wongpiromsarn Ufuk Topcu California Institute of Technology AFRL, 25 April 2012 Outline Review: networked control systems and cooperative

More information

Embedded systems specification and design

Embedded systems specification and design Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs

More information

Systems Verification. Alessandro Abate. Day 1 January 25, 2016

Systems Verification. Alessandro Abate. Day 1 January 25, 2016 Systems Verification Alessandro Abate Day 1 January 25, 2016 Outline Course setup Intro to formal verification Models - labelled transition systems Properties as specifications - modal logics Model checking

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 94 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

UNIT-I. Strings, Alphabets, Language and Operations

UNIT-I. Strings, Alphabets, Language and Operations UNIT-I Strings, Alphabets, Language and Operations Strings of characters are fundamental building blocks in computer science. Alphabet is defined as a non empty finite set or nonempty set of symbols. The

More information

Transition Systems and Linear-Time Properties

Transition Systems and Linear-Time Properties Transition Systems and Linear-Time Properties Lecture #1 of Principles of Model Checking Joost-Pieter Katoen Software Modeling and Verification Group affiliated to University of Twente, Formal Methods

More information

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia Università degli studi di Udine Corso per il dottorato di ricerca: Temporal Logics: Satisfiability Checking, Model Checking, and Synthesis January 2017 Lecture 01, Part 02: Temporal Logics Guest lecturer:

More information

Chapter 5: Linear Temporal Logic

Chapter 5: Linear Temporal Logic Chapter 5: Linear Temporal Logic Prof. Ali Movaghar Verification of Reactive Systems Spring 91 Outline We introduce linear temporal logic (LTL), a logical formalism that is suited for specifying LT properties.

More information

Classes and conversions

Classes and conversions Classes and conversions Regular expressions Syntax: r = ε a r r r + r r Semantics: The language L r of a regular expression r is inductively defined as follows: L =, L ε = {ε}, L a = a L r r = L r L r

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment

More information

Computational Models #1

Computational Models #1 Computational Models #1 Handout Mode Nachum Dershowitz & Yishay Mansour March 13-15, 2017 Nachum Dershowitz & Yishay Mansour Computational Models #1 March 13-15, 2017 1 / 41 Lecture Outline I Motivation

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Chapter 6: NFA Applications

Chapter 6: NFA Applications Chapter 6: NFA Applications Implementing NFAs The problem with implementing NFAs is that, being nondeterministic, they define a more complex computational procedure for testing language membership. To

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

Synthesis of Control Protocols for Autonomous Systems

Synthesis of Control Protocols for Autonomous Systems Unmanned Systems, Vol. 0, No. 0 (2013) 1 19 c World Scientific Publishing Company Synthesis of Control Protocols for Autonomous Systems Tichakorn Wongpiromsarn a, Ufuk Topcu b, Richard M. Murray c a Ministry

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Lecture 8 Receding Horizon Temporal Logic Planning & Finite-State Abstraction

Lecture 8 Receding Horizon Temporal Logic Planning & Finite-State Abstraction Lecture 8 Receding Horizon Temporal Logic Planning & Finite-State Abstraction Ufuk Topcu Nok Wongpiromsarn Richard M. Murray AFRL, 26 April 2012 Contents of the lecture: Intro: Incorporating continuous

More information

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications

Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Failure Diagnosis of Discrete Event Systems With Linear-Time Temporal Logic Specifications Shengbing Jiang and Ratnesh Kumar Abstract The paper studies failure diagnosis of discrete event systems with

More information

Chapter 3: Linear-Time Properties

Chapter 3: Linear-Time Properties Chapter 3: Linear-Time Properties Prof. Ali Movaghar Verification of Reactive Systems Outline n n To verify the transition system model of the system under consideration, we need to specify the property

More information

Nondeterministic finite automata

Nondeterministic finite automata Lecture 3 Nondeterministic finite automata This lecture is focused on the nondeterministic finite automata (NFA) model and its relationship to the DFA model. Nondeterminism is an important concept in the

More information

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

Computational Models - Lecture 1 1

Computational Models - Lecture 1 1 Computational Models - Lecture 1 1 Handout Mode Ronitt Rubinfeld and Iftach Haitner. Tel Aviv University. February 29/ March 02, 2016 1 Based on frames by Benny Chor, Tel Aviv University, modifying frames

More information

LTL is Closed Under Topological Closure

LTL is Closed Under Topological Closure LTL is Closed Under Topological Closure Grgur Petric Maretić, Mohammad Torabi Dashti, David Basin Department of Computer Science, ETH Universitätstrasse 6 Zürich, Switzerland Abstract We constructively

More information

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics

CS256/Spring 2008 Lecture #11 Zohar Manna. Beyond Temporal Logics CS256/Spring 2008 Lecture #11 Zohar Manna Beyond Temporal Logics Temporal logic expresses properties of infinite sequences of states, but there are interesting properties that cannot be expressed, e.g.,

More information

Finite Automata. Seungjin Choi

Finite Automata. Seungjin Choi Finite Automata Seungjin Choi Department of Computer Science and Engineering Pohang University of Science and Technology 77 Cheongam-ro, Nam-gu, Pohang 37673, Korea seungjin@postech.ac.kr 1 / 28 Outline

More information

Lecture Notes on Emptiness Checking, LTL Büchi Automata

Lecture Notes on Emptiness Checking, LTL Büchi Automata 15-414: Bug Catching: Automated Program Verification Lecture Notes on Emptiness Checking, LTL Büchi Automata Matt Fredrikson André Platzer Carnegie Mellon University Lecture 18 1 Introduction We ve seen

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 3 Swarat Chaudhuri February 5, 2015 Temporal logic Propositional logic is a good language for describing properties of program states. However,

More information

CSE 105 Theory of Computation Professor Jeanne Ferrante

CSE 105 Theory of Computation  Professor Jeanne Ferrante CSE 105 Theory of Computation http://www.jflap.org/jflaptmp/ Professor Jeanne Ferrante 1 Today s agenda NFA Review and Design NFA s Equivalence to DFA s Another Closure Property proof for Regular Languages

More information

Recognizing Safety and Liveness by Alpern and Schneider

Recognizing Safety and Liveness by Alpern and Schneider Recognizing Safety and Liveness by Alpern and Schneider Calvin Deutschbein 17 Jan 2017 1 Intro 1.1 Safety What is safety? Bad things do not happen For example, consider the following safe program in C:

More information

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the

Introduction. Büchi Automata and Model Checking. Outline. Büchi Automata. The simplest computation model for infinite behaviors is the Introduction Büchi Automata and Model Checking Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 The simplest computation model for finite behaviors is the finite

More information

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism

Closure Properties of Regular Languages. Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties of Regular Languages Union, Intersection, Difference, Concatenation, Kleene Closure, Reversal, Homomorphism, Inverse Homomorphism Closure Properties Recall a closure property is a statement

More information

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata CISC 4090: Theory of Computation Chapter Regular Languages Xiaolan Zhang, adapted from slides by Prof. Werschulz Section.: Finite Automata Fordham University Department of Computer and Information Sciences

More information

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure

Temporal Logic. M φ. Outline. Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness. Ralf Huuck. Kripke Structure Outline Temporal Logic Ralf Huuck Why not standard logic? What is temporal logic? LTL CTL* CTL Fairness Model Checking Problem model, program? M φ satisfies, Implements, refines property, specification

More information

ENES 489p. Verification and Validation: Logic and Control Synthesis

ENES 489p. Verification and Validation: Logic and Control Synthesis 11/18/14 1 ENES 489p Verification and Validation: Logic and Control Synthesis Mumu Xu mumu@umd.edu November 18, 2014 Institute for Systems Research Aerospace Engineering University of Maryland, College

More information

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska LECTURE 6 CHAPTER 2 FINITE AUTOMATA 2. Nondeterministic Finite Automata NFA 3. Finite Automata and Regular Expressions 4. Languages

More information

Design and Analysis of Distributed Interacting Systems

Design and Analysis of Distributed Interacting Systems Design and Analysis of Distributed Interacting Systems Organization Prof. Dr. Joel Greenyer April 11, 2013 Organization Lecture: Thursdays, 10:15 11:45, F 128 Tutorial: Thursdays, 13:00 13:45, G 323 first

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Course Runtime Verification

Course Runtime Verification Course Martin Leucker (ISP) Volker Stolz (Høgskolen i Bergen, NO) INF5140 / V17 Chapters of the Course Chapter 1 Recall in More Depth Chapter 2 Specification Languages on Words Chapter 3 LTL on Finite

More information

Chapter 4: Computation tree logic

Chapter 4: Computation tree logic INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification

More information

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 5-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY NON-DETERMINISM and REGULAR OPERATIONS THURSDAY JAN 6 UNION THEOREM The union of two regular languages is also a regular language Regular Languages Are

More information

2. Elements of the Theory of Computation, Lewis and Papadimitrou,

2. Elements of the Theory of Computation, Lewis and Papadimitrou, Introduction Finite Automata DFA, regular languages Nondeterminism, NFA, subset construction Regular Epressions Synta, Semantics Relationship to regular languages Properties of regular languages Pumping

More information

Nondeterministic Finite Automata

Nondeterministic Finite Automata Nondeterministic Finite Automata Mahesh Viswanathan Introducing Nondeterminism Consider the machine shown in Figure. Like a DFA it has finitely many states and transitions labeled by symbols from an input

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints

Timed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints Chapter 10 Timed Automata In the previous chapter, we have discussed a temporal logic where time was a discrete entities. A time unit was one application of the transition relation of an LTS. We could

More information

Regular Language Equivalence and DFA Minimization. Equivalence of Two Regular Languages DFA Minimization

Regular Language Equivalence and DFA Minimization. Equivalence of Two Regular Languages DFA Minimization Regular Language Equivalence and DFA Minimization Equivalence of Two Regular Languages DFA Minimization Decision Property: Equivalence Given regular languages L and M, is L = M? Algorithm involves constructing

More information

Lecture 3: Nondeterministic Finite Automata

Lecture 3: Nondeterministic Finite Automata Lecture 3: Nondeterministic Finite Automata September 5, 206 CS 00 Theory of Computation As a recap of last lecture, recall that a deterministic finite automaton (DFA) consists of (Q, Σ, δ, q 0, F ) where

More information

Testing with model checkers: A survey

Testing with model checkers: A survey COMPETENCE NETWORK SOFTNET AUSTRIA Testing with model checkers: A survey SNA-TR-2007-P2-04 Gordon Fraser, Franz Wotawa, Paul E. Ammann SNA TECHNICAL REPORT NOVEMBER 2007 Competence Network Softnet Austria,

More information

From Liveness to Promptness

From Liveness to Promptness From Liveness to Promptness Orna Kupferman Hebrew University Nir Piterman EPFL Moshe Y. Vardi Rice University Abstract Liveness temporal properties state that something good eventually happens, e.g., every

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

Linear-time Temporal Logic

Linear-time Temporal Logic Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University

More information

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 35

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 35 Finite Automata Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2017 Dantam (Mines CSCI-561) Finite Automata Fall 2017 1 / 35 Outline Dantam (Mines CSCI-561) Finite Automata Fall 2017 2 / 35

More information

Proofs, Strings, and Finite Automata. CS154 Chris Pollett Feb 5, 2007.

Proofs, Strings, and Finite Automata. CS154 Chris Pollett Feb 5, 2007. Proofs, Strings, and Finite Automata CS154 Chris Pollett Feb 5, 2007. Outline Proofs and Proof Strategies Strings Finding proofs Example: For every graph G, the sum of the degrees of all the nodes in G

More information

Lecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata

Lecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata CS/Math 24: Introduction to Discrete Mathematics 4/2/2 Lecture 23 : Nondeterministic Finite Automata Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last time we designed finite state automata

More information

Finite Universes. L is a fixed-length language if it has length n for some

Finite Universes. L is a fixed-length language if it has length n for some Finite Universes Finite Universes When the universe is finite (e.g., the interval 0, 2 1 ), all objects can be encoded by words of the same length. A language L has length n 0 if L =, or every word of

More information

Clarifications from last time. This Lecture. Last Lecture. CMSC 330: Organization of Programming Languages. Finite Automata.

Clarifications from last time. This Lecture. Last Lecture. CMSC 330: Organization of Programming Languages. Finite Automata. CMSC 330: Organization of Programming Languages Last Lecture Languages Sets of strings Operations on languages Finite Automata Regular expressions Constants Operators Precedence CMSC 330 2 Clarifications

More information

Sanjit A. Seshia EECS, UC Berkeley

Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Explicit-State Model Checking: Additional Material Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: G. Holzmann Checking if M satisfies : Steps 1. Compute Buchi

More information

CMSC 330: Organization of Programming Languages

CMSC 330: Organization of Programming Languages CMSC 330: Organization of Programming Languages Theory of Regular Expressions DFAs and NFAs Reminders Project 1 due Sep. 24 Homework 1 posted Exam 1 on Sep. 25 Exam topics list posted Practice homework

More information

Finite Automata. Mahesh Viswanathan

Finite Automata. Mahesh Viswanathan Finite Automata Mahesh Viswanathan In this lecture, we will consider different models of finite state machines and study their relative power. These notes assume that the reader is familiar with DFAs,

More information

Büchi Automata and their closure properties. - Ajith S and Ankit Kumar

Büchi Automata and their closure properties. - Ajith S and Ankit Kumar Büchi Automata and their closure properties - Ajith S and Ankit Kumar Motivation Conventional programs accept input, compute, output result, then terminate Reactive program : not expected to terminate

More information

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43

Finite Automata. Dr. Neil T. Dantam. Fall CSCI-561, Colorado School of Mines. Dantam (Mines CSCI-561) Finite Automata Fall / 43 Finite Automata Dr. Neil T. Dantam CSCI-561, Colorado School of Mines Fall 2018 Dantam (Mines CSCI-561) Finite Automata Fall 2018 1 / 43 Outline Languages Review Traffic Light Example Deterministic Finite

More information

Uses of finite automata

Uses of finite automata Chapter 2 :Finite Automata 2.1 Finite Automata Automata are computational devices to solve language recognition problems. Language recognition problem is to determine whether a word belongs to a language.

More information

CSE 311: Foundations of Computing. Lecture 23: Finite State Machine Minimization & NFAs

CSE 311: Foundations of Computing. Lecture 23: Finite State Machine Minimization & NFAs CSE : Foundations of Computing Lecture : Finite State Machine Minimization & NFAs State Minimization Many different FSMs (DFAs) for the same problem Take a given FSM and try to reduce its state set by

More information

Further discussion of Turing machines

Further discussion of Turing machines Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will

More information

CS 154. Finite Automata, Nondeterminism, Regular Expressions

CS 154. Finite Automata, Nondeterminism, Regular Expressions CS 54 Finite Automata, Nondeterminism, Regular Expressions Read string left to right The DFA accepts a string if the process ends in a double circle A DFA is a 5-tuple M = (Q, Σ, δ, q, F) Q is the set

More information

CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata (cont )

CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata (cont ) CSE 135: Introduction to Theory of Computation Nondeterministic Finite Automata (cont ) Sungjin Im University of California, Merced 2-3-214 Example II A ɛ B ɛ D F C E Example II A ɛ B ɛ D F C E NFA accepting

More information

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly

More information

Automatic Synthesis of Distributed Protocols

Automatic Synthesis of Distributed Protocols Automatic Synthesis of Distributed Protocols Rajeev Alur Stavros Tripakis 1 Introduction Protocols for coordination among concurrent processes are an essential component of modern multiprocessor and distributed

More information

Algorithms for NLP

Algorithms for NLP Regular Expressions Chris Dyer Algorithms for NLP 11-711 Adapted from materials from Alon Lavie Goals of Today s Lecture Understand the properties of NFAs with epsilon transitions Understand concepts and

More information

CMPSCI 250: Introduction to Computation. Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013

CMPSCI 250: Introduction to Computation. Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013 CMPSCI 250: Introduction to Computation Lecture #22: From λ-nfa s to NFA s to DFA s David Mix Barrington 22 April 2013 λ-nfa s to NFA s to DFA s Reviewing the Three Models and Kleene s Theorem The Subset

More information

Timo Latvala. February 4, 2004

Timo Latvala. February 4, 2004 Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism

More information

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66

Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Helsinki University of Technology Laboratory for Theoretical Computer Science Research Reports 66 Teknillisen korkeakoulun tietojenkäsittelyteorian laboratorion tutkimusraportti 66 Espoo 2000 HUT-TCS-A66

More information

Finite State Machines Transducers Markov Models Hidden Markov Models Büchi Automata

Finite State Machines Transducers Markov Models Hidden Markov Models Büchi Automata Finite State Machines Transducers Markov Models Hidden Markov Models Büchi Automata Chapter 5 Deterministic Finite State Transducers A Moore machine M = (K,, O,, D, s, A), where: K is a finite set of states

More information

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006

THEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006 THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model

More information

Chapter Five: Nondeterministic Finite Automata

Chapter Five: Nondeterministic Finite Automata Chapter Five: Nondeterministic Finite Automata From DFA to NFA A DFA has exactly one transition from every state on every symbol in the alphabet. By relaxing this requirement we get a related but more

More information

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2 BIJU PATNAIK UNIVERSITY OF TECHNOLOGY, ODISHA Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2 Prepared by, Dr. Subhendu Kumar Rath, BPUT, Odisha. UNIT 2 Structure NON-DETERMINISTIC FINITE AUTOMATA

More information

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling

More information

CONCATENATION AND KLEENE STAR ON DETERMINISTIC FINITE AUTOMATA

CONCATENATION AND KLEENE STAR ON DETERMINISTIC FINITE AUTOMATA 1 CONCATENATION AND KLEENE STAR ON DETERMINISTIC FINITE AUTOMATA GUO-QIANG ZHANG, XIANGNAN ZHOU, ROBERT FRASER, LICONG CUI Department of Electrical Engineering and Computer Science, Case Western Reserve

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 2 January 5, 2018 January 5, 2018 CS21 Lecture 2 1 Outline Finite Automata Nondeterministic Finite Automata Closure under regular operations NFA, FA equivalence

More information

Computation Tree Logic (CTL) & Basic Model Checking Algorithms

Computation Tree Logic (CTL) & Basic Model Checking Algorithms Computation Tree Logic (CTL) & Basic Model Checking Algorithms Martin Fränzle Carl von Ossietzky Universität Dpt. of Computing Science Res. Grp. Hybride Systeme Oldenburg, Germany 02917: CTL & Model Checking

More information

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS Automata Theory Lecture on Discussion Course of CS2 This Lecture is about Mathematical Models of Computation. Why Should I Care? - Ways of thinking. - Theory can drive practice. - Don t be an Instrumentalist.

More information

Extended transition function of a DFA

Extended transition function of a DFA Extended transition function of a DFA The next two pages describe the extended transition function of a DFA in a more detailed way than Handout 3.. p./43 Formal approach to accepted strings We define the

More information

Op#mal Control of Nonlinear Systems with Temporal Logic Specifica#ons

Op#mal Control of Nonlinear Systems with Temporal Logic Specifica#ons Op#mal Control of Nonlinear Systems with Temporal Logic Specifica#ons Eric M. Wolff 1 Ufuk Topcu 2 and Richard M. Murray 1 1 Caltech and 2 UPenn University of Michigan October 1, 2013 Autonomous Systems

More information

CS21 Decidability and Tractability

CS21 Decidability and Tractability CS21 Decidability and Tractability Lecture 3 January 9, 2017 January 9, 2017 CS21 Lecture 3 1 Outline NFA, FA equivalence Regular Expressions FA and Regular Expressions January 9, 2017 CS21 Lecture 3 2

More information