1 / 25

模型验证器 VERDS

模型验证器 VERDS. Wenhui Zhang 31 MAY 2011. 内容. 模型验证器 VERDS 模型 性质 VERDS 验证方法 模型检测 / 隐式状态 /TBD 模型检测 / 限界语义 /CTL 限界语义 /QBF. 模型. Keywords: VVM VAR INIT PROC FAIRNESS SPEC MODULE VAR INIT TRANS FAIRNESS SPEC. System level specification name of the system model (optional),

landen
Download Presentation

模型验证器 VERDS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 模型验证器VERDS Wenhui Zhang 31 MAY 2011

  2. 内容 • 模型验证器VERDS • 模型 • 性质 • VERDS验证方法 • 模型检测/隐式状态/TBD • 模型检测/限界语义/CTL限界语义/QBF

  3. 模型 Keywords: VVM VAR INIT PROC FAIRNESS SPEC MODULE VAR INIT TRANS FAIRNESS SPEC • System level specification • name of the system model (optional), • global variables, • Initial values of the global variables, • processes , • fairness constraints (optional), and • properties (optional). • Module specification • name and the parameters of the module, • local variables, • initial values of the local variables, • transition rules, • Fairness constraints (optional), and • properties (optional).

  4. 例子:互斥协议

  5. 例子:互斥协议 迁移系统 VVM me005 VAR x[0..1]:0..1; t:0..1; INIT x[0]=0; x[1]=0; t=0; PROC p0:p0m(x[],t,0); p1:p0m(x[],t,1); SPEC AG(!(p0.a=s2&p1.a=s2)); AG((!p0.a=s1|AF(p0.a=s2|p1.a=s2))& (!p1.a=s1|AF(p0.a=s2|p1.a=s2))); AG((!p0.a=s1|AF(p0.a=s2))&(!p1.a=s1|AF(p1.a=s2))); AG((!p0.a=s1|EF(p0.a=s2))&(!p1.a=s1|EF(p1.a=s2)));

  6. 例子:互斥协议 模块 MODULE p0m(x[],t,i) VAR a: {s0,s1,s2,s3}; INIT a=s0; TRANS a= s0: (x[1-i],t,a):=(1,1-i,s1); a=s1&(x[i]=0|t=i): (a):=(s2); a=s1&!(x[i]=0|t=i): (a):=(s1); a=s2: (x[1-i],a):=(0,s3); a=s2: (a):=(s2); a=s3: (x[1-i],t,a):=(1,1-i,s1); FAIRNESS running;

  7. 性质描述语言 Computation Tree Logic p p pq pq pq AX p AF p AG p A (p U q) A (p R q) EX p EF p EG p E (p U q) E (p R q)

  8. 例子:互斥协议 性质 AG(!(p0.a=s2&p1.a=s2)) AG((!p0.a=s1|AF(p0.a=s2|p1.a=s2))& (!p1.a=s1|AF(p0.a=s2|p1.a=s2))) AG((!p0.a=s1|AF(p0.a=s2))&(!p1.a=s1|AF(p1.a=s2))) AG((!p0.a=s1|EF(p0.a=s2))&(!p1.a=s1|EF(p1.a=s2)))

  9. VERDS验证方法 • 模型检测 • 隐式状态/TBD • 限界语义/CTL限界语义/QBF

  10. 隐式状态 • Kripke结构M= (S,T,I,L) • 状态 状态集 公式/BDD/TBD • 时序逻辑公式 状态集[[]] 公式F([[]]) • M |=  即 I  [[]] 即 F(I)F([[]])

  11. 时序逻辑公式 公式 s  (v1,v2,…,vn) p [[p]]  F[[p]] p

  12. Fairness Fair Constraints f1,…,fk f [[f]]  F[[f]] f

  13. 公式/TBD

  14. 验证运行情况

  15. Verification Results

  16. Verification Results

  17. 限界语义 • Kripke结构 M= (S,T,I,L) • 限界模型 Mk= (S, Phk,I,L) • Mk,s|=b  则 M,s |=  • Mk,s |=b  则 M,s |=  即 M,s |= 

  18. CTL限界语义 M,s |=  当且仅当 存在 k 使得 Mk,s|= 

  19. CTL限界语义的QBF刻画 Mk,s|=  当且仅当 [[,v(s)]]k成立

  20. CTL限界语义模型检测 给定Kripke结构 M和CTL公式。 0. k=0; 1. 若 v.(I(v )[[,v]]k) 成立,则 M|= ; 2. 若 v.(I(v )[[,v]]k)成立,则 M|=  ; 3. k=k+1,返回到1。

  21. ACTL限界语义的SAT刻画

  22. QBF/SAT-Solver

  23. 验证运行情况

  24. Verification Results

  25. 工具网页 • http://lcs.ios.ac.cn/~zwh/verds/index.html • 工具和网页都尚在发展和完善中

More Related