自律分散型道路交通システムを対象としたゴール指向要求分析手法  C-KAOS

Preview:

DESCRIPTION

自律分散型道路交通システムを対象としたゴール指向要求分析手法  C-KAOS. 九州工業大学大学院 ○ 野村潤 成瀬龍人 外村慶二 鵜林尚靖 株式会社デンソー 司代尊裕 岩井明史. 概要. 研究内容 ITS を用いた予防安全のための要求分析 ITS ( Intelligent Transport Systems )  渋滞、事故、環境問題を情報通信により解決 ・ 車車間通信:車載システム同士の協調  ・ 路車間通信:路上インフラと車載システムの協調. 分割. 分析の難しさ   ・自律性:交通状況に応じて振る舞いが変わる  → 発生する状況が多い - PowerPoint PPT Presentation

Citation preview

自律分散型道路交通システムを対象としたゴール指向要求分析手法  C-KAOS

九州工業大学大学院○野村潤 成瀬龍人 外村慶二 鵜林尚靖

株式会社デンソー司代尊裕 岩井明史

1/25

概要研究内容  ITSを用いた予防安全のための要求分析

ITS( Intelligent Transport Systems) 渋滞、事故、環境問題を情報通信により解決 ・ 車車間通信:車載システム同士の協調 ・ 路車間通信:路上インフラと車載システムの協調

・・・

分割

合成 提案手法  C-KAOS( Component-based KAOS) ・ 構成要素ごとにゴールモデル構築 ・ シナリオベースに合成⇒分析の容易化

分析の難しさ  ・自律性:交通状況に応じて振る舞いが変わる    →発生する状況が多い ・分散性:様々なシステムが協調し合い事故を防止   →相互作用が多い⇒網羅的な分析が難しい(複雑化、巨大化)

信号無視防止車線変更時衝突防止

2/25

目次

1. 分析モデル構築の問題

2. C-KAOS

3. 記述例

4. まとめと今後の問題

3/25

1.分析モデル構築の問題

4/25

KAOS

KAOS( Knowledge Acquisition in autOmated Specification)・ある要求を階層的に分解してゆき、要求を達成するための要件を抽出する

・機能要件の抽出、トレードオフの明確化、形式検証に主に役立つ

・・・

Why

What

Who

要件 エージェント

ゴール

・・・

AND分解 OR分解

KAOSを用いた理由1. 機能要件、衝突、検証が狙い2. 理解し易い3. アクタを考えずに済む

5/25

事故が起こっていない

対物距離を適度に保っている

交通規則を守っている

車間を適度に保っている

制限速度を守っている

信号を守っている

停止線を守っている

車線に沿って走行している

夜間ヘッドライトを付けて

進行方向に障害物がない

前方車両との車間が適切

後方車両との車間が適切

運転手がよそ見をしてない

左右の車との車間が適切

信号機を運転手が見ている

信号機が物に隠れていない

ランプを点灯している

切替規則が定義してある

信号機が設置してある

表示色が伝わっている

ランプが壊れていない

前方車両の速度に合わせて走行している

KAOSモデル構築の問題ITS 開発では以下を踏まえた分析が必要 自律性(自己適応)   ・発生する状況   ・振る舞いの変化 分散性   ・相互作用   ・トレードオフ

影響を与えるものが多い

環境によって依存関係が変化する

距離が狭いときに速度を上げない

距離が広いときに速度を落とさない

距離が適切なときに速度を上げ下げしな

環境によって振る舞いが変化する

網羅的に表現することが困難

6/25

2. C-KAOS( Component-based KAOS)

7/25

C-KAOS

アプローチ 分割統治の考え方を KAOSに適用  ・ステークホルダー毎にモデル作成

  ・シナリオベースにモデルを合成⇒大きな問題領域をゴールモデルの

組み合わせで表現

  KAOSを拡張 ・属性の付加 ・合成規則の定義 車のゴール

ドライバーのゴール

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

道路上の情報を得る

情報をドライバーへ伝え

操作命令に従う

表示色を車に伝える

表示中の色を知る

車の存在を知る

情報を送信する

停止線の存在を知らせる

車の存在を知る

停止線の存在を送信する

停止線のゴール

信号のゴール

目的地に着く

その他事故を起こさない

information information分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成8/25

分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成

ステークホルダーの定義「問題領域内で振る舞いを起こすもの

 また、振る舞いに制約を与えるもの」

※ 依存関係は組み合わせで表現する ⇒関係を含まないように切り分ける

シナリオ)赤信号時に車両を交差点内に進入させない

1.シナリオの作成

2.ステークホルダーの抽出

9/25

分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成

ステークホルダー毎のモデル作成 ・他のステークホルダーの要求を含まない  例)車両はゴール「信号を守る」を持たない    信号機の「信号を守らせる」というゴール

⇒複数の視点を含まないようにモデルを作成

表示色を車に伝える

信号の色を守らせる

表示に従わない車に操作支援を行う

表示に沿わない行動をとろうとしている車に警告

する

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

事故を起こさない

操作命令に従う

10/25

分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成ゴールへの属性の付加 動作、対象、説明を抽象化したもの  例)車の存在を知る    → V: sense, O: object, C: external⇒ゴールモデルの合成に用いる

リンクへの属性の付加 アクティブになる条件と状態名を付加  例)車両が信号機の影響範囲に入ったとき     信号機があることを伝える   → P: information, T:影響範囲に入った⇒環境に応じた要求の変化を表現

-V : VERB(動作)-O : OBJECT(動作の対象)-C : COMPLEMENT(対象の説明)

-P : PHASE( ACTIVEになる状況名)

-T : TRIGGER( ACTIVEになる条件)

表示色を車に伝える

表示中の色を知る

車の存在を知る

情報を送信する

-V : sense, send-O : state, object, message-C : internal, external

-V : sense-O : state-C : internal

-V : sense-O : object-C : external

-V : send-O : message-C : external

-P : information-T : 影響範囲に入った

信号の色を守らせる

-V : sense, send-O : state, object, message, command-C : internal, external

種類V : sense, send, output, receive, know, actO : message, state, object, command,C : internal, external,

P : information, warning, operation11/25

分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成1. 名称による合成2. 属性による合成

名称による合成 ・ 同じ名称のゴールを一つにまとめる  ⇒属性を付加し辛いゴールの合成に利用

目的地に着く

その他事故を起こさない

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

事故を起こさない

操作命令に従う

上位

下位

目的地に着く

その他事故を起こさない

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

操作命令に従う 12/25

分析ステップ1. シナリオの作成2. ステークホルダーの抽出3. ステークホルダー毎のモデル作成

4. モデルの合成1. 名称による合成2. 属性による合成

属性による合成  ・ send 属性の親ゴールを  receive 属性のゴールと繋ぐ (条件:対象 O、説明 Cが等しい)

-V : receive, output-O : message-C : external

-V : receive-O : message-C : external

-V : output-O : message-C : external

-V : sense, send-O : state, object, message-C : internal, external

-V : sense-O : state-C : internal

-V : sense-O : object-C : external

-V : send-O : message-C : external

-V : receive, output-O : message-C : external

-V : receive-O : message-C : external

-V : output-O : message-C : external

-V : sense, send-O : state, object, message-C : internal, external

-V : sense-O : state-C : internal

-V : sense-O : object-C : external

-V : send-O : message-C : external

13/25

3.記述例

14/25

例題:信号無視防止

シナリオの説明赤信号時に車両を交差点内に進入させない

ステークホルダドライバー、車、信号、停止線

各ステークホルダのトップゴールドライバー:目的地へ着く車:事故を起こさない信号:車に信号を守らせる停止線:停止線より前に車を停車させる

環境に応じて変化するゴール交差点との距離が大きいとき⇒情報提供フェーズ交差点との距離が小さく、速度が大きいとき⇒警

報フェーズ交差点直前で、停車していないとき⇒操作支援

フェーズ

停止線を越えさせない

表示を守らせる

事故を起こさない

15/25

止まらない!自動ブレーキ

操作支援フェーズ

接近したけど止まる気配がない「止まりなさい」

警報フェーズ

まだ遠いけど影響範囲内

「信号あります」

情報提供フェーズ

ドライバーと車両のゴールモデルの合成ドライバーのゴール

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

道路上の情報を得る

情報をドライバーへ伝え

操作命令に従う

車のゴール事故を起こ

さない

意思表示機能の状態を把握する

他の車が分かる

他の車へ知らせる

操作命令を受け取る

操作命令を実行する

目的地に着く

その他事故を起こさない

名称による合成

16/25

車両と信号機のゴールモデルの合成

信号のゴール

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

道路上の情報を得る

情報をドライバーへ伝え

操作命令に従う

車のゴール

意思表示機能の状態を把握する

他の車が分かる

他の車へ知らせる

操作命令を受け取る

操作命令を実行する

事故を起こさない

表示色を車に伝える

信号の色を守らせる

表示中の色を知る

車の存在を知る

情報を送信する

表示中の色を知る

車の存在を知る

操作命令を送信する

表示に沿わない行動をとろうとしている車に警告

する

表示中の色を知る

車の存在を知る

情報を送信する

表示に沿わない行動をとろうとしていること

を知る

表示に従わないことを判断する

表示に従わない車に操作命令を送る

属性による合成send-receive

-V : send-O : message-C : external

-V : receive-O : message-C : external

-V : send-O : message-C : external

-V : receive-O : command-C : external

-V : send-O : command-C : external

operationinformation

warning

17/25

車のゴール

ドライバーのゴール

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

道路上の情報を得る

情報をドライバーへ伝え

操作命令に従う

表示色を車に伝える

表示中の色を知る

車の存在を知る

情報を送信する

停止線の存在を知らせる

車の存在を知る

停止線の存在を送信する

停止線のゴール

信号のゴール

目的地に着く

その他事故を起こさない

まだ遠いけど影響範囲内

「信号あります」

合成結果(情報提供フェーズ)

information information

18/25

車のゴール

ドライバーのゴール

停止線のゴール

信号のゴール

表示に従わない車に操作命令を送る

表示中の色を知る

車の存在を知る

操作命令を送信する

止まれない場合に操作命令を送る

車の存在を知る

止まれないことを知る

操作命令を送信する

表示に従わないことを判断する

操作命令を受け取る

操作命令を実行する

道路上の情報をドライバーへ伝え

るドライバーの意思を他の車に伝える

操作命令に従う

止まらない!自動ブレーキ

operation operation

目的地に着く

その他事故を起こさない

合成結果(操作支援フェーズ)

19/25

4.まとめと今後の問題

20/25

6.まとめと今後の問題

• まとめ– KAOSに対して、属性の付加、合成規則の定義を行うことで  分割統治を可能にし、大きな問題領域の分析を容易化

• 今後の課題– 手法の洗練

• 現状– 細分化の指標がない– 合成規則= send-receiveのみ

• 今後– 記述例を増やす

» ゴール、細分化規則、合成規則の洗い出し– 形式化(時相論理式)

» 仕様充足の検証» 合成規則に適用

21/25

今後の課題(1/3)• 属人性の緩和

– ゴールの記述 : 多少の言葉の差異は、概念辞書を利用した置換で吸収できる– 細分化の方針 : パターンの作成(パターンの正当性は論理検証)

止まれない場合に操作命令を送る

車の存在を知る

止まれないことを知る

操作命令を送信する

停止不可能な車両を操作支援

車両をセンシング

停止可能性の計算

メッセージを送る

概念辞書を用いた抽象化

C-KAOS 語群に置換

属性値の付加 アーキテクチャの生成

Formalなゴールモデルの生成

(道路交通システムに特化=「正しさ」が議論できる) 22/25

今後の課題(2/3)• 属人性の緩和

– ゴールの記述 : 多少の言葉の差異は、概念辞書を利用した置換で吸収できる– 細分化の方針 : パターンの作成(パターンの正当性は論理検証)

C→ T◇

C→ M◇ M→ T◇

Milestone-driven refinement

C→ T◇

C D→ T∧ ◇ C→ D◇ C→CWT

Case-driven refinement

外部情報取得

運転支援

内部情報発信 自動操作

運転支援型(自動車)

情報提供

制約付加

警報 操作命令

制約付加型(信号機や停止線)

現状のパターン

Formal refinement

patterns

23/25

今後の課題(3/3)現状:組み合わせの順番が不可変 ⇒構成要素のゴールモデルを木構造で記述することに問題があるのでは・・・

構成要素のゴールモデル

構成要素のゴールモデル

構成要素のゴールモデル

仕様として組み合わせを与え

ネットワーク状に記述

親に応じて動的に木構造へ

24/25

ご清聴ありがとうございました

ご意見・ご質問などをお願い致します

25/25