Transcript ステートチャート図
ステートチャート図
FM11013
中田紀之
ステートチャート図とは
(ステートマシン)
時間の経過と共に変化するオブジェクトの
「状態」を表す。
UML2.0以降ではステートマシン図と名前
が変更になった。
例:田中太郎オブジェクト
開始状態
誕生
乳児
状態
イベント
歩く
幼児
就学
学生
退職
社会人
就職
老後
死亡
終了状態
状態
オブジェクトがそのライフサイクルの中で、
ある一定の時間とどまる状態、状況。
状態
状態名
開始状態
生成
状態
コンポジット状態
状態1
状態2
状態3
終了状態
状態
コンポジット状態
状態1
状態2
状態3
イベント(トリガー)
イベント(トリガー)
就職
学生
社会人
状態遷移
進級
就学
幼児
状態遷移
就職
学生
社会人
ガード条件
受験[合格]
高校生
受験[不合
格]
浪人
受験[不合
大学生
受験[合格]
状態(∽アドバンス)
状態1
状態1
entry/入場アクション
entry/入場アクション
do/アクティビティ
do/アクティビティ
exit/退場アクション
exit/退場アクション
トリガー
アクション(エフェクト)
受験[合格]/入学手続き
高校生
受験[不合
格]
浪人
受験[不合
大学生
受験[合格]/入学手続き
入場アクション、退場アクション
状態内にもアクションを以下の形式記述できる。
動作ラベル/動作
entry
/入社手続き
entry 入場アクション
ある状態に入るときに実行される動作を示す。
exit 退場アクション
ある状態から出るときに実行される動作を示す。
入場アクション、退場アクション
会社員
entry/入社手続き
exit/退社手続き
「会社員」状態に入るときに「入社手続き」
が実行され、「会社員」状態からでるときに
「退社手続き」が実行される。
アクティビティ
会社員
entry/入場アクション
do/アクティビティ
exit/退場アクション
アクティビティ
コンポジット状態
会社員
本採用/[営業職]
営業
就職
学生
職場転換
職場転換
[技術職]
[営業職]
試用期間
技術
コンポジット状態
本採用/[技術職]
定年
老後
サブ状態
開始状態、終了状態
状態1
状態2
状態3
状態1
=
状態2
状態3
完了遷移(トリガレス遷移)
通常状態
タイマー設定
OFFタイ
マー設定
状態
do/設定時間までの
カウントダウン
停止
コンポジット状態
状態3
EV2
状態4
EV3
EV1
状態1
状態2
EV4
EV5
状態5
サブ状態の記述を省略
コンポジット状態
合成アイコン
状態5
EV4
コンポジット入力
EV3
状態4
状態1
状態3
EV1
EV2
状態2
EV6
状態7
EV5
状態6
履歴
稼動中
温度が低い
[実際の温度]>設定温度
[実際の温度]>設定温度
適温
[実際の温度]>設定温度
H
[実際の温度]>設定温度
温度が高い
停止
稼動
停止中
深い履歴
A
B
C
EV1
F
EV4
EV5
D
EV2
EV6
H*
EV3
E
D状態においてEV1が起こるとFに遷移する。
F状態からEV2が発生すると記憶しておいたD状態
に遷移する。
平行サブ状態
新聞編集中
家庭欄
取材終了
取材
執筆終了
記事作成
校正
取材
スポーツ欄
政治欄
写真撮影
執筆終了
終了
記事作成
校正
取材終了
取材
終了
終了
レイアウト
執筆終了
記事作成
終了
終了
校正
新聞編集中状態に入ると、三つのサブ状態の開始状態になる。
全て終了状態になると、[印刷]状態に遷移する。
印刷
まとめ
ステートチャート図はオブジェクトのライフサイクルにおける状態の遷移を表
現する。
イベント(トリガー)が発生すると他の状態へ遷移する。イベントにガード条件
が付いていると、ガード条件が成立する場合のみ遷移が行われる。
イベントにアクション(エフェクト)がついていれば、遷移とともに動作します。
状態に入る時に発生する入場アクション、出るときに発生する退場アクション
を状態内に記述できる。
アクティビティは状態に入ったときに開始して、状態から出るまで、またはあ
る一定の時間動作する。
コンポジット状態を利用することにより、複雑な状態をネスト(階層化)して表
現でき見やすくすることができる。
履歴を用いることで、サブ状態を記憶させることができる。