一般的かどうかは知らない。こういうお話をきいた。
■全体的な位置づけ
要求分析
設計
・UMLでの設計
1.コンテキスト図
システムレベル
デバイスレベル
2.ユースケース図
概略
詳細
3.クラス図
4.状態遷移図
・検証
A.検証モデルの作成
B.ツールでの検証
C.反例分析(うまくいかなかったら、Aへ)
・実装
・検査
・デバッグ
■1.コンテキスト図
システム全体を1つのクラスとし、それに対してアクターを書く、システムレベルでのコンテキスト図と、
各デバイスをクラスとして、そのデバイス間の関係と、外部のアクター間との関係を書く、デバイスレベルのコンテキスト図がありえる。
■ユースケース図
一般的な、アクターとソフトの機能を書いた、概略のユースケース図と、デバイスをアクターとしてしまい、デバイス間の振る舞いまで記述する詳細版がありえる。
■クラス図
ハッサン ゴマという人が、クラス図の分け方を研究しているらしい。
それはさておき、レイヤ構造で考える。
今、デバイスをアクターとし、そのアクターに対応するクラスを、一番下にデバイス層として考える。
その上に、ドライバ層を置く
さらにその上に、実行・制御するクラスを置く
一番上位にアプリ層になるのかな・・・
■状態遷移図
そのあとの検証モデルが作りやすいように、状態遷移図を描く
たとえば、Uppaalで検査するなら、時間を入れる必要がある。
ってお話を、きいた。めちゃくちゃ簡単にまとめると・・・