Mercurial > hg > Members > kono > Proof > automaton
view a13/lecture.ind @ 127:0e8a0e50ed26
add some files
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 23 Nov 2019 12:59:45 +0900 |
parents | |
children | bee86ee07fff |
line wrap: on
line source
-title: モデル検査とSAT --モデル検査 --SAT --nuXmv <a href="https://nuxmv.fbk.eu">nuXmv </a> <br> <a href="http://nusmv.fbk.eu/NuSMV/tutorial/index.html"> tutorial </a> <br> a か b のどちらかを非決定的に取る automaton を考える。 MODULE main VAR state : {a, b}; ASSIGN init(state) := a; next(state) := {a, b}; 状態 a から始まって、任意のaとb の木構造な可能な実行がある。 それぞれの可能な実行を path という。 --CTL A はすべてのpath、E はあるpath について成り立つ。 G はすべての時間(□)、F はいつか(<>)。これの組み合わせになる。 a U b は、b になるまでずーっとa 。b になる必要はある。 SPEC AG state=a SPEC EG state=a SPEC AF state=a SPEC EF state=a SPEC A [ state=a U state=b ] SPEC E [ state=a U state=b ] --LTL 一つの時間軸についてだけの様相論理。 G はすべての時間(□)、F はいつか(<>)。これの組み合わせになる。 a U b は、b になるまでずーっとa 。b になる必要はある。 nuXmv は false になる可能性を調べる。 LTLSPEC G state=a LTLSPEC F state=a LTLSPEC G [ state=a U state=b ] LTLSPEC F [ state=a U state=b ] --smv example <center><img src="fig/semaphore.svg"></center> このセマフォは、critical にずーっと入れるので成り立たない性質がある。 % nuXmv -int test7.smv <a href="smv/test7.smv"> test7.smv </a> % nuXmv test8.smv <a href="smv/test8.smv"> test8.smv </a> % nuXmv test9.smv <a href="smv/test9.smv"> test9.smv </a> % nuXmv test10.smv % nuXmv -bmc -bmc_length 4 test10.smv <a href="smv/test10.smv"> test10.smv </a> --その他の例題 <a href="http://nusmv.fbk.eu/examples/examples.html"> http://nusmv.fbk.eu/examples/examples.html ---問題13.1 Turing machine の停止性のように、プログラムの正しさは原理的に証明することはできない。 それにも関わらずシステムの信頼性を高めるにはどうすれば良いか? 定理証明やモデル検査器 に触れつつ800文字程度で考察せよ。 <a href=""> 例題 </a> <!--- Exercise 13.1 --->