状態を持った系 自動販売機の設計

システム工学概論
第9回
状態構造を持っ系の設計
2004. 12. 2
第9回概要
1.自動販売機
2.外部仕様
3.振舞い
4.設計手順
5.仕様記述
自動販売機
¥
煙草自動販売機
I(Input)P(Process)O(Output)図
IPO(Input Process Output)図
時計
I
Input
仕様の
表記
Process
実時間
クロック
I
記号に
よる表記
実時間
クロック
I
データフロー図
による表記
O
Output
時計
時計
盤面
P
O
時計
時計
盤面
P
O
1秒
クロック
時計
時計
盤面
時刻をえる
時刻
時刻表示
をえる
時刻
表示
表示する
I
P
O
I
P
時計
盤面
表示する
時刻をえる
時刻をえる
実時間
クロック
P
O
I
P
O
HIPO(Hierarchical Input Process Output)図
自動販売機の仕様
¥
煙草自動販売機
夫々は,如何なる条件があるだろうか?
自動販売機の条件
¥
入力に対す
る条件
煙草自動販売機
外部入力仕
様書
本体に対する条件
外部~機能仕様書
出力に対す
る条件
外部出力仕
様書
外部仕様類
¥
外部入力仕様書
外部出力仕様書
自動販売機 X 0 1 外部入力仕様書 名称
項番
自動販売機 X 0 1 外部出力仕様書 細区分およ び定義
項番
使用者が, 商品を 購入する 為に投入する お金を 言う . 共通版では, 扱える 入力は硬貨
に限り , その金額は5 0 0 円, 1 0 0 円, 5 0 円, 1 0 円のみと する .
注 投入金は別途開発の硬貨収受ユニッ ト に於て検収さ れる . こ のユニッ ト は,
受入れ硬貨の受け入れ可否, およ び真偽を 判定し , 両条件に適合する 時は
受入れる . 受入れた時, ( 投入金; 投入金額) の情報を 出力する .
( 従っ て, ソ フ ト には上記の金額数値し か来ない)
1 投入金
使用者が購入する 商品の指定である . 商品に対応する 場所1 ~8 の釦を 押す事によ り
指定さ れる . 同時に押し ても それら の中の何れか一つのみ有効で他は無効になる .
注 商品種類は, 場所番号に対応さ せる . 品切れ, 購入可能, 購入指定では
場所が商品名に対応する . ソ フ ト 内ではこ の場所番号のみ扱い, 商品名は
保有し ない.
購入商品の指定は, ( 購入商品指定; 指定番号) の情報の入力によ る .
3 購入商品指定
細区分およ び定義
1 合計金額表示
初回以降の投入金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金
額を 減じ る ) を 示す. 有効数字よ り 上位の桁は表示さ れない. 初期状態で, お金が
投入さ れる 以前は表示し ない. 販売終了時には0 復帰する が, 表示さ れない.
注 表示の為の情報は, ( 合計金額表示; 合計金額) の形式で与える .
2 商品品切れ表示
場所1 ~8 に対応する 商品が在庫し ない事を 表示する . 品切れの場合には, 販売可
能の扱いを し てはなら ない. 共通版では商品倉庫ユニッ ト には, 商品は無限に在庫
する も のと し , 品切れの論理は作込むが, 品切れ表示は動作さ せな い.
煙草自動販売機
釣銭や返戻金を 出力する 事を 指定する . こ の指定が来た時は, こ れま で受入れた投入
金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) を 払
い出す. 出力の方法( 一斉/順次, 出力金種, その種類毎の出力数) 等は硬貨収受ユ
ニッ ト の指定によ り , 本仕様書では規定し ない.
注 硬貨収受ユニッ ト は, ( 釣銭出力; 払出し 金額) の情報によ り 動作する .
共通版では, 無限の硬貨が貯蔵さ れている も のと する .
2 釣銭出力
名称
注 自動販売機 X 0 1 外観図
こ の為の原情報は商品倉庫ユニッ ト よ り 得ら れる . その情報は, #1 ~8 の
場所に対応する 8 ビ ッ ト ( 1 バイ ト ) の情報で あり , ( 1 /0 , 1/ 0 , 1 /0 , ..
1 /0 )の形式である . こ こ で1 は在庫あり を , 0 は在庫無し を 示す.
品切れ表示は( 商品品切れ表示; 品切れ表示パタ ーン ) の形式で与える .
合計金額表示
商品品切れ表示
$
投入金
販売可能商品表示
釣銭出力
3 販売可能商品表示 場所1 ~8 に対応する 商品を 販売可能である 事を 表示する . こ の商品が在庫し , 投
入金合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) が
こ の商品の価格に等し いか, それ以上である 場合に表示する .
注 販売可能表示は( 販売可能表示; 販売可能表示パタ ーン ) の形式で与える .
購入商品指定
販売商品
釣銭
4 販売商品
使用者の指定に応じ て出力する 商品である . 使用者の指定し た場所1 ~8 の釦に対
応し , 商品貯蔵庫よ り 出庫する . 商品の出庫は別途開発する 商品倉庫ユニッ ト が行
なう . 販売は, 在庫があり , かつ投入金合計金額が商品価格と 等し いか, それ以上
である 場合に限り , 1 個のみ出力する .
煙草自動販売機
注 出庫は( 指定商品出力, 指定番号1 ~8 ) の指令情報によ り 行なわれる .
共通版では商品倉庫ユニッ ト は無し と し , 指定個所の指定によ り 出庫する
参考 ハード 側図面の写
自動販売機 X 9 7 集成釦仕様
機能がある と し て扱う . ま た, 在庫は無限にある も のと する .
商品品切れ表示( 赤色LED)
販売可能商品表示( 緑色LED)
#1
#2
#3
#4
#5
#6
#7
5 釣銭
#8
LED 類
前
面
押釦
外部~機能仕様書 ?
商品を 販売し た時に出力する 釣銭, およ びそれに至る 前に釣銭指定によ り る 返戻金
である . 釣銭ある いは返戻金の金額は, 販売が進行し ていた時には販売済み商品の
価格合計金額を 減じ る . 釣銭や返戻金の出力は, 別途開発の硬貨収受ユニッ ト によ
り 行なわれる .
注 出力の指令は, ( 釣銭出力; 金額) の情報によ り 行なわれる .
・ こ の例で, イ タ リ ッ ク 字体は諸君の参考用の記述です.
購入商品指定
前面図
断面図
・ こ の例で, イ タ リ ッ ク 字体は諸君の参考用の記述です.
・ 一般に, 仕様書と はある べき 条件を 示す契約文書である . 一旦, 契約する と そのと おり の製品でな いと , 受取
を 拒絶さ れる . 従っ て法律の文書と 同じ く , 入念な 注意を 払っ て書き , ま た受け取っ た放でも 入念に読み, それ
に厳密に従う . 受注品でない場合には, 一般に製品仕様書を 製造者側で作る .
・ 仕様書と おり の製品を 作る 事は,
仕様書を 厳密に解釈し て, それに忠実に従っ たシ ステ ムの仕様書, それに厳密に従っ た機能やソ フ ト ウエ ア
の設計文書を 作り , 常に前位の文書と 照合確認し て仕事を 進める 事
によ り 達成さ れる .
外部出力仕様
自動販売機 X 0 1 外部出力仕様書 項番
名称
細区分およ び定義
1 合計金額表示
初回以降の投入金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金
額を 減じ る ) を 示す. 有効数字よ り 上位の桁は表示さ れない. 初期状態で, お金が
投入さ れる 以前は表示し ない. 販売終了時には0 復帰する が, 表示さ れない.
注 表示の為の情報は, ( 合計金額表示; 合計金額) の形式で与える .
2 商品品切れ表示
場所1 ~8 に対応する 商品が在庫し ない事を 表示する . 品切れの場合には, 販売可
能の扱いを し てはなら ない. 共通版では商品倉庫ユニッ ト には, 商品は無限に在庫
する も のと し , 品切れの論理は作込むが, 品切れ表示は動作さ せな い.
注 こ の為の原情報は商品倉庫ユニッ ト よ り 得ら れる . その情報は, #1 ~8 の
場所に対応する 8 ビ ッ ト ( 1 バイ ト ) の情報で あり , ( 1 /0 , 1/ 0 , 1 /0 , ..
1 /0 )の形式である . こ こ で1 は在庫あり を , 0 は在庫無し を 示す.
品切れ表示は( 商品品切れ表示; 品切れ表示パタ ーン ) の形式で与える .
3 販売可能商品表示 場所1 ~8 に対応する 商品を 販売可能である 事を 表示する . こ の商品が在庫し , 投
入金合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) が
こ の商品の価格に等し いか, それ以上である 場合に表示する .
注 販売可能表示は( 販売可能表示; 販売可能表示パタ ーン ) の形式で与える .
外部入力仕様
自動販売機 X 0 1 外部入力仕様書 項番
名称
細区分およ び定義
1 投入金
使用者が, 商品を 購入する 為に投入する お金を 言う . 共通版では, 扱える 入力は硬貨
に限り , その金額は5 0 0 円, 1 0 0 円, 5 0 円, 1 0 円のみと する .
注 投入金は別途開発の硬貨収受ユニッ ト に於て検収さ れる . こ のユニッ ト は,
受入れ硬貨の受け入れ可否, およ び真偽を 判定し , 両条件に適合する 時は
受入れる . 受入れた時, ( 投入金; 投入金額) の情報を 出力する .
( 従っ て, ソ フ ト には上記の金額数値し か来ない)
2 釣銭出力
釣銭や返戻金を 出力する 事を 指定する . こ の指定が来た時は, こ れま で受入れた投入
金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) を 払
い出す. 出力の方法( 一斉/順次, 出力金種, その種類毎の出力数) 等は硬貨収受ユ
ニッ ト の指定によ り , 本仕様書では規定し ない.
注 硬貨収受ユニッ ト は, ( 釣銭出力; 払出し 金額) の情報によ り 動作する .
共通版では, 無限の硬貨が貯蔵さ れている も のと する .
3 購入商品指定
使用者が購入する 商品の指定である . 商品に対応する 場所1 ~8 の釦を 押す事によ り
指定さ れる . 同時に押し ても それら の中の何れか一つのみ有効で他は無効になる .
注 商品種類は, 場所番号に対応さ せる . 品切れ, 購入可能, 購入指定では
場所が商品名に対応する . ソ フ ト 内ではこ の場所番号のみ扱い, 商品名は
保有し ない.
購入商品の指定は, ( 購入商品指定; 指定番号) の情報の入力によ る .
システム仕様
如何に仕様を記述するか?
1.投入金を入れる
参考:成績集計システム
2.投入金と過去の投入金の合計を求め,表示する
1.試験結果を読込む
3.合計金額で買える物があれば,販売可能商品を
2.学籍番号順に並べる
表示する 3.クラス平均値を求める
4.各人の順位を決める
4.販売可能でない商品を販売指定しても無視する
5.成績一覧表を出力する
5.販売可能な商品を指定すると,商品を出力する
6.個人毎成績表を出力する
6.投入金額合計から,商品の価格を差引き表示する
(7.釣銭出力を指定すると,返戻金/釣銭を出力する)
これで完全であろうか?
状態を持つ系は,成績集計のようには記述出来ない
自動販売機の振舞い
¥
購入指定
投入金
販売
可能
煙草自動販売機
合計金額
待機中S0
購入(商品)指定
¥
¥
投入金
煙草自動販売機
煙草自動販売機
投入金あり販売不可S1
投入金
購入指定
販売可能S2
状態遷移ルートの抜けチェック
T01
¥
T21
購入指定
T00
煙草自動販売機
合計金額
釣銭
出力
が
抜けて
いる
販売
可能
投入金
待機中S0
購入(商品)指定
¥
¥
投入金
煙草自動販売機
投入金あり販売不可S1
T10
煙草自動販売機
投入金
販売可能S2
購入指定
T11
状態遷移原因表は,
漏れなく状態遷移を
洗出すのに効果的な
手段である
T20
投入金e0
購入指定e1
待機中S0
T00
T01
投入金あり
販売不可S1
T10
T11
販売可能S2
T20
T21
釣銭出力e2
各種の
遷移
ルート
T0 1
購入指定
T0 2
釣銭出力
投入金
T1 0
投入金e0
購入指定e1
釣銭出力e2
待機中S0
T00
T01
T02
投入金あり
販売不可S1
T10
T11
T12
販売可能S2
T20
T21
T22
出力を記入する
下記を記入する
状態,
状態遷移,遷移ルート
状態遷移原因
出力
完備した外部仕様
外観図
¥
外部入力仕様書
外部出力仕様書
自動販売機 X 0 1 外部入力仕様書 名称
項番
自動販売機 X 0 1 外部出力仕様書 細区分およ び定義
使用者が, 商品を 購入する 為に投入する お金を 言う . 共通版では, 扱える 入力は硬貨
に限り , その金額は5 0 0 円, 1 0 0 円, 5 0 円, 1 0 円のみと する .
注 投入金は別途開発の硬貨収受ユニッ ト に於て検収さ れる . こ のユニッ ト は,
受入れ硬貨の受け入れ可否, およ び真偽を 判定し , 両条件に適合する 時は
受入れる . 受入れた時, ( 投入金; 投入金額) の情報を 出力する .
( 従っ て, ソ フ ト には上記の金額数値し か来ない)
1 投入金
釣銭や返戻金を 出力する 事を 指定する . こ の指定が来た時は, こ れま で受入れた投入
金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) を 払
い出す. 出力の方法( 一斉/順次, 出力金種, その種類毎の出力数) 等は硬貨収受ユ
ニッ ト の指定によ り , 本仕様書では規定し ない.
注 硬貨収受ユニッ ト は, ( 釣銭出力; 払出し 金額) の情報によ り 動作する .
共通版では, 無限の硬貨が貯蔵さ れている も のと する .
2 釣銭出力
使用者が購入する 商品の指定である . 商品に対応する 場所1 ~8 の釦を 押す事によ り
指定さ れる . 同時に押し ても それら の中の何れか一つのみ有効で他は無効になる .
注 商品種類は, 場所番号に対応さ せる . 品切れ, 購入可能, 購入指定では
場所が商品名に対応する . ソ フ ト 内ではこ の場所番号のみ扱い, 商品名は
保有し ない.
購入商品の指定は, ( 購入商品指定; 指定番号) の情報の入力によ る .
3 購入商品指定
項番
名称
細区分およ び定義
1 合計金額表示
初回以降の投入金の合計金額( 販売が進行し た時には, 販売済み商品の価格合計金
額を 減じ る ) を 示す. 有効数字よ り 上位の桁は表示さ れない. 初期状態で, お金が
投入さ れる 以前は表示し ない. 販売終了時には0 復帰する が, 表示さ れない.
注 表示の為の情報は, ( 合計金額表示; 合計金額) の形式で与える .
2 商品品切れ表示
場所1 ~8 に対応する 商品が在庫し ない事を 表示する . 品切れの場合には, 販売可
能の扱いを し てはなら ない. 共通版では商品倉庫ユニッ ト には, 商品は無限に在庫
する も のと し , 品切れの論理は作込むが, 品切れ表示は動作さ せな い.
煙草自動販売機
外部機能仕様書
注 こ の為の原情報は商品倉庫ユニッ ト よ り 得ら れる . その情報は, #1 ~8 の
場所に対応する 8 ビ ッ ト ( 1 バイ ト ) の情報で あり , ( 1 /0 , 1/ 0 , 1 /0 , ..
1 /0 )の形式である . こ こ で1 は在庫あり を , 0 は在庫無し を 示す.
品切れ表示は( 商品品切れ表示; 品切れ表示パタ ーン ) の形式で与える .
3 販売可能商品表示 場所1 ~8 に対応する 商品を 販売可能である 事を 表示する . こ の商品が在庫し , 投
入金合計金額( 販売が進行し た時には, 販売済み商品の価格合計金額を 減じ る ) が
こ の商品の価格に等し いか, それ以上である 場合に表示する .
注 販売可能表示は( 販売可能表示; 販売可能表示パタ ーン ) の形式で与える .
4 販売商品
使用者の指定に応じ て出力する 商品である . 使用者の指定し た場所1 ~8 の釦に対
応し , 商品貯蔵庫よ り 出庫する . 商品の出庫は別途開発する 商品倉庫ユニッ ト が行
なう . 販売は, 在庫があり , かつ投入金合計金額が商品価格と 等し いか, それ以上
である 場合に限り , 1 個のみ出力する .
注 出庫は( 指定商品出力, 指定番号1 ~8 ) の指令情報によ り 行なわれる .
共通版では商品倉庫ユニッ ト は無し と し , 指定個所の指定によ り 出庫する
参考 ハード 側図面の写
自動販売機 X 9 7 集成釦仕様
機能がある と し て扱う . ま た, 在庫は無限にある も のと する .
商品品切れ表示( 赤色LED)
販売可能商品表示( 緑色LED)
#1
#2
#3
#4
#5
#6
#7
5 釣銭
#8
LED 類
前
面
商品を 販売し た時に出力する 釣銭, およ びそれに至る 前に釣銭指定によ り る 返戻金
である . 釣銭ある いは返戻金の金額は, 販売が進行し ていた時には販売済み商品の
価格合計金額を 減じ る . 釣銭や返戻金の出力は, 別途開発の硬貨収受ユニッ ト によ
り 行なわれる .
注 出力の指令は, ( 釣銭出力; 金額) の情報によ り 行なわれる .
押釦
・ こ の例で, イ タ リ ッ ク 字体は諸君の参考用の記述です.
購入商品指定
前面図
断面図
・ こ の例で, イ タ リ ッ ク 字体は諸君の参考用の記述です.
・ 一般に, 仕様書と はある べき 条件を 示す契約文書である . 一旦, 契約する と そのと おり の製品でな いと , 受取
を 拒絶さ れる . 従っ て法律の文書と 同じ く , 入念な 注意を 払っ て書き , ま た受け取っ た放でも 入念に読み, それ
に厳密に従う . 受注品でない場合には, 一般に製品仕様書を 製造者側で作る .
・ 仕様書と おり の製品を 作る 事は,
仕様書を 厳密に解釈し て, それに忠実に従っ たシ ステ ムの仕様書, それに厳密に従っ た機能やソ フ ト ウエ ア
の設計文書を 作り , 常に前位の文書と 照合確認し て仕事を 進める 事
によ り 達成さ れる .
完全な仕様記述
外部機能仕様書
状態遷移図を併用する記述
有限状態(抽象 )機械モデル
Finite State Machine, FSMモデル
殆どの着目対象(Object)を記述可能である
(従来技法では,データの変換関係のみ記述)
状態遷移+遷移ルート(プログラム)で構成する
従来のプログラム以上の存在
状態遷移実行機構により,平明な設計が可能
状態遷移原因表により,漏れが防止できる
通常の正常な動作は,全体の一部に過ぎない
状態遷移原因表
投入金e0
待機中S0
購入指定e1
場合により,状態数が爆発的に増える
幾つかの抽象機械に分解すれば良い
釣銭出力e2
T00
T01
T02
投入金あ
り販売不
可S1
T10
T11
T12
販売可能S2
T20
T21
T22
システムの構成(簡単な系)
入力 I
(Input)
出力 O
(Output)
処理 P, 機能 F
自動販売機
販売プロセス
待機注
ソ
フ
ト
指定
商品
投入金
商品
指定
投入金あり
販売不可
販売可能
名称
/
定義
10
1000
現金
収受部
自動販売機
マイコンボード
名称
/
定義
ストッカー部
ハ
|
ド
システムの構成(複雑な系)
入力 I
(Input)
現金収受
プロセス
自動販売機
自動倉庫
プロセス
販売プロセス
投入金0
投入金
出力 O
(Output)
処理 P,機能 F
待機注
指定
商品
投入金
商品
指定
投入金 > 0
投入金
マイコン制御
現金収受装置
投入金あり
販売不可
販売可能
自動販売機
本体装置
マイコン制御
自動倉庫
ソ
フ
ト
ウ
エ
ア
ハ
|
ド
ウ
エ
ア
システムの構成(複雑な系)
P
H
S
お総菜ユニット
パン・麺ユニット
コールド
ドリンク
ユニット
現金収
受部
ホットドリンクユニット
通信
プロセス
自動販売機
現金収受
プロセス
自動
倉庫
プロ
セス
販売プロセス
待機注
指定
商品
投入金0
投入金
投入金
商品
指定
投入金 > 0
投入金
投入金あり
販売不可
販売可能
コ
|
ラ
在
庫
少
数
組込システム
・外から見ると,ハード装置であるが,実は計算機/ソフトを
内蔵するシステム.計算機制御の技術が使われている.
これから伸びる分野.VTR, 携帯電話,GPS....
・特殊性 ハード並の高い信頼度が求められる
ソフトは,殆どが状態構造を持っている
ハード並のキチンとした信頼度と原価等の管理
量産をベースにした考え方
各種の使われ方〜機種を統合する標準化
単純/複雑/大規模自販機
たばこからコーヒー,拉麺等を一本化
表示位置と商品対応,商品価格 データ
・有利な就職先として,諸君に推奨する
システム設計上の要件
商品はどの場所に置ける
商品名はソフトに関係させない
場所(指定釦番号)で見る
価格は,変更できる
メモリのある領域に定価表を持つ
¥
煙草自動販売機
現金収受
プロセス
自動販
売機
販売プロセス
投入金0
投入金
イベントを標準化する
・遷移原因となるもの
・伴う情報
例:投入金 + 金額(¥50)
待機注
自動倉庫
プロセス
指定
商品
投入金
投入金 > 0
投入金
投入金あり
販売不可
販売可能
商品
指定
出力/メッセージ
・外部指令/メッセージ名となるもの
・伴う情報
例:釣銭出力 + 釣銭金額
複数プロセスの場合には,下記を加える
宛先プロセス番号 + 送元プロセス番号
プログラム設計上の要件
¥
ハード
対応
情報
煙草自動販売機
ソフト用
情報
場所番号
0 1 2 3 4 5 6 7
ストッカー番
号
” ” ”
” ” ” ”
”
在庫センサ番
号
” ” ”
” ” ” ”
”
(メモリ内情報)
在庫切れランプ番
号 ” ” ”
” ” ” ”
”
販売可能ランプ番
110
号 ” ” ”
” ” ” ”
”
可/不可
商品指定釦番
号
” ” ”
” ” ” ”
”
出力メッセージ標準形式
種別指定
| 場所指定
例:合計金額
| 560
例:在庫切ランプ点 | 群指定
例:ストッカー開
| 個別指定
例:釣銭出力
| 250
入力メッセージ標準形式
商品価格表
種別指定
〔メモリ内情報)
例:在庫切
例:投入金
販売可能商品表
例:商品指定
例:釣銭
| 場所指定
| 群情報
| 100
| 場所情報
| 540
*
種別指定
入力/出力
|
伴 う 情 報
|コード情報 |パターン情報
*
種別指定
入力/出力
|伴う情報
|コード情報
入出力統一フォーマット
又は
種別指定
入力/出力
|伴う情報
|パターン情報
自動販売機中のアルゴリズムの例 1
Input
Process
Output
合計
金額
場所番号
商品価格表
0
販売
可能
商品
群
販売可能
な商品を
決める
商品
価格
表
1
2
3
4
5
6
ソフト用
情報
場所番号
0
1
2
販売可能商品表
Y
N
Y Y …………………….
7
110 250 260 300 ………………….
0
場所番号
ストッカー番
号
ハード
対応
情報
”
”
1
”
2
3
”
4
”
3
5
”
4
6
5
6
7
7
”
”
在庫センサ番
号
” ” ”
” ” ” ”
”
在庫切れランプ番
号
” ” ”
” ” ” ”
”
販売可能ランプ番
号
” ” ”
” ” ” ”
”
商品指定釦番
号
” ” ”
” ” ” ”
”
商品価格表
ハード
対応
情報
ソフト用
情報
同 例2
販売可能商品表の場所(i)を読む
指定
商品(i)
指定した商品が,販
売可能なら商品(i)を
出力する.販売不可
なら無視する
i =Y?
N
Y
場所(i)のストッカーを開ける
------------------------------ストッカー開 | 場所(i)
場所番号
0
1
2
販売可能商品表
Y
N
Y Y …………………….
3
4
5
6
7
入力メッセージ標準形式
種別指定
例:在庫切
例:投入金
例:商品指定
例:釣銭
| 場所指定
| 群情報
| 100
| 場所情報
| 540
出力メッセージ標準形式
種別指定
| 場所指定
例:合計金額
| 560
例:在庫切ランプ点 | 群指定
例:ストッカー開
| 個別指定
例:釣銭出力
| 250
0
場所番号
ストッカー番
号
”
”
1
”
2
3
”
4
”
5
”
6
7
”
”
在庫センサ番
号
” ” ”
” ” ” ”
”
在庫切れランプ番
号
” ” ”
” ” ” ”
”
販売可能ランプ番
号
” ” ”
” ” ” ”
”
商品指定釦番
号
” ” ”
” ” ” ”
”
商品価格表
ハード
対応
情報
ソフト用
情報
状態遷移の実行の為の配慮
T0 2
T0 1
釣銭出力
購入指定
・遷移ルートは関数に対応
させる
・状態遷移原因表に対応し
て各関数を実行させる
投入金
T1 0
投入金e0
待機中S0
投入金あり販
売不可S1
販売可能S2
購入指定e1
釣銭出力e2
T00
T01
T02
T10
T11
T12
T20
T21
T22
・終着状態が不明になるの
で,各関数の実行の最末
尾に行先状態番号を指定
する
状態遷移の実行
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
纏め
1.状態,状態遷移原因,状態遷移により
殆どの対象を振舞いを含め記述できる
2.見かけ上の入力は,下記の2者になる
動作の契機(イベント)と伴う情報
これを考えると,如何なる系でも
状態遷移ルートのプログラムで統一的に設計可能
3.状態遷移原因表で漏れなく仕様を決定可能
Object指向設計は,これらの実用的/不完全な実現
上記を充分に理解すれば,OO設計に有効
以下のページは参考
分析:初期段階
入力 I
投入金
処理/機能 P
XX
自動販売機
出力 O
合計金額表示
販売可能商品表示
合計
金額
を求
める
商品A ×
商品B ○
商品C ○
商品D ×
・ ・ ・ ・
分析:初期段階纏め
合計
金額
を求
める
データフロー図
フローチャート
入
口
1
合
計
金
額
を
求
め
る
合
計
金
額
を
表
示
す
る
合計
金額
以下
の商
品を
求め
る
出
口
1
商品無し
商品有り
販売
可能
商品
を表
示す
る
出
口
2
分析:後期段階
入力 I
購入商品指定
処理/機能 P
XX
自動販売機
出力 O
販売商品
釣銭
最大抽象点は何処か?
データフロー図
分析:後期段階
入力 I
処理/機能 P
XX
自動販売機
購入商品指定
出力 O
販売商品
釣銭
入力
処理/機能
購入
商品
指定
参照入力
販売可能
商品群
( List)
指定し た
商品が,
販売可能
商品( i) を
出力する .
出力
販売
商品
PAD
参照入力
合計
金額
合計金額から 商品
( i) の価格を 差引き
釣銭と し て出力する
釣銭
分析の纏め