システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標...

16
2012/4/28 1 2011 「システムデザイン」講義資料 金井 1 システムデザイン 4(金井 担当分) 2012 5/1 2 講義スケジュール 5/1 : 離散事象システムとモデリング 離散事象システム,オートマトン,有限状態機械 5/8: 有限状態機械による動的挙動のモデリング(1) 有限状態機械、 状態遷移表,状態遷移図,ミーリー型・ムーア型機械 有限状態機械によるユーザインタフェースシステムの挙動モデリング 5/15: 有限状態機械による動的挙動のモデリング(2) 有限状態機械によるユーザインタフェースシステムの挙動モデリングと問題点 Statechartによるユーザインタフェースシステムの挙動モデリング 5/22: 離散時間マルコフ連鎖 離散時間マルコフ連鎖,推移確率行列による挙動解析例,WebPage Rank 5/29: 連続時間マルコフ連鎖 連続時間マルコフ連鎖,推移速度行列による挙動解析例, 稼働率解析 6/05: 環境配慮型の製品設計技術 Design For Environment, Life Cycle Assessment, 分解容易性設計 6/15午後: システム情報演習

Transcript of システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標...

Page 1: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

1

2011 「システムデザイン」講義資料 金井 1

システムデザイン

第4回 (金井 担当分)

2012 5/1

2

講義スケジュール 5/1 : 離散事象システムとモデリング

離散事象システム,オートマトン,有限状態機械

5/8: 有限状態機械による動的挙動のモデリング(1)

有限状態機械、 状態遷移表,状態遷移図,ミーリー型・ムーア型機械

有限状態機械によるユーザインタフェースシステムの挙動モデリング

5/15: 有限状態機械による動的挙動のモデリング(2)

有限状態機械によるユーザインタフェースシステムの挙動モデリングと問題点

Statechartによるユーザインタフェースシステムの挙動モデリング

5/22: 離散時間マルコフ連鎖

離散時間マルコフ連鎖,推移確率行列による挙動解析例,WebのPage Rank

5/29: 連続時間マルコフ連鎖

連続時間マルコフ連鎖,推移速度行列による挙動解析例, 稼働率解析

6/05: 環境配慮型の製品設計技術

Design For Environment, Life Cycle Assessment, 分解容易性設計

6/15午後: システム情報演習

Page 2: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

2

3

本講義の目標

情報機器の様々な構成システムを対象に、

ユーザインタフェース(UI)システム、ネットワーク通信システム、制御ソフトウエア、etc…

その複雑なシステムの分析と設計のため、

ソフトウエアで実装可能な方法を用いて

動的な「挙動」のモデリングとシミュレーション方法を学ぶ。

参考書

Seymour Lipschutz著, 成嶋 弘 監訳: 「マグロウヒル大学演習:離散数学」,

オーム社, (2004) ¥2700

伊庭斉志著: 「システム工学の基礎」 数理工学社,(2007) ¥1950+税

4

Page 3: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

3

5

情報機器とその制御ソフトウエア

様々な機器内部の計算機に組み込まれ、その機器を制御するソフトウエア

(組込みソフトウエア)

制御ソフトウエア

制御装置

制御対象

ソフトウエア仕様作成

機能 要求

仕様記述法

仕様

ソフトウエア コーディング

ソフトウエアテスト

ハードウエアへの実装

ソフトウエア

テストツール

システム

ハードウエア

実システム上 ソフトウエア

テスト

テスト仕様

プログラム修正要求

テスト済み 実システム

テスト法 テスト済みソフトウエア

ソフトウエア品質向上と開発効率化の要求 組込み技術者

制御

ソフトウエア

ソフトウエア開発プロセス

テスト仕様

6

組込みソフトウエア開発プロセスの

現状と問題点

質的変化: 製品の多機能化・新機能(N/W機能対応)・新サービス提供などへの対応要求

→ 頻繁な仕様変更、曖昧さの多い仕様記述

量的変化: 開発コード数の増大 (Ex. 5年前に比較した携帯電話コード行数約100倍, 年率約40%で増大)

→ 膨大なソフトウエアテスト項目の実施要求

組込みソフトウエア開発者の仕様定義・ソフトウエアテストを高精度・高能率に支援可能なツールの必要性

Page 4: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

4

7

ソフトウエアテストの現状

•開発工程に占めるテスト工程の割合

例1: 道内 B社 ルータ量産品

設計・コーティング

(50人・月)

単体テスト・ デバッグ

(25人・月)

システムテスト

(20人・月)

5割弱がテスト関連工程 → 費用換算 約2500万円

例2: 道内 N社 画像処理検査装置

設計・コーティング

(6人・月) システムテスト・デバッグ

(2.5人・月)

4割がテスト関連工程 → 費用換算 約300万円

ソフトウエアテスト作業が全開発工程の約40-50%

8

自動車・モバイル・ネット家電系製品向け組込みソフト

→ 年率40%で大規模化

→ 企業内でのソフトウエア開発能力の遅れ

→ 市場投入の遅れ、市場投入後の不具合が頻繁発生

例:

自動車:エンジン排ガス制御システムのソフト原因によるリコール

携帯電話: 電卓機能不具合リコール、出荷時期延期、市場シェアの喪失

FA機器制御: ソフト不具合のうち、テスト漏れが原因であるケースが約3割(新規開発)もしくは約5割(更新)

航空宇宙機器: 米国、20年間でソフトウエア高品質化、誤り発生率2桁減少、生産性30%増、85年以降SpaceShuttleの飛行中ソフトウエアに欠陥は発生せず。

大規模化による開発上の問題

Page 5: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

5

9

モデリングとシミュレーション

モデリング: システムの構造・挙動に関する知識を表現し、

再利用し、情報交換する。

シミュレーション: 精度良くかつ効率的にシステムの実挙

動を模擬する。

理由

コスト、安全性、時間

What-if 分析 (様々な条件下でシステムがどのように振舞

うか)

システムの最適化 (冗長な試作品製作の排除)

モデリング・シミュレーションに基づくシステム設計

10

モデリングとシミュレーションに基づくシステム設計プロセス

モデル

設計

シミュレーション

モデル準備

シミュレーション

実行 システム

モデル

性能

評価指標

適合性

検証結果

モデル

検証

対象システム

設計仕様

システム

モデリング

手法

モデルの

正当性証明

実装コード合成

システム

実行 実入出力

シミュ

レーション

モデル

実行

モデル 手動作業

自動変換可能

Push clear

Push F3

Push F2

Push UP

Push clear

2002/3/26 15:23 2002/3/26 15:23

2002/3/26 15:23 2002/3/26 15:23

電話帳検索 あかさたな

2003 March 1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

受信メール一覧 いぇい! Re:Re:Re: Re: (無題) 明日の予定

受信メール 03/03/24 18:10 小林章人 いぇい! やったぜ~スライド 完成したぞ~。

2002/3/26 15:23

着信あり

011-

547111

1

電話着信

形式検証

手法

Page 6: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

6

11

モデリング・シミュレーションの例: 化学工場の動作シミュレーション

http://www.hemmis.com/products/west/exp_environment.htm

12

モデリング・シミュレーションの例: 地球シミュレータ(大気・海洋結合シミュレーション)

http://www.es.jamstec.go.jp/

Page 7: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

7

13

モデリング・シミュレーションの例: フライトシミュレーション

http://www.jp.flightgear.org/Gallery/Link/KSJC-DC-3-final.html

14

実世界とモデル

実世界

実世界の事物

モデル

実験

システムS

管理された状況下

での挙動再現

実験状況での

実験結果

実験データ

ベースモデル

モデル M

シミュレーション結果

その実験状況での

モデル化

検 証

シミュレーション

= 仮想実験

モデリング・シミュレーションプロセス

モデルに基づく

先見的知識

ゴール

Page 8: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

8

15

実世界とモデルの例 (自動車サスペンション)

実世界

実世界の事物

モデル

実験

システムS

管理された状況下

での挙動再現

実験状況での

実験結果

実験データ

力学モデル

モデル M

シミュレーション結果

その実験状況での

モデル化

検 証

シミュレーション

= 仮想実験

モデリング・シミュレーションプロセス

k

m x

mx + kx = F ..

F

組み込みソフトウエア仕様の種類と比率

16

種 類 割合(%)

イベント・アクション 53.8

安全性 15.6

タイミング 15.0

快速性 11.8

フィードバック 2.5

性能 1.3 中山ほか:「要求仕様に基づくソフトウエアソースコードの自動生成法」,

情報処理学会研究報告「ソフトウエア工学」,No.122, pp93-100, 1999

Page 9: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

9

17

システムの動的挙動のベースモデル

連続時間システムのモデル

微分方程式、代数微分方程式、……

連続系システムシミュレーション言語

離散事象システムのモデル

有限状態機械(オートマトン)

Statechart(ステートチャート)

ペトリネット

プロセス代数モデル

GPSS

因果関係システムのモデル

SD(System dynamics) モデル

本授業で対象とする挙動モデリング手法

18

離散事象システム

離散事象システム(Discrete Event System):

事象(event)が離散的なタイミングで生起するこ とにより, 状態(state)が不連続に変化するようなシステム

離散事象システム例: デジタル回路、計算機ハードウエア、ソフトウエア、ネットワーク、ユーザインタフェース、通信システム、シーケンス制御システム、FMS(Flexible生産システム)、ロボットプログラム、etc… → 非常に広範囲

離散事象モデリングの目的 システムの論理的分析

システムの性能評価(シミュレーション)

Page 10: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

10

19

離散事象システムとしてモデリングできる

ソフトウエアシステム例

1. FA 制御ソフトウエア (シーケンス制御等)

2. 家電、IT機器のGUI制御ソフトウエア

3. 通信プロトコール制御ソフトウエア

例: 携帯電話 画面遷移図

空圧シリンダ

リミット

スイッチ1 リミット

スイッチ2

リミットスイッチ1 ON /

バルブClose

PLC

プッシュスイッチ

プッシュスイッチ ON /

バルブ backward Open

シリンダ前進中

シリンダ停止中

シリンダ後退中

プッシュスイッチ ON /

バルブforward Open

リミットスイッチ2 ON /

バルブClose

CLOSED

W4_L2CAP_CONNECT_RSP

CONFIG

OPEN

W4_L2CAP_DISCONNECT_RSP

L2CA_ConnectReq?[true]

L2CA_ConnectReqOUT! [true]{t1←t}

L2CAP_ConnectRsp?[0<=t-t1<=30]

L2CA_ConnectReqIN?

L2CA_ConnectCfm![true]

L2CA_ConfigReq?[true]

L2CAP_ConfigReq![true] {t2←t}

L2CA_ConfigRspNeg?[true] L2CA_ConfigCfmNeg!

[0<=t-t2<=30]{true}

L2CAP_ConfigRsp?

[0<=t-t2<=30]{true}

L2CA_ConfigCfm![true] L2CAP_DataIN?[true]

L2CAP_Read![true]

L2CA_DataWrite?[true]

L2CAP_DataOUT![true] L2CA_DisconnectReq?[true]

L2CAP_DisconnectReq![true]{t3←t}

L2CAP_DisconnectRsp?[0<=t-t3<=30]

L2CA_DisconnectCfm![true]

Timer_RTX?

[t-t1>30 or t-t2>30 or t-t3>30]{}

L2CA_TimeOutInd![true]{}

MAIN_STATE

W4_CONNECT_REQ

W4_CONNECT_RSP W4_CONFIG_REQ

W4_CONFIG_RSP_NEG

W4_L2CAP_DATA

W4_DATA_WRITE

W4_CONFIG_RSP

W4_DISCONNECT_REQ

W4_DISCONNECT_CFM

TimeOutState

非常停止

システム稼動中

システム停止中

非常停止 ON /

バルブClose 電源Off

電源 ON / バルブClose

例: PLC プログラム

4. 組込みメカ制御ソフトウエア

例: Bruetooth L2CAP層プロトコル

Push clear

Push F3

Push F2

Push UP

Push clear

2002/3/26 15:23 2002/3/26 15:23

2002/3/26 15:23 2002/3/26 15:23

電話帳検索

あかさたな

2003 March 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

受信メール一覧

いぇい! Re:Re:Re: Re: (無題) 明日の予定

受信メール

03/03/24 18:10 小林章人 いぇい! やったぜ~スライド 完成したぞ~。

2002/3/26 15:23

着信あり

011-5471111

電話着信

電源 OFF

電源 ON

例: DVD プレーヤー

電源 SW ON

トレー格納

トレー排出

停止中 再生中

再生 ボタン

停止ボタン

電源 SW OFF Eject Eject

20

離散事象モデルの表現

1. 有限状態機械(オートマトン)

2. Statechart

Page 11: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

11

21

•オートマトン(Automaton) :「自動機械,からくり人形」

•離散事象システムの抽象化された最も基本的なモデル

•「有限状態機械」“Finite State Machine”, FSM

•記号列の処理機 (記号列変換機,受理判定機 など)

•入力,出力,記憶機構(状態,記憶に利用できる資源タイプ)

→ 様々なオートマトンのクラス

•離散情報処理: 変数が離散的に表現可能な情報処理

•例: デジタル回路,アルゴリズム,ユーザインタフェースソフト

ウエア,シーケンス制御

オートマトン,有限状態機械

22

オートマトンの分類

処理形態による分類

変換機(入力記号列→出力記号列)→「順序機械」

受理機(入力記号列を2クラスに分類)→「(狭義の)オートマトン」

記憶機構による分類

有限の状態数→「有限オートマトン」

有限の状態数+無限の外部記憶→「チューリング機械」

動作の一意性による分類

同一状態,同一入力に対し,次動作が一意 →「決定性オートマトン」

同一状態,同一入力に対し,次動作に非一意 →「非決定性オートマトン」

その他の概念を拡張したオートマトン

同期並行動作+分散状態+資源の概念 を拡張 →「ペトリネット」

並行動作+階層状態+条件付遷移 → 「Statechart」

Page 12: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

12

23

順序機械(Sequential Machine)

< S, Σ, Δ,δ,ω,qi >

状態集合 S = {q0, q1,……, qn-1}

入力記号集合 Σ= {a0, a1,……, am-1}

出力記号集合 Δ= {b0, b1,……, bk-1}

状態遷移関数 δ: Σ x S → S

出力関数 ω: Σ x S → Δ

初期状態 qi S

qi, q2, q4, q8,…. a3,a2,a1,a5,… b0,b4,b2,b4,…

入力記号列 出力記号列

記号列変換機

24

順序機械の状態遷移図表現

状態遷移図(State Transition Diagram), 状態図(State Diagram)

順序機械の有向グラフ表現

節点=状態,有向辺=状態遷移,有向辺の属性=入力,出力

例: 1個110円の缶ジュース自動販売機

状態集合 (販売機内の入金状態)

S = { ¥0, ¥100}

入力記号集合

Σ= {¥100, 返却レバ押下}

出力記号集合 (販売缶個数&つり銭)

Δ= { 0個¥0,1個¥90, 0個¥100}

初期状態 ¥0

¥0 ¥100

¥100 / 0個¥0

¥100 / 1個¥90

返却レバ押下/ 0個¥100 (初期状態)

入力記号 出力記号

Page 13: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

13

25

順序機械の状態表・出力表表現

¥0 ¥100

¥100 / 0個¥0

¥100 / 1個¥90

返却レバ押下/ 0個¥100 (初期状態)

入力記号 出力記号

缶ジュース自動販売機の

状態遷移図表現

缶ジュース自動販売機の

状態表・出力表表現

等価な表現

状態表 ¥100 返却レバ押下

¥0 ¥100 ?

¥100 ¥0 ¥0

不完全な挙動定義 完全な挙動定義

出力表 ¥100 返却レバ押下

¥0 0個¥0 ?

¥100 1個¥90 0個¥100

26

ミーリー型順序機械(Mealy machine)

定義: < S, Σ, Δ,δ,ω,qi >

出力関数 ω: Σ x S → Δ

「現出力は、前状態と入力の組合せで決定される」

ミーリー型順序機械の例:

1 / 1

0 1

(初期状態)

1 / 0

0 / 0 0 / 1

Page 14: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

14

27

ムーア型順序機械 (Moore machine)

定義: < S, Σ, Δ,δ,ω,qi >

出力関数 ω: S → Δ

「入力に対しまず状態遷移をし、その後の現状態に付随して出力が決定される」

ムーア型順序機械の例:

1

0/0 1/1

1

0

0 入力記号

出力記号 出力記号

ハードウエアでFSM実装の場合、動作安定性から、ムーア型が良い場合がある。

28

ミーリー型とムーア型の順序機械の

相互関係

1 / 1

0 1

(初期状態)

1 / 0

0 / 0 0 / 1

時刻 0 1 2 3 4 5 6 7

状態 0 0 1 0 1 1 0 0

入力 0 1 1 1 0 1 0 0

出力 0 1 0 1 1 0 0 0

δ

ω

ミーリー型順序機械

時刻 0 1 2 3 4 5 6 7 8

状態 0 0 1 0 1 1 0 0 0

入力 0 1 1 1 0 1 0 0 x

出力 0 0 1 0 1 1 0 0 0

δ

ω

ムーア型順序機械

1

0/0 1/1

1

0

0 時刻0の初期状態に付随した出力を1回出した以降は、ミーリー型と同じ出力を1単位時間遅れで出力

入出力関係が等価

Page 15: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

15

29

ミーリー型順序機械によるUIシステム挙動のモデリング例

State:

Power On, Rec mode

Power

Off

Power button pushed /

Turn on LCD,

Turn on Lump1

前状態 後状態

State:

Power Off

Parts_name:

Power button

Parts_name:

Lump1 Parts_name:

LCD

Rec

Mode

入力

出力

30

ミーリー型機械・ムーア型機械

Page 16: システムデザイン 第4回 - ist.hokudai.ac.jp · 2012/4/28 2 3 本講義の目標 情報機器の様々な構成システムを対象に、 ユーザインタフェース(UI)システム、ネットワーク通

2012/4/28

16

31

実際の携帯電話のUIソフトウエア開発用機能仕様書の1部