※ ChatGPTを利用し、要約された質問です(原文:NuSMVでのモデルチェック)
NuSMVでのモデルチェック
このQ&Aのポイント
NuSMVを活用したモデルチェックの課題について解説します。
A君とB君が階段で遊ぶシナリオに対して、NuSMVを用いて検証する方法を解説します。
具体的な検証項目として、ゴールへの到達や段差の制約、同時到達の可能性、勝敗のチャンスなどを考慮します。
NuSMVを使ってモデルチェックをする課題なのですが、わかりません・・・
----問題------
階段でA君とB君が遊んでいます。
まず、階段の下(0段目)に2人で並びます。「せえの
」でぴょん!とジャンプ。2人同時に段に飛び上がり
ます。1度に飛んで良いのは1段か2段。どちらにす
るかは各自の自由。「せえの」でぴょん!を繰り返し
、10段目に先に到達したらゴールインで勝ち。
但し、上に跳べるのは2人の段差が2段以下のとき
だけで、もし相手より3段高くなったら、次のぴょん!
では相手のいた段に戻らなければならない。
なお、「せえの」で1段も飛ばないのは禁止。
以下をNuSMVで検証せよ
1)必ずどちらかがゴールにたどり着く
2)2人の段差が4段以上になることはない
3)2人とも同時にゴールにたどり着くことがある
4)A君が8段目に到着し、B君がそれ以下の状況でも
A君が必ず勝てるとは限らない。
A君が8段目に到着し、B君がそれ以下の状況でも
B君に勝つか引き分けのチャンスはある。
5)A君が5段目に来ることは多くとも1度しかない
***考え方***
変数としては以下の2つを使う
posA : 0..11;
posB : 0..11;
初期値は共に0
モデル上では、どちらかがゴールに達すれば、両者は
今いる状態に止まるように状態遷移を記述する。
-----------------
どうにもうまくいきません・・・
どうか、よろしくお願いします・・・!