ディペンダブル組込みシステムのためのコンテキスト分析手法

Slides:



Advertisements
Similar presentations
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
Advertisements

Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太.
紹介担当: 石尾 隆(大阪大学) Q11.  Feature Model によって定義される「プロダクトの集合」 (プロダクトライン)の振舞いを検証する手法の拡張 ◦ 通常の振舞い検証: たとえば Promela を使って,1プロダクトの 振舞いを表現したオートマトンの取りうる状態遷移を調べる ◦
OWL-Sを用いたWebアプリケーションの検査と生成
メタモデル記述を用いた成果物間の依存関係追跡手法
システム開発におけるユーザ要求の 明示的表現に関する一検討
モデル検査の応用 徳田研究室 西村太一.
シーケンス図の生成のための実行履歴圧縮手法
相互作用図 FM11010 田中健太.
東京工科大学 コンピュータサイエンス 亀田弘之
1.基礎概念 1.1 ディペンダブルなシステムとは Dependability Fault Avoidance
リアルタイムシステムに 上流設計ツールは有効か?
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
OJT研修 「テスト実施、テスト設計の技術習得」 日時: 8月22日(月)  場所: 本社5階.
Chapter5 ステートチャート図 FM 于 聡.
SSR 論文調査 Safety and Cyber-Physical Systems
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
     年  月  日 名前 太郎 1 班.
Observable modified Condition/Decision coverage
SS2009 形式手法の適用ワーキング グループの報告
CSP記述によるモデル設計と ツールによる検証
PIC制御による赤外線障害物 自動回避走行車
ネストした仮想化を用いた VMの安全な帯域外リモート管理
オープンソフトウェア利用促進事業 第3回OSSモデルカリキュラム導入実証
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
UML入門 UML PRESS vol.1 より 時松誠治 2003年5月19日.
動的スライスを用いたバグ修正前後の実行系列の差分検出手法の提案
UMLとは           032234 田邊祐司.
チーム FSEL 立命館大学情報理工学部 ソフトウェア基礎技術研究室
ソフトウェア工学 第五回 知能情報学部 新田直也.
型付きアセンブリ言語を用いた安全なカーネル拡張
「コンピュータと情報システム」 10章 システムの運用と管理
協調機械システム論 ( ,本郷) 協調機械システム論 東京大学 人工物工学研究センター 淺間 一.
静的情報と動的情報を用いた プログラムスライス計算法
・コンピュータのアナログデータの 扱いについて ・制御
製造準備段階における 工程FMEAの実施と不具合未然防止
UMLメタモデルの変更に対応した ダイアグラム間整合性検証環境の 自動生成手法
その他の図 Chapter 7.
組込みシステムの外部環境分析のためのUMLプロファイル
「iQUAVIS」 によるハード・ソフトの 横断的な構想検討
UMLの概要とオブジ工クト指向の基本概念 第2回
第9章 Error and Control Messages (ICMP)
5 テスト技術 5.1 テストとは LISのテスト 故障診断 fault diagnosis 故障解析 fault analysis
インラインスクリプトに対するデータフロー 解析を用いた XHTML 文書の構文検証
動的スライスを用いたバグ修正前後の実行系列の差分検出手法
実行時情報に基づく OSカーネルのコンフィグ最小化
組込みシステムの外部環境に 着目した動作仕様検証
社会シミュレーションのための モデル作成環境
     年  月  日 名前 太郎 1 班.
     年  月  日 名前 太郎 x 班.
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
GPSを使わないBebop Droneの 自動飛行
電機情報工学専門実験 6. 強化学習シミュレーション
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
UMLの概要とオブジェクト指向の基本概念
第一回 情報セキュリティ 05A1027 後藤航太.
モデル検査(5) CTLモデル検査アルゴリズム
障 害 処 理 票 レ トラブル分類 1 設計バグ 2 製造バグ 3 改造バグ 4 DB、OSバグ 5 環境、HWバグ 6 手順バグ
環境モデリングによるモデル検査スクリプトの自動生成
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
INTRODUCTION TO SOFTWARE ENGINEERING
設計情報の再利用を目的とした UML図の自動推薦ツール
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
コンテキストベース・プロダクトライン開発とVDM++の適用
メソッドの同時更新履歴を用いたクラスの機能別分類法
動的スライスを用いたバグ修正前後の実行系列の差分検出手法の提案
動的スライスを用いたバグ修正前後の実行系列の差分検出手法の提案
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
アルゴリズム ~すべてのプログラムの基礎~.
Presentation transcript:

ディペンダブル組込みシステムのためのコンテキスト分析手法 九州工業大学 瀬戸敏喜

組込みシステムの特徴 組込みシステムは外部環境から影響を受け、異常動作をとることが多く見られる これは,システムが不具合を起こしやすいことを示しており,信頼性の面で問題があると考えられる 《Sensor》 光センサ 外乱 ラインの 反射光 環境光 例:ライントレーサロボット

外部環境分析の必要性 要求分析終了時にシステムと外部環境との関係を分析する工程を置く 下流工程へ外部環境を考慮した出力を送ることができる 上流工程 要求分析 下流工程へ外部環境を考慮した出力を送ることができる →外部環境に起因する不具合を減らすことによって信頼性向上を図る 外部環境分析 設計 出力 下流工程 外部環境を分析するための手法として CAMEmb(A Context Analysis Method for Embedded Systems)を提案 実装 テスト

本手法の要点 システムにとって本質的には不要な要素による影響の分析 システムによるコンテキストの観測経路,制御経路のモデル化による影響要素の発見 システムが扱いたい情報とハードウェアによって実際に扱えるもののギャップを表現 影響要素によってシステムの動作がどう変わるかを形式手法によって検査

本手法で扱う ディペンダブルに関する関心事 システムの持つ性質による分類 可用性(Availability) 信頼性(Reliability) 安全性(Safety) 完全性(Integrity) 保守性(Maintainability) セキュリティ その他(???) システムへの脅威による分類 失敗(Failure) 過誤(Error) 欠陥(Fault) 攻撃(Attack) システムを作る手段による分類 欠陥防止(Fault Prevention) 耐故障性(Fault Tolerance) 欠陥除去(Fault Removal) 欠陥予測(Fault Forecasting) 反撃(Counter Attack) その他(???) 赤字および太字が対象となる関心事

関心事に対する解決策 ディペンダブルの関心事のモデル化 性質の保証 ディペンダブルの関心事と他の要素との関連 モデルの活用

例題仕様: 障害物分岐対応ライントレーサ ■ライントレーサ: ドライブモータにより速度制御 ステアモータにより進行方向制御 ■ライントレーサの走行経路: ラインに沿って走行 実線 障害物 分岐,合流 ■障害物検知によるルート選択: 障害物のないルートを選択

コンテキストのモデル化 静的モデルの特徴 動的モデルの特徴 通常は属性として記述されるような項目をクラスとして記述する システムの動作に影響する情報の関連がわかりやすくなる UMLプロファイルを用いてクラス間の関連をいくつかの種類に分類している 動的モデルの特徴 静的モデルから特定の要素を選択し,その状態遷移を記述する

コンテキストの静的モデル図

システムのコンテキスト観測経路 ■青矢印:システムの本来の観測経路 ■青枠:システムの本来の観測対象

システムの観測に対する影響経路 ■赤矢印:システム本来の観測を阻害する影響経路 ■赤枠:システム本来の観測を阻害する影響要素

コンテキストの情報源 ■黄矢印:観測対象から情報源への経路 ■黄枠:観測対象の情報源

コンテキストの静的モデル図

コンテキストの動的モデル

モデルの活用: 形式手法を用いた検査 コンテキストモデルの妥当性検査 システムの動作仕様検査 コンテキストには満たすべき性質が存在 モデルが性質を満たしているか構造面から検査 Alloy Analyzer システムの動作仕様検査 コンテキストに対応したシステム仕様を探索する必要 コンテキスト上でのシステム仕様テストによる試行を繰り返す VDM-Tools + Alloy Analyzer 作成した仕様の動作を網羅的に検査 コンテキスト上でのシステム動作の網羅検証 SPIN

モデルの活用: 形式手法を用いた検査 コンテキストモデルの妥当性検査 システムの動作仕様検査 コンテキストには満たすべき性質が存在 モデルが性質を満たしているか構造面から検査 Alloy Analyzer システムの動作仕様検査 コンテキストに対応したシステム仕様を探索する必要 コンテキスト上でのシステム仕様テストによる試行を繰り返す VDM-Tools + Alloy Analyzer 作成した仕様の動作を網羅的に検査 コンテキスト上でのシステム動作の網羅検証 SPIN

システムモデル

網羅検証 システムと外部環境の状態の組み合わせを網羅する 不具合が潜在する組み合わせがないか検査する 【コメント】 網羅的な検証を行う意義について、以下の様な説明をすると良いと思います。  VDMによるテスト実行は、どちらかというと機能を断片的に検証していると言える。  従って、外部環境の状態によっては、検証漏れとなっているケースが無いとは言えない。  ⇒SPINによる網羅的な検証によって、その点(網羅性)を補う。 振舞いを検証 自動で網羅的検査を行うことができる、 SPINを用いる

システムモデル+外部環境モデル 各状態遷移図をPromeraで記述する システムモデル 外部環境動的モデル ※システムモデル、外部環境モデル共にCAMEmbモデリング工程にて作成済み

状態遷移図を全てPromeraで記述し、SPINで振舞検証を行う システムモデル+外部環境モデル 状態モデルをPromeraで記述 SPIN 振舞いをSPINで検証する

LTLによる時相論理に基づく検証 システムが動作する上で守られなくてはならない制約をLTLで記述する ライントレーサ動作上の制約 障害物が存在する場合、システムは左にステアリングを切る これをLTLで記述すると以下のようになる []((障害物:有) -> <>ステアモータ:左) 障害物:有ならば、いつかはステアモータ:左となることが常に守られる 制約が常に守られるか確認(信頼性,安全性検査)

SPIN検証結果 ライン検出→右ステア 障害物検出→左ステア システムが上記の二つの挙動をとりうるとき、 「ライン検出→右ステア」 が常に優先された場合、左ステアが実行されることは無い システムモデルにはエラーが潜在していた!

SPIN検証結果 ■ライントレーサ ■ライントレーサの走行経路 ■本来進むべき経路 ■誤動作により障害物に衝突 →信頼性,安全性に問題あり  →信頼性,安全性に問題あり 実線 障害物 ■障害物検知によるルート選択: ライン追跡動作が優先され右ルートへ向かう 分岐,合流

システムモデルの修正 対策例 ライン追跡動作よりも障害物回避を優先する設定の追加 具体的には:ガード条件の付加 「ライン検出→右ステア」の際、[障害物:無]というガード条件を付加する これにより「障害物検出→左ステア」の実行を保証することができる

まとめ モデリング工程により,システムへの脅威である失敗(Failure)の原因となる要素を発見し,モデル化する 形式手法による検査工程により,前述の失敗(Failure)により起こりうる欠陥を予測(Fault Forecasting)し,対策を講じることでそれを防止(Fault Prevention)する CAMEmbでは,上記の方法でシステムの信頼性(Reliability)や安全性(Safety)の向上を図る