システム工学概論 第10回 状態遷移の実現 2004. 12. 2 第10回概要 1.専用OS Midas 2.状態遷移の実現 3.実現の為のプログラム 4.メッセージシーケンスチャート 通常のOSの機能 プログラムの実行管理 入力と出力動作の制御 アプリケーション 休止中 実行 OSの状態遷移 実行待 実行中 実行 中 断 実行 中 断 アプリケーション 実行 実行 中 断 実行 入力動作 出力動作 中 断 OSは状態遷移を持つが,自分専用で アプリケーションは中断/動作のみ 状態遷移をそのまま実行するには,通常のOSの下に専用のOSが必要 状態遷移の実現 通常のOS 状態構造を持つ系 A1 待機中 A7 A8 A2 状態Si Midas OS/状態遷移の実行 A5 A6 状態Sj A1 A2 A3 A4 A5 A6 A7 A8 A9 A3 A4 main アプリケーションX 状態Sk A9 A10 アプリケーション の 状態遷移を実現する 仕掛け Midas OS 全ての状態遷移を Midas OSにぶら下げる 状態毎かつ遷移原因毎の分岐 状態遷移を 実現する仕掛 状態構造を持つ系 A1 待機中 A7 A8 A2 状態Si 前状態 A5 A6 状態Sj 原因t 機能 A3 A4 状態Sk A9 j 原因s 分岐 A B 出力 O A10 次状態=k 状態k アプリケーション の 状態遷移を実現する 仕掛け Midas OS 次状態=m 状態m ある状態で,到来する各遷 移原因に対応する状態遷 移を実行させる 原理 次状態 S2 遷 移 E 原 2 因 状態 遷 移 原因 停止 E1 順演奏 E2 停止中 S0 順方向 演 逆方向演 奏中 S1 奏中 S2 遷移ルート Tr(S2E2) 逆演 奏 E3 状態遷移原因表 状態遷移ルート に 対応する 関数群 ............. ............. int trs2e1(......) {....... .........} int trs2e2(......) {....... 状態遷移の実行 C 待機中 S0 購入指定 T01 次状態S 0 到着した 遷移原因 e1 釣銭出力 投入金 T00 S R /M/関 合計金額を計 算し 表示する S R /M/関 販売可能商品 を求め表示す る T02 次状態S 0 記憶 した 状態 S0 待機中S0 投入金あり販 売不可S1 販売可能S2 投入金e0 購入指定e1 T00 T01 T02 T10 T11 T12 T20 T21 ・遷移原因(イベント)が到着すると, 記憶している過去からの状態 対 遷移原因 の交点の状態遷移ルート(関数)を実行させる ・各状態遷移ルートの最末尾で次状態を規定する 釣銭出力e2 T22 実行の為の準備 状態St 遷移原因i 遷移原因i 遷移原因i 機能F1 機能F2 機能F3 次状態St 次状態Su 次状態Sv 次状態Sx 状態St 状態Su 状態Sv 状態Sx 必ず次状態に入る前に定義する 図面上の接続を関数の中で伝える 分岐の為の状態遷移原因表 設計に使う状態遷移原因表 投入金e0 待機中S0 投入金あり販 売不可S1 販売可能S2 購入指定e1 釣銭出力e2 T00 T01 T02 T10 T11 T12 T20 T21 プログラム中の状態遷移原因表 T22 状態遷移T状態原因 対応する関数F状態原因 {F00, F01, F02}, {F10, F11, F12}, {F20, F21, F22} 分岐の為の状態遷移原因表 設計に使う状態遷移原因表 投入金e0 待機中S0 投入金あり販 売不可S1 販売可能S2 購入指定e1 釣銭出力e2 T00 T01 T02 T10 T11 T12 T20 T21 プログラム中の状態遷移原因表 T22 状態遷移T状態原因 対応する関数F状態原因 {F00, F01, F02}, {F10, F11, F12}, {F20, F21, F22} 外部入力からの状態遷移 外部 入力 対応処理 (待合せなし) 釦a押下 釦b押下 釦c押下 × 不可 釦a対応処理 釦c対応処理 待合せ 対応処理 (待合あり) 釦a対応処理 釦b対応処理 釦c対応処理 Queue 待合せの記号 c.f. 窓口での待ち行列 キュー つなぎ込む 取り外す 外部入力を考えた実行管理 Q? 無し 遷移原因 伴う情報 キューQ 投入金 100円 有り 待機中 キューか ら取外す 投入金 投入金を合計 金額に加える 遷移原因を 使い分岐 合計金額を表示する 過去の 合計金額 投入金を合計 金額に加える 合計金額を表示する 更新した 合計金額 外部入力の処理 押す 釦 時間 押 釦 センサー 出力 E センサー サンプ リングS 1 1周期 遅れL 反転 L S・L 1 1 1 1 1 1 1 1 押下の検出 周期T 1 1 1 1 入力プログラムの原理 定周期(10mS毎) i=0 センサー センサー センサー センサー センサー センサーiを読む i 前周期のiの反転 とiのAndを取る Y N 10mS 結果=1? 商品指定|釦i をキューに繋ぐ i=i+1 定周期(10mS毎)に走査する 終? N Y 待合せ/キューの原理 1 キューに繋ぐ Attach, En-queu 待合せ/キューの原理 2 (キュ ー, Queu) 待ち合わせ情報の連鎖 先頭情報 末尾情報 取出し た待合せ情報 処理すべき 情報 待合せ情報 処理すべき 情報 後続情報への繋がり 待合せ情報 処理すべき 情報 後続情報への繋がり 待合せ情報 処理すべき 情報 後続情報への繋がり 待合せ情報 処理すべき 情報 後続情報への繋がり キューから外す Dettach, De-queu メッセージシーケンスチャート (MSC) お客様 メッセージ 自販機 投入金 合計金額表示 自販機の状態遷移図 投入金 合計金額表示 投入金 合計金額表示 MSCは,状態 遷移ルートの, ある軌跡である 販売可能商品表示 投入金 合計金額表示 販売可能商品表示 商品指定 商品指定 商品 商品出力 釣銭 釣銭 メッセージシーケンスチャート (MSC) お客様 メッセージ 自販機 自販機の状態遷移図 開始 投入金 投入金 合計金額表示 投入金 合計金額表示 合計金額 投入金 合計金額表示 販売可能 販売可能商品表示 投入金 合計金額表示 販売可能商品表示 商品指定 商品 商品指定 商品指定 商品 商品出力 釣銭 釣銭 お客様の状態遷移図 釣銭 プロトコル仕様 お客様 メッセージ 自販機 自販機の状態遷移図 開始 投入金 投入金 プ 合計金額表示 ロ 合計金額 投入金 合計金額表示 ト 投入金 コ 合計金額表示 販売可能 商品指定 商品 ル 販売可能商品表示 の 規 商品指定 定 商品 投入金 合計金額表示 販売可能商品表示 商品指定 商品出力 釣銭 釣銭 お客様の状態遷移図 釣銭 プロトコル仕様 A プロセス A s 投入金 y s 合計金額 T e m 販売可能 の 状 商品指定 態 商品 遷 移 図 開始 釣銭 B プロセス B s 投入金 y 合計金額表示 s T e m 投入金 の 合計金額表示 販売可能商品表示 状 態 遷 商品指定 移 商品出力 釣銭 図 MSC, SDLは,各種の通信プロトコルの仕様記述に用いられている 複数のプロセスの系 A プロセス B プロセス A s 投入金 y s 合計金額 T e m B s 投入金 y 合計金額表示 s T e m 投入金 開始 プロセス間通信 販売可能 合計金額表示 販売可能商品表示 商品指定 商品 商品指定 商品出力 釣銭 釣銭 多数のFSMから成る複雑なシステム 纏め 1.状態遷移を持つ系と専用のOS (Midas OS)を組合せると,合理的 にシステムを作ることができる 2.OSを構成するプログラム技術を説明した 3.メッセージシーケンスチャートを説明した メッセージシーケンスチャートとSDLの状態遷移図 相互に変換可能な関係にある
© Copyright 2025 ExpyDoc