印刷その他マイページグラフィック入力のツールもモデル検査を行う際はツール内部だけでなく,使い手側の工夫も必要である。探索アルゴリズムの工夫だけで状態爆発を抑えられるわけではないため,使い手がプログラムの論理構造を抽出し,探索範囲を狭めた上で状態遷移モデルを作成する必要がある。プログラム中のループの回数を減らしたり,特定の代表値に置き換えたりする。モデル検査の適用経験が豊富なメルコ・パワー・システムズの早水氏によると,モデル作成の際「まず,わざと状態爆発するようなモデルを作成し,状態爆発の程度を見ながら徐々に絞り込んでいくのがいい」という(図6)。始めはわざと状態爆発させるモデル検査でモデルを作成する際は,現在のコンピュータやアルゴリズムの制約内で探索可能な状態空間に収める必要がある。その境界はつかみにくいため,始めはわざと状態爆発させ,その後,徐々に状態を絞り込んでいく。モデル検査ツールでは,状態遷移系を時系列に展開した際の状態遷移パスのノード数を表示する機能があり,この数の増え方があまりに急な場合は現実的な時間内に探索が終了しない。このため,ノード数の増え方がある一定のスピード以下になるまで状態空間の削減を続ける。現在,モデル検査用の状態遷移モデルを作成する場合は「SMV」や「Promela」など各ツール専用の言語で記述する必要がある。このため,事前に状態遷移図表などを用意してあったとしても,各専用言語への変換の手間が必要となる。そこで最近では,状態遷移図表をGUIで直接入力できるモデル検査ツールも登場している(図7)。グラフィカルにモデルを入力できるツールも登場モデル検査を行うためには,従来は「Promela」や「SMV」などのモデル検査用の言語でモデルやプロパティを人手で作成する必要があった。現在では「Uppaal」や「SCADE」など,グラフィカルなモデルを直接入力できるモデル検査ツールが登場している。※コメントの掲載は編集部がマニュアルで行っておりますので、即時には反映されません。コメントを受け付けましたコメントを受け付けました。ご協力いただき、ありがとうございます。投稿していただいたコメントは、編集部が査読した上で公開します。即時公開はされません。明らかな間違いや不適切な表現があった場合、原文の意図を損なわないと思われる範囲内で変更をさせていただく場合があります。内容がふさわしくないと判断した場合、公開後でも削除する場合があります。Reserved.このページに掲載されている記事・写真・図表などの無断転載を禁じます。著作権は日経BP社、またはその情報提供者に帰属します。表示切替:スマホ|パソコン。