20
Korea Advanced Institute of Science and Technology Copyright © 2006 CS750B Software Model Checking Software Model Checking Software Model Checking Linear Temporal Logic Linear Temporal Logic Moonzoo Kim CS Dept. KAIST

Software Model Checking Linear Temporal Logic

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Model Checking Linear Temporal Logic

Korea Advanced Institute of Science and Technology

Copyright © 2006 CS750B Software Model Checking

Software Model CheckingSoftware Model Checking

Linear Temporal LogicLinear Temporal LogicMoonzoo Kim

CS Dept. KAIST

Page 2: Software Model Checking Linear Temporal Logic

CS750 Software Model Checking

Copyright © 2006

Comments on #3 of HW#1Comments on #3 of HW#1

Do not blindly repeat patterns you know!Squeeze out your specification to reduce # of state and transition

Comparison7 smart people in the class modeled Peterson’s mutual exclusion protocol including a process NumCrit

• # of states: 70, # of transition: 130One smarter person darely removed NumCrit

• # of states: 35, # of transition:70

Page 3: Software Model Checking Linear Temporal Logic

CS750 Software Model Checking

Copyright © 2006

HW#2 due Oct 10HW#2 due Oct 10Wolf, ram, and cabbage problem

Goal: move wolf, ram and cabbage to B Restriction: • Boat can deliver only 1 object with a person• Ram eats cabbage and wolf eats ram if a person is not with them

To do:• 1. Model this system in CCS

– When all of wolf, ram, and cabbage are delivered to B, the system should generate “finish” action and halt

• 2. Show that there exists a solution to the problem using simulation feature of CWB-NC

• 3. Show that there exists a solution using GCTL* model checking capability• 4. Show that there exists a solution using proper equivalence semantics

Page 4: Software Model Checking Linear Temporal Logic

CS750 Software Model Checking

Copyright © 2006

HW#2 (cont.)HW#2 (cont.)

RW problem of lecture 5RW system shown in lecture 5 does not faithfully model Java thread behavior. Point out difference between the model used in RW system and real Java thread behavior

• 1.Read “Threads” chapter of “The Java Programming Language” by K.Arnold and J.Gosling

– Optionally RW explanation in “Concurrent Programming in Java”by D.Lea

• 2. Analyze given RW specification in CCS• 3. Explain difference between the model and real Java threads• Hints: carefully looking at thread suspension, scheduling, wait,

and notify mechanism

Modify the model to reflect real Java thread behavior

Page 5: Software Model Checking Linear Temporal Logic
Page 6: Software Model Checking Linear Temporal Logic
Page 7: Software Model Checking Linear Temporal Logic
Page 8: Software Model Checking Linear Temporal Logic
Page 9: Software Model Checking Linear Temporal Logic
Page 10: Software Model Checking Linear Temporal Logic
Page 11: Software Model Checking Linear Temporal Logic
Page 12: Software Model Checking Linear Temporal Logic
Page 13: Software Model Checking Linear Temporal Logic
Page 14: Software Model Checking Linear Temporal Logic
Page 15: Software Model Checking Linear Temporal Logic
Page 16: Software Model Checking Linear Temporal Logic
Page 17: Software Model Checking Linear Temporal Logic
Page 18: Software Model Checking Linear Temporal Logic
Page 19: Software Model Checking Linear Temporal Logic

CS750 Software Model Checking

Copyright © 2006

Relationship among Various Temporal LogicsRelationship among Various Temporal Logics

Linear Temporal Logic (LTL)

Computational Tree Logic (CTL)

CTL*

Page 20: Software Model Checking Linear Temporal Logic

CS750 Software Model Checking

Copyright © 2006

Combined Buffer Example in Lecture 3Combined Buffer Example in Lecture 3

(b―’.Bufab | b+’.Bufbc)\L

(b―’.Bufab | Bufbc)\L (Bufab | b+’.Bufbc)\L

(Bufab | c―’.Bufbc)\L (a―’.Bufab | Buf.bc)\L

Sys

a+c+

a+c+

c―’ a―’

τ1τ2

Copyright© Jinseong Jeon

(b―’.Bufab | c―’.Bufbc)\L (a―’Bufab | b+’.Bufbc)\L

a+

c―’ a―’

c+

deadlock