介護補助システムの設計(5) ステートマシン図編
こんにちは、astah* SysML製品 プロダクトオーナーの周翼(しゅうよく)です。
「介護補助システム」をSysMLでモデリングするシリーズの最終回として、今回は、ステートマシン図でのモデリングを紹介します。
これは、シリーズ2回目ブロック定義図編で紹介したブロック定義図ですが、一点変更を加えました。
「腰部負荷監視装置」を新しい部品として追加し、「腰部センサー」と「コンピュータ」を、「腰部負荷監視装置」の中に存在する部品として、整理し直しました。
今回は、「腰部アシスト装置」のふるまいを、ステートマシン図でモデリングしたいと思います。
図は、astah* SysMLを使って描いています。
(どなたでも、無償で50日試用できます。ダウンロードはこちらから)
「腰部アシスト装置」のふるまいをステートマシン図で描く
これは「腰部アシスト装置」のふるまいを表したステートマシン図です。
最初は、腰部アシスト装置の電源が投入されていないため、「停止中」から始まります。
電源が投入されると、「稼働中」の状態になります。その時、「停止中」から「稼働中」という状態に遷移するため、「電源ON」というトリガーが存在します。また、電源を切ると「停止中」の状態に遷移するため、「電源OFF」というトリガーがあります。
電源が投入されると、腰部センサーから負荷信号が送信されるまで「待機中」となります。
荷物を持ち上げようとすると、腰部負荷監視装置は、腰部センサーから負荷を感知します。腰部センサーは、この負荷をコンピュータに送信し、コンピュータは、補助パワーを計算して、腰部アシスト装置を制御します。
従って「待機中」の状態は、「負荷を受信した」というトリガーによって「アシスト中」という状態に遷移します。
「アシスト中」も、腰部センサーから断続的に負荷を受信します。その間、コンピュータは、補助パワーを計算し直して制御します。その動作を”実行活動”として記述します。
例えば、補助パワーが大きすぎると危険な状態になるため、腰部アシスト装置は、人為的にリセットされることがあります。その場合、「アシスト中」という状態は、「リセットされた」というトリガーによって「待機中」に遷移します。
このようにステートマシン図を使うと、オブジェクトの状態が、相互作用の中でどのような条件で遷移するか等オブジェクトの振る舞いを、可視化し、表現することができます。
今回で「SysMLを使った介護補助システムのモデリング」シリーズはおしまいです。複雑なシステムの分析や設計に、ぜひSysMLによるモデリングを取り入れてみてください。
[SysML関連動画/記事]
– (1) 要求図編
– (2) ブロック定義図編
– (3) 内部ブロック図編
– (4) パラメトリック図編
– SysMLを知ろう、学ぼう、使ってみよう