Unit-7: Linear Temporal Logic B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

unit 7 linear temporal logic
SMART_READER_LITE
LIVE PREVIEW

Unit-7: Linear Temporal Logic B. Srivathsan Chennai Mathematical - - PowerPoint PPT Presentation

Unit-7: Linear Temporal Logic B. Srivathsan Chennai Mathematical Institute NPTEL-course July - November 2015 1 / 13 Module 1: Introduction to LTL 2 / 13 Transition Systems + G, F, X, GF + NuSMV State-space Bchi Automata LTL CTL


slide-1
SLIDE 1

Unit-7: Linear Temporal Logic

  • B. Srivathsan

Chennai Mathematical Institute

NPTEL-course July - November 2015

1/13

slide-2
SLIDE 2

Module 1: Introduction to LTL

2/13

slide-3
SLIDE 3

Transition Systems + G, F, X, GF + NuSMV

Automata

Unit: 4

Büchi Automata

Unit: 5,6

LTL

Unit: 7,8

CTL

Unit: 9

State-space explosion

Unit: 10

3/13

slide-4
SLIDE 4

{ p1 } { p1,p2 } { p2 } {}

request=1 ready request=1 busy request=0 ready request=0 busy

Transition System AP = { p1, p2 } Property P Transition system TS satisfies property P if Traces(TS) ⊆ P

4/13

slide-5
SLIDE 5

Specifying properties G, F, X, GF Finite Automata ω-regular expressions

5/13

slide-6
SLIDE 6

Specifying properties G, F, X, GF Finite Automata ω-regular expressions Here: Another formalism - Linear Temporal Logic

5/13

slide-7
SLIDE 7

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2}

φ :=

6/13

slide-8
SLIDE 8

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2}

φ := true |

6/13

slide-9
SLIDE 9

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2

φ := true | pi | pi ∈ AP

6/13

slide-10
SLIDE 10

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

φ := true | pi | φ1 ∧ φ2 | pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-11
SLIDE 11

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-12
SLIDE 12

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

...

{p2} { p1} {p2} {p2} {p2} ¬p1

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-13
SLIDE 13

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

...

{p2} { p1} {p2} {p2} {p2} X p1 ¬p1

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-14
SLIDE 14

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

...

{p2} { p1} {p2} {p2} {p2} X p1 ¬p1 X (p1 ∧ ¬p2)

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-15
SLIDE 15

...

{p1,p2} {p1,p2} {p2} {p1,p2} {p2} p1 p2 p1 ∧ p2

...

{p2} { p1} {p2} {p2} {p2} X p1 ¬p1 X (p1 ∧ ¬p2)

...

{p1} {p1} {p1} {p2} {p1} p1 U p2

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2 pi ∈ AP φ1,φ2 : LTL formulas

6/13

slide-16
SLIDE 16

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

7/13

slide-17
SLIDE 17

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

7/13

slide-18
SLIDE 18

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

7/13

slide-19
SLIDE 19

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

...

{p1} { } { } {p2} {p1} X(¬p1 U p2)

7/13

slide-20
SLIDE 20

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

...

{p1} { } { } {p2} {p1} X(¬p1 U p2)

...

{p2} {p3} {p2} { } {p1} true U p1

7/13

slide-21
SLIDE 21

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

...

{p1} { } { } {p2} {p1} X(¬p1 U p2)

...

{p2} {p3} {p2} { } {p1} true U p1

...

{p1} {p1,p2} {p1} {p1,p2} {p1} ¬(true U ¬p1)

7/13

slide-22
SLIDE 22

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

...

{p1} { } { } {p2} {p1} X(¬p1 U p2)

...

{p2} {p3} {p2} { } {p1} true U p1

F p1

...

{p1} {p1,p2} {p1} {p1,p2} {p1} ¬(true U ¬p1)

7/13

slide-23
SLIDE 23

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

...

{p1} {p1} {} {p2} {p1} ¬(p1 U p2)

...

{p1,p3} {p1} {p1} {p2} {p1,p3} p1 U (p2 ∧ X p3)

...

{p1} { } { } {p2} {p1} X(¬p1 U p2)

...

{p2} {p3} {p2} { } {p1} true U p1

F p1

...

{p1} {p1,p2} {p1} {p1,p2} {p1} ¬(true U ¬p1)

G p1

7/13

slide-24
SLIDE 24

Derived operators

◮ φ1 ∨ φ2: ¬(¬φ1 ∧ ¬φ2)

(Or)

◮ φ1 → φ2: ¬φ1 ∨ φ2

(Implies)

◮ F φ: true U φ

(Eventually)

◮ G φ: ¬ F ¬φ

(Always)

8/13

slide-25
SLIDE 25

... ... ... ...

φ φ φ

G F φ (Infinitely often)

9/13

slide-26
SLIDE 26

... ... ... ...

φ φ φ

G F φ (Infinitely often) ... ...

φ φ φ φ

F G φ (Eventually forever)

9/13

slide-27
SLIDE 27

Coming next: More examples

10/13

slide-28
SLIDE 28

non-crit wait crit exiting y>0:y:=y-1 y:=y+1 non-crit wait crit exiting y>0:y:=y-1 y:=y+1

|||

Atomic propositions AP = { crit1,wait1,crit2,wait2 } crit1: pr1.location=crit wait1: pr1.location=wait crit2: pr2.location=crit wait2: pr2.location=wait

11/13

slide-29
SLIDE 29

◮ Safety: both processes cannot be in critical section simultaneously

G (¬crit1 ∨ ¬crit2)

◮ Liveness: each process visits critical section infinitely often

G F crit1 ∧ G F crit2

12/13

slide-30
SLIDE 30

Summary

φ := true | pi | φ1 ∧ φ2 | ¬φ1 | X φ | φ1 U φ2

… F φ: true U φ

(Eventually)

… G φ: ¬ F ¬φ

(Always)

13/13