Presentation is loading. Please wait.

Presentation is loading. Please wait.

CTL Model Checking 张文辉

Similar presentations


Presentation on theme: "CTL Model Checking 张文辉"— Presentation transcript:

1 CTL Model Checking 张文辉 http://lcs.ios.ac.cn/~zwh

2 CTL Model Checking 迁移系统 Kripke 结构 CTL M |=  标号算法

3 CTL Only consider CTL formulas with propositions, negation, disjunction, EX, EG, EU  == p |  |  |EX  | EG  | E(  U  )

4 Model Checking by Labeling

5 Given M= and  Extend L(s) to contain all sub-formulas of  that holds on s.

6 Model Checking by Labeling (1) For a propositional sub-formula, nothing needs to be done. (2) For , add  to L(s), if   L(s)

7 Model Checking by Labeling (3) For , add  to L(s), if   L(s) or   L(s) (4) For EX , add EX  to L(s), if   L(s’) for some (s,s’)  R

8 Model Checking by Labeling (5) For E(  U  ), a) add E(  U  ) to L(s), if   L(s) b) add E(  U  ) to L(s), if   L(s) and E(  U  )  L(s’) for some (s,s’)  R (c) repeat b until L does not change

9 Model Checking by Labeling (6) For EG , a) compute S’={s |   L(s)} b) compute nontrivial SCCs of the sub-graph induced by S’; for every s in such an SCC, add EG  to L(s). c) add EG  to L(s), if s  S’ and EG  L(s’) for some (s,s’)  R (d) repeat c until L does not change

10 Model Checking by Labeling M,s |=  iff   L(s) M |=  iff   L(s) for every s  I.

11 CTL Symbolic Model Checking 迁移系统 Kripke 结构 CTL 状态集合 M |=  I  [[  ]] Fixpoint

12 Model Checking by Fixpoint (1) For a propositional sub-formula p, [[p]] = { s | p  L(s) } (2) For , [[  ]] = S \ [[  ]]

13 Model Checking by Fixpoint (3) For , [[  ]] =[[  ]  [[  ]] (4) For EX , [[EX  ]] = ex([[  ]])

14 Model Checking by Fixpoint (5) For E(  U  ), [[E(  U  )]] =  Z.([[  ]]  ([[  ]]  ex(Z))) (6) For EG , [[EG  ]] = Z.([[  ]]  ex(Z))

15 Model Checking by Fixpoint M,s |=  iff s  [[  ]] M |=  iff I  [[  ]]

16 Symbolic Model Checking

17 CTL Symbolic Model Checking Kripke 结构 OBDD([[  ]]) 逻辑公式 OBDD OBDD 运算 M |=  OBDD(I)  OBDD([[  ]])

18 Binary Decision Diagram (BDD) BDD = Labeling function: L: N -> L Root Edges: E: N -> N 2 Nodes L ={a,…,c} a bc 10 Terminal Nodes: {0, 1}  N 10

19 Intuitive Meaning [[w]] = (  a  [[x]])  (a  [[y]]) a yx w [[.]]: the meaning function Terminal node: [[0]] = 0 Terminal node: [[1]] = 1

20 Models Subset of L  - L A model represents a state in a discrete system. M is a model of a BDD, if the BDD can be simplified to 1, according to given simplification rules.

21 Examples of Models [  a,  b,  c], [  a,  b, c], [  a, b,  c], [  a, b, c] [a,  b,  c], [a,  b, c], [a, b,  c], [a, b, c] a b c 1001

22 Example 1 of Simplification [  a,  b,  c], [  a,  b, c], [  a, b,  c], [  a, b, c] [a,  b,  c], [a,  b, c], [a, b,  c], [a, b, c] a bc 1001 a b0 01 a 1 0 0 cc bb aa

23 Example 2 of Simplification [  a,  b,  c], [  a,  b, c], [  a, b,  c], [  a, b, c] [a,  b,  c], [a,  b, c], [a, b,  c], [a, b, c] a bc 1001 a b1 01 a 1 1 1 c bb aa

24 Ordered Binary Decision Diagram (OBDD) Given an order of variables (x1<x2<…) A BDD is ordered if every path of the BDD is labeled in accordance with the variable order

25 Reduced Ordered Binary Decision Diagram (ROBDD) Shared substructures No nodes have its left and right sub-trees point to the same substructures

26 Operations of ROBDD  A A  B A  B A  B  x.A

27 Propositional Formulas and OBDD Propositional Formula F  OBDD(F)  ROBDD(F)

28 Kripke Structure and OBDD Given M= and AP = { p1,p2,…,pk } S  propositional formula R  propositional formula I  propositional formula [[p1]]  propositional formula …, [[pk]]  propositional formula

29 Symbolic Model Checking Set operations are performed by corresponding ROBDD operations ex(..).. \.... .... .. [[  ]] : Manipulation of OBDD

30 CTL Symbolic Model Checking Kripke 结构 OBDD([[  ]]) 逻辑公式 OBDD OBDD 运算 M |=  OBDD(I)  OBDD([[  ]])

31 Variable Ordering

32 Questions?


Download ppt "CTL Model Checking 张文辉"

Similar presentations


Ads by Google