線形拘束オートマトンを用いた組込みソフトウェアの仕様記述に関する考察
4
0
0
全文
(2) 順位がある特性). ボタン処理機械の状態遷移図. 外部の状態に依存した特性の具体例としてエレベータの. ボタン処理機械を階層化して記述する.ボタン処理機械. 制御ソフトウェアを,入力に優先順位がある特性の具体. は,一つのテープに対し検索や追加などの複数の書き換. 例として携帯電話のモード制御ソフトウェアを題材とす. え動作を行わなくてはいけない.構造を整理するために. る.これらを LBA を用いてモデル化する.. ボタン処理機械を階層化する.ボタン処理機械は階層の. 3.1 エレベータのモデル化. 親の状態遷移機械がその子となる状態遷移機械 (内部の. エレベータの構成要素と各構成要素の役割を 表 1 に示. 状態遷移機械と呼ぶ) を自分自身の状態遷移図の一部と. す.扉はエレベータリフトの動作に影響を与えないので. して持っている.親の状態遷移機械が内部の状態遷移機. 省略する.. 械を持つ状態に遷移することで,内部の状態遷移機械が 動作を開始する.親の状態遷移機械の状態遷移図を図 2. 表 1: 構成要素とその役割 .
(3)
(4)
(5) !
(6) \
(7) ^]`_ (a ) "
(8) $#. b/g!h 0 $ijk+.LM %&')( * !
(9) ,+.-0/213542678+.9 :;=<?>6=@ *A 7=BDCE ;!<DF G /$HI ;=< J+.EK0/$LM ;=< N /OP=<QR STU >=/VI ;=<W !
(10) b?c ) /$_ (a ) def 4$;=<W
(11) ) X+DYZ/2[I ;=<. に示す.. で表現すると複雑になるので,構成要素ごとに状態遷移 機械で表現する.構成要素をクラス図で表現し,図 1 に .
(12) 1 cd ef*l*m Z[ 3 cd ef*l*m Z[ e#f* 56 gh cdji*k 1&OP $% ('*) 3 OP $% ('*) .#"$% ('*) 1&OPQSR 3 OPQSR . o_p. (. :int) ( (. (). ( (. ( ( ( :int) :int). D EJKLNM $&% ]\^ 1&OPQSR 3 OPQSR .#"T*U 1&OP T*U 3 OP T*U 1*2&VWXSY Z*[ 34 VWXSY Z*[ 1. & _ a`Nb LNM Z*c[ d
(13) a ef* 576 gh c7dji*k !#"$&% ('*) (). :int). ( (. 1. ,+.-0/ 1*2 34 576 8*9 1. () () () (). *,+.- (). ?A@CB D :.;=<&> 1..n. (). LBA の読み書きテープの概要 ボタン処理機械の読み書きテープの概要を以下に示す. • LBA の読み書きテープ内にあらかじめ,左から. 意味する. ボタン処理機械の読み書きテープの概略図を図 3 に. 1..n. GFIH D 3 $&% :.;=<E> 1 $&% :.;=<E>. :int) :int) :int) :int) :int). ( ( ( ( (. ( :int) (). (). (. /. %$'( ). • LBA の読み書きテープ内には,各ボタンが ON または,OFF であるかを記憶する.テープ上の -i は OFF であることを,i は ON であることを. 1. :int) :int) :int). 1. 1. (). &%'end/ (). り記号,下呼出ボタンの順に配置しておく. :int) :int). (). . end/. ! . 上呼出ボタン,区切り記号,行き先ボタン,区切. (). 1..n-1. end/. $! #" / under/ equal/
(14) *,+.- () /. notFound/. 図 2: ボタン処理機械の状態遷移図. エレベータ制御ソフトウェア全体を一つの状態遷移機械. n=. 01 2 3. notFound/. %$'/(). 状態遷移機械の概要. 示す.. #" / over/ equal/
(15) %$'/() /. . 示す.. () (). n=. 1. ) * "! #$&% "! '( "! . :int) :int). 1&OP $% :!;=<E> 1. (). 3 O P $&% :.;n<E> 1. (). -1. .
(16) +,&-/. 01/2. . -n. A. -1. *# &% (54 3 67867: 9<;*=. . -n. B. -1. . -n. $. # (54 3 '(67
(17) *>%8 67: 9<;=. 図 1: エレベータ制御ソフトウェアのクラス図. 図 3: ボタン処理機械の読み書きテープの概略図. リフトは,移動の方向や現在階などの動作状況と使用者. 内部の状態遷移機械を LBA を用いて記述する.以下に. が押したボタンをもとに動作するので,入力されたボタ. 内部の状態遷移機械である上昇時ボタン検索,行き先追. ンを記憶する必要がある.この記憶はボタン処理機械で. 加について説明する.外呼出追加は行き先追加とほぼ同. 行う.ボタン処理機械は階層化され,親の状態遷移機械. 様に考えることができるので省略する.. を DFA,子となる状態遷移機械を LBA を用いて記述す. 上昇時ボタン検索. る.ボタン処理機械以外は DFA を用いて記述した.表. 上昇時ボタン検索は,外部からリフトの現在位置を受け. 2 に構成要素と状態遷移機械の名前とオートマトンの対. 取り,現在位置より一つ上の階の値がテープにあるか. 応を示す.. を検索する.読み書きヘッドの動作の概略を以下に示. 表 2: 構成要素と状態遷移機械の名前とオートマトンの対応
(18) 4 5768# ,- ! ! DFA
(19) DFA 9 LBA ! ! #"$
(20) DFA ,- %.& %'& DFA ( ) /10'2 ) DFA : )5;=< (> ) < (> ) ?@ ) DFA 3 * #+ * #+ DFA. す.仮想エレベータから受け取る値を a とし,返す値を. equal,notFound,over とする.over は現在階より上 の階の値があることを示す. 1. テープの中を左から見ていき,行き先ボタンか上 呼出ボタンのどちらかで a と同じ値が記憶されて いるかを検索する..
(21) 2. a を発見したら,テープの中の a と同じ階の値を 全て削除し,equal を返す. 3. a を発見できなかったら,a よりさらに上の階の. /. I. ON/ ON. X X,R / X=OFF. /. q0. /. /. X X,L / notFound (X=ON). X X,L / X (X=ON). 4. 発見したら over を返す. 5. 発見できなかったら,下呼出ボタンで a または a. /. I. I. 値を検索し直す.. 5
(22) .,6 75 5
(23) .,6 7 75 09 7 09;:: =?=?>> *< ..- *< A@B A@B A@B +@AB @B A@B #*C C ,!,! --.. * */3/30101 22 @@BB 58
(24) #6 (7@)B@B 8 5
(25) 6 (*@ )B7 @B 7 Q& RT7 SVU. O&P. /. /. /. /. notFound/. q1. #*+"?$
(26) 5
(27) 6 7
(28) G
(29) H E F M&N. より上の階の値を検索する.. ON/. /. q0. /. I. /. /. I. X X,R / (X=OFF). X OFF,L / end (X=ON). /. /. q1. ON/. ON/. end/. 外部から押されたボタンの値を受け取り,押されている. /. /. /. 行き先追加. K&L. ON/. end/. ,!-. */3012D
(30) # () EF 8
(31) 7 &. /. 6. 発見できなかったら,notFound を返す.. < .
(32)
(33)
(34)
(35)
(36)
(37)
(38) !#"%$# & ' ,+,+ -*-*.. ! #"/1%03$#24 & & ' ' (* )+/1 03 &24 ' & ' (*)+ & ' 58 5 66 7
(39) 7
(40)
(41)
(42) 8 7 7 & & ' '. ON/. q0. I. q1. X ON,L / end (X=a). IJ. X X,R / (X a). ことを記憶する.行き先追加の動作の概略を以下に示 す.追加するボタンの値を a とする. 1. テープの中を左から見ていき,a 階のボタンの情. 図 4: モード記憶機械の状態遷移図 +. 報を記憶する区画までへッドを動かす.. . 2. すでに a が記憶されていたときは,なにもしな いで終了する.記憶されていないときは OFF を ON に書き換え,終了する.. OFF. ,. %'&"(*). . OFF. OFF.
(43) . "! OFF. OFF. OFF. . OFF. "! # $ -./10 2314. 3.2 携帯電話のモード制御部分のモデル化. 図 5: モード記憶機械の読み書きテープの概略図. 携帯電話のモード制御ソフトウェア全体を構成要素ごと. 図 4 に示されている,内部の状態遷移機械である検索の. に状態遷移機械で表現する.携帯電話は,あるモード中. 読み書きヘッドの動作の概略を以下に示す.追加・削除. に優先順位の高いモードのイベントが起こった場合,現. は省略する.. 在のモードを後から復帰させるために記憶する必要があ. 検索. る.モード記憶機械は 3.1 節のボタン処理機械と同様. 記憶したモードの中から優先順位が最も高いモードを検. に階層化する.本節では,ボタンが押されると同時に各. 索する.. モードに遷移する携帯電話を考える.以下に構成要素を. 1. テープの中を左から順に見ていき,ON になって. 示し,役割と状態遷移機械とオートマトンの対応を表 3. いるモードがないか検索する.. に示す. 表 3: 構成要素と役割と状態遷移機械とオートマトンの対応
(44) 65+87 93:<;>=? HJIKLMN OP MN Q
(45) " "R> +VVWR>! X P R> 5
(46) J[!R1! B\ R>! 5+]!^
(47)
(48) R>. !"#$&%('*)+#
(49) ,.-/1032(4 -%(/ V,1(w.!|+0* 4 s(!y
(50) e%
(51) YpW
(52) 3%(3<%!, @A!B+C %(DEFG4 +V5
(53) J[| BC ,(032
(54) y HJI +#8e4 5
(55) <[| B+C , O Z&VZ2U4 cdps(!y3,.kt32(4 +"3,<S+T032U4 +VV,<S+T032U4 BC ,UY1Z2U4 5
(56) J[+lmUnpo
(57) ,<S+T!0>2U4 a>,iq1rs(t32(4
(58) uvxwwUy(z{| @A!B+C % B\ ,~}!32(4 Q ?;J_` @A!B+C %Uab
(59) cd#$e'*)+#Ufg ,ihkj64. ¢¡£~ -/ DFA DFA ¤ LBA 9>:<;>=V? DFA H<IKLMN DFA OP MN DFA Q " DFA R>. DFA. モード記憶機械の状態遷移図 モード記憶機械を階層化し,内部の状態遷移図に LBA を適用する.モード記憶機械の状態遷移図を図 4 に 示す.. LBA の読み書きテープの概要 モード記憶機械の読み書きテープの概要を以下に示す.. • LBA の読み書きテープ内にあらかじめ,左から 優先順位の高いモード順に配置しておく.. • LBA の読み書きテープ内には,各モードがON または,OFFであるかを記憶する.. 2. ON になっているモードを発見したらそのモード を返す.. 4 考察 本節では LBA 適用の妥当性,LBA を用いた組込みソ フトウェアのモデル化について考察する.. 4.1. LBA 適用の妥当性. 従来では,エレベータのスケジューリングの部分まで, 状態遷移機械で表現されていなかった.厳密に定義さ れていなく,あいまいさがあった.我々はエレベータの スケジューリングに記述能力の高い LBA を用いること で,あいまいさのない記述が可能となった. 最 初 に 我 々 は エ レ ベ ー タ を DFA で 記 述 し よ う と 試 みた.DFA は押されたボタンを状態で記憶する必要 がある.エレベータの中ボタンの押される組合せの. Pn. = 階 数) で 表 す こ と が で き る .同 Pn−1 様に上 (下) 呼出ボタンの組合せ数は n−1 Ci と Pi=0 n 表せる.したがってボタンの組合せは i=0 n−1 Ci × ³P ´2 n−1 になり,状態数は膨大になる. i=0 n−1 Ci 数は. i=0 n Ci (n. モード記憶機械の読み書きテープの概略図を図 5 に. PDA を用いてエレベータのモデル化を試みた.記憶の. 示す.. 操作の仕方が後入れ先出しに限定される.記憶を自由.
(60) のスタックに記憶すればよい.これは PDA の定義に反. • 各リフトの位置を記憶するエレベータ群制御機械 エレベータ群制御機械は以下のような特性があるので,. する.. 外部の状態に依存した特性の組込みソフトウェアに分類. 本研究では LBA を適用することで状態数を減少させる. される. • 複数基のエレベータの個々の位置,リフトの方. に参照するためには,スタックから取り出した値を別. ことができ,状態遷移機械で記述することが可能になっ. 向を記憶し,その記憶を任意に参照する必要が. た.さらに階数の変更を行ってもテープの区画数を階数 分だけ用意すれば,状態遷移図は変わらない.. 4.2 LBA を用いた組込みソフトウェアのモデル化 入力の記憶を必要とする組込みソフトウェアに,我々の. ある.. • 呼出しボタンが押された時に複数基のエレベータ の中から適切なエレベータを動作させる必要が. 提案する LBA の適用手順を用いることで系統的な記述. ある. テープにあらかじめ記憶の必要がある入力の分だけ区画. が可能になると考える.以下に適用手順を示す.. を用意し,エレベータの ID・階・方向の配置を決める.. 1. 組込みソフトウェアを一つの状態遷移機械で記述. ID が A のエレベータが上向き 2 階にあり,ID が B の. すると複雑になるので,構成要素に分割しそれぞ. エレベータが下向き 3 から 2 階間にあるときのテープ. れを状態遷移機械で記述する.. の概略図を図 6 に示す. ! "! $A0%1"' 2(35)d4 *e,5ID.. 2. 記憶あり入力に LBA を適用する. 3. 記憶された入力記号列に対して検索,追加や削除 など複数の異なる動作を行わなくてはいけない. 構造を整理するために状態遷移機械を階層化す る.親の状態遷移機械を DFA で,内部の状態遷 移機械を LBA でモデル化する.. 6 ! 071823/4 !9:;!=<5>@? $A%'. ID B. .
(61) . 1. U D OFF OFF. 2. U D ON OFF. 3. U D OFF OFF. #$&%' ()+*-,/.. 5. 親の状態遷移機械と内部の状態遷移機械の状態遷. 1. U D OFF OFF. 2. U D OFF OFF. 3. U D OFF ON. 図 6: エレベータ群制御機械の読み書きテープの概略図. テープ内の配置を図 6 のように考えることで,複数基 のリフトの個々の現在階・方向を記憶することが可能と. 移図を記述する.. 6. 親の状態遷移機械が状態遷移機械間のイベント通. なった.LBA の適用手順にしたがってモデル化するこ とにより系統的に記述することが可能になった.. 信を行う. 外部の状態に依存した特性・入力に優先順位がある特性. 5 おわりに. を持つ組込みソフトウェアへの LBA の適用が有効であ. 本研究では LBA を用いてエレベータと携帯電話の組込. る.特性と具体例と LBA のテープの初期配置の対応を. みソフトウェアを系統的に記述することが可能であるこ. 表 4 に示す. . とを確認できた.. 表 4: 特性と具体例と LBA のテープの初期配置の対応. . . ;=1&?>Q?@ H "X7 K L u vZ wX x${. . BC E ! 2 F 1F G *-HI 2FJ5K !MLN D #=@ PQ ? $A%S"!RA=T <5U > P $&%'Z[ DD W07 V 3182XZ6/3/Y O54=! ^ZON _ F N]` =\ ON Fab ^ ` ?c D U F H P $A%SR8\ D FK $A%'][. 4. テープにあらかじめ記憶の必要がある入力の分だ け区画を用意し,配置を決める.. . +& 4$5&7689: <;"='&?>@2ACBDFE?G$HI-"J1&?KL1MONP2QSRTU WOX &IKa"LYbFE7MG[ceZOd\1QI&7H9UY:]A+MOf7^`g$_$cIZhjikBl1MOm[nZ
(62) <V KL o Ap+a"b'&?q W KL1M?rs&4$5ept'n$Z <KL X?uvwx MOy1zIg uvwx{| U`}&$Me4 5&7~`
(63) 9:$T[Z "!$#%'&(*) +, 4$5 X KL`&I FMBD,QIH"U&+p+KL`& ONg -.-/+01&(2)3 OFF MBD]E?[Z <KL&Ia"bFMcedQIHUYA+f7g$cIhjikBl1MOm[nZ o Ap+a"b'&?q W KL1M?rs&4$5ept'n$Z. 今後の課題は,本研究の方法を他の組み込みソフトウェ アに適用し,その有用性を検証することである.. LBA. エレベータ群制御機械ヘの LBA の適用. 謝辞 本研究を進めるにあたり,二年間御指導いただいた野呂 昌満教授,有益なアドバイスをいただいた張漢明助教 授,貴重な時間をさいて数多くのミーティングをして下 さった蜂巣吉成講師,大学院生の熊崎敦司さん,藤原泰 昌さん,森貴彦さん,後藤修平さんに深く感謝致します.. 複数基のエレベータを制御するエレベータ群制御機械を 考える.3.1 節のエレベータのモデル化では,一基のエ. 参考文献. レベータを考えた.エレベータを複数基動作させるとき. [1] A.サローマ,野崎昭弘,町田元,山田秀記,横森貴: 計算論とオートマトン理論, サイエンス社 (1988).. 全てのリフトの現在位置を覚えておく必要がある.エレ ベータ群制御ソフトウェアを考えるとき,以下の 2 つの 状態遷移機械に LBA を適用する必要があると考える.. • ボタンの入力を記憶しておくボタン処理機械. [2] 富田悦司,横森貴: オートマトン・言語理論, 森北 出版株式会社 (1992)..
(64)
関連したドキュメント
2010年小委員会は、第9.4条(旧第9.3条)で適用される秘匿特権の決定に関する 拘束力のない追加ガイダンスを提供した(そして、
これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,
(採択) 」と「先生が励ましの声をかけてくれなかった(削除) 」 )と判断した項目を削除すること で計 83
タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.
被保険者証等の記号及び番号を記載すること。 なお、記号と番号の間にスペース「・」又は「-」を挿入すること。
脅威検出 悪意のある操作や不正な動作を継続的にモニタリングす る脅威検出サービスを導入しています。アカウント侵害の
これらの設備の正常な動作をさせるためには、機器相互間の干渉や電波などの障害に対す
利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)