150 likes | 253 Views
組込みシステムにおける 外部環境分析の提案. 九州工業大学大学院 情報工学研究科 情報科学専攻 金川 太俊、瀬戸 敏喜、鵜林 尚靖 ( 株 ) 東芝 ソフトウェア技術センター 鷲見 毅、平山 雅之. 研究の背景. 様々な環境で動作する組込みシステムは、置かれた環境に応じて動作する必要があり、分析者はシステムの動作環境で起こりうる異常動作を想定しなければならない システムの動作環境を分析する必要がある 本研究では、外部環境の影響により発生する異常動作を体系的に抽出する手法を提案する. 組込みシステムが受ける外部環境からの影響.
E N D
組込みシステムにおける外部環境分析の提案 九州工業大学大学院 情報工学研究科 情報科学専攻 金川 太俊、瀬戸 敏喜、鵜林 尚靖 (株)東芝 ソフトウェア技術センター 鷲見 毅、平山 雅之
研究の背景 • 様々な環境で動作する組込みシステムは、置かれた環境に応じて動作する必要があり、分析者はシステムの動作環境で起こりうる異常動作を想定しなければならない システムの動作環境を分析する必要がある • 本研究では、外部環境の影響により発生する異常動作を体系的に抽出する手法を提案する
組込みシステムが受ける外部環境からの影響 本研究では、センサとアクチュエータを用いて観測・制御を行い動作する組込みシステムを対象としている • 外部環境からの影響 • 制御対象に影響を与え、制御 結果を変化させる • 観測対象そのものに影響を与える これらを考慮して、異常動作の抽出を行う
ライントレーサによる具体例 コースアウトする例外系シナリオを考える コースアウト ユースケース:走行する(右エッジをトレース) 《正常系シナリオ》 光センサにより、直下部の反射光を観測し光センサ値がライン上を示すならば右旋回、ライン外を示すならば左旋回を行う ユースケース:走行する(右エッジをトレース) 《例外系シナリオ》 ? 思いつきに頼って要因を考えると、 必要の無いものまで考慮してしまう コースアウトの要因は、ハードウェアの故障?風?照明? フレーム問題
提案する手法の狙い • システムに影響を及ぼすオブジェクトを抽出したいが、思いつきで抽出していたらフレーム問題に陥る →抽出の基準を定めなければならない • システムの観測・制御対象に注目し、それらに影響を与える外部環境内のオブジェクトを抽出する →これらの集合をコンテキストと定義する
手法の位置づけ 本手法は、下図に示すように、要求分析終了後に使用されるよう位置づけられている.従って、システムの動作仕様や、ハードウェア仕様などは要求分析により既に明らかになっているものとする. eUMLなどの既存の開発プロセスに組み込んで使用することが出来る 要求分析 本提案手法 設計 例外系シナリオ 実装 テスト
4.例外系シナリオ作成 1.コンテキスト要素の抽出 今までの結果を用いて、例外系シナリオを作成する 「観測対象」、「制御対象」、それらに影響を与える「外部環境内のオブジェクト」を抽出する 2.コンテキストの状態分析 3.システムに対する制約の分析 システムの動作はコンテキストの状態によって決まる.その状態は各コンテキスト要素の状態を組み合わせたものである.そこで、それらの状態遷移を明確にする コンテキスト要素が、システム内部でどのように扱われているかを明確にし、そこから制約を導き出す 手法の概要 分析 分析結果の活用
Ⅱ 分析結果の活用 ユースケース:走行する(右エッジをトレース) 正常系シナリオ 「直下部の反射光:強」ならば左旋回、「直下部の反射光:弱」ならば右旋回 前提1 光センサ値>0x30⇒直下部の反射光:強 前提2 光センサ値<0x22⇒直下部の反射光:弱 前提3 環境光:弱 手法によって、環境光が「光量:弱」から「光量:強」に状態遷移したときのシステムへの影響も分析しているので、次のような例外シナリオが作成できる 手法により新たに抽出 前提3を逸脱した場合:環境光:強 →直下部の反射光が影響を受け、直下部の反射光:弱のときに直下部の反射光:強の処理を行なってしまう.つまりライントレーサがライン上にあるにもかかわらず、ライン外のときの処理が行なわれる
抽出した例外系シナリオ 外乱による転倒 環境光によって直下部の反射光の光量が変化する ラインの勾配によりライントレーサの速度が変化する 分析者の思いつきによる抽出 ラインの曲率がライントレーサの走行可能範囲を超える 手法による抽出 分析時に抽出 ラインの曲率は走行可能範囲であっても事前のステアリングの角度により転倒する テスト時に抽出 テストによる抽出
まとめ 手法適用による期待効果 • オブジェクト抽出の基準を定めるため、フレーム問題に陥ることが無い • 例外系シナリオ作成までのプロセスを提供する 今後の課題 • 抽出にノウハウが必要である例外系シナリオに関しては、ノウハウデータベースを蓄積しなければならない
コンテキスト要素の抽出 <<観測対象>> <<制御対象>> 直下部の反射光 ステアリング方向 それぞれの保持している値に注目 光量[連続量] 方向[右|左] その値を変化させるものを抽出 環境光 外部環境内オブジェクト クラス図にまとめる
コンテキストの状態分析 環境光考慮前 環境光を考慮して遷移条件を見直す 環境光考慮後
システムに対する制約の分析 システムでの内部表現の明確化 システムがコンテキスト要素の状態をどのように把握しているかを明確にする
例外系シナリオ作成 ユースケース:走行する(右エッジをトレース) 正常系シナリオ 「直下部の反射光:強」ならば左旋回、「直下部の反射光:弱」ならば右旋回 前提1 光センサ値>0x30⇒直下部の反射光:強 前提2 光センサ値<0x22⇒直下部の反射光:弱 前提3 環境光:弱 ユースケース記述に、 前提条件を追記 (正常系シナリオでは環境光からの強い影響は無いものとしているので「弱」となる) これらの前提を逸脱するケースを考える 「環境光:強」のときは? 直下部の反射光:強になり、システムは車体がライン上にあろうとなかろうと左旋回を行う
質問、指摘された点 • 外部環境の定義 • 外部環境をモデリングしたとは言えないはず • 状態分析の意義 • 無くてもいいのでは? • この手法を使えば本当に網羅できるのか?