本研究おいてモデル検査ツールSPINを使ったシーケンス図の検証方法を提案する。SPINはモデル記述をPromelaという状態遷移記述のための言語を用いて行うため、UMLシーケンス図を直接入力することはできない。このシーケンス図をPromelaに変換するため、SPINが想定する状態遷移モデルに近いUMLステートマシン図に一且変換しここからPromelaコードを生成する手法を取った。生成されたPromelaコードの検証にはモデルに対する制約条件を表す時相論理式(LTL式)が必要となるがシーケンス図自体には制約条件が一般に含まれないため、最終状態への可達性を制約条件とする検査を行った。これにより、SPINによるシーケンス図の基本的な振る舞の検証が可能であることが確認できた。%In this paper, we propose a verification process for UML sequence diagrams, using the SPIN model checker. The SPIN can not deal with UML sequence diagrams directly, since it can only deal with the models written in, Promela, which describe state transitions. In order to transform the sequence diagrams into Promela codes, we first transform them into UML state-machine diagrams, which resemble the state-transition models that the SPIN assumes. The state-machine diagrams are then transformed into Promela codes. The temporal logic formulae (LTL formulae) are required as a constraint for the verification of the Promela codes, however no constraints are included in the original sequence diagrams. Therefore, the reachability to the final state is used as the constraint for the verification. As a result, the SPIN can verify the basic behavior of the sequence diagrams.
展开▼