Comments
Description
Transcript
プロパティに基づく自動車組込み 協調制御ソフトウェアアーキテクチャ
プロパティに基づく自動車組込み 協調制御ソフトウェアアーキテクチャ設計方法の提案 M2009MM026 田邊 隼希 指導教員 青山 幹雄 1. はじめに 近年,自動車組込みソフトウェアでは ECU(Electronic Control Unit)間のネットワークを介した協調制御が必要であ る[1]が,相互作用が複雑で協調制御設計が困難である. 本稿では,プロパティに基づく自動車組込みソフトウェア の協調制御アーキテクチャ設計方法を提案する.プロパテ ィに着目して自動車全体の振舞いをモデル化し,自動車全 体の協調制御設計を容易とする. 2. 自動車組込みソフトウェアの課題 (1) 機能分散による設計の複雑化 自動車組込みソフトウェアの振舞いへの影響が複雑なた め,機能競合が発生する.さらに,設計では非機能要求が 重要で協調制御全体で非機能要求を満たす必要があるが, 協調制御の非機能要求への影響の特定は困難である. (2) 自動車共通ソフトウェアアーキテクチャが未確立 センサやアクチュエータの構成は車種で異なり,車種毎 のアーキテクチャ設計が必要となる.構成の多様性に対応 する自動車共通ソフトウェアアーキテクチャが必要である. 4.1. プロパティの分類 ユーザ,自動車,周辺環境に着目して,プロパティを分 類する(図 1). (1) ユーザプロパティ:ユーザの特性とその状態を示す.ユ ーザ要求はユーザプロパティで表現される.サービスはユ ーザプロパティに基づく制御を行う. (2) 自動車プロパティ:自動車の特性とその状態を示し,ア クチュエータによりサービスが制御可能である.目標値と現 在値の 2 つの属性を持ち,サービスは現在値が目標値とな るようにアクチュエータを制御する.自動車プロパティは制 御するアクチュエータの特性から,さらに分類できる. (2-a) 走行プロパティ:走行に関するプロパティである. (2-b) 快適プロパティ:快適環境に関するプロパティである. (2-c) インフォテイメントプロパティ:インフォテイメントに関す るプロパティである. (3) 環境プロパティ:周辺環境の特性とその状態を示し,サ ービスが制御不可能である.室温のようにセンサで測定可 能なものと,路面状況のように測定不可能なものがある. プロパティ (1) (2) (2-a) 4. プロパティ中心アーキテクチャ設計方法 プロパティを自動車,周辺環境,ユーザの特性とその状 態と定義し,振舞いをプロパティの変化と定義する.また, プロパティと他のプロパティや,プロパティと非機能要求の 関連を依存関係と定義する.プロパティに着目することで自 動車の振舞いに加え,周辺環境とユーザの振舞いも含む モデル化が可能となる.プロパティに基づく協調制御設計 をプロパティ中心設計と呼び,プロパティを制御する機能を サービスと定義する.複数サービスが,あるプロパティの一 貫性を損なう変更を行うことをサービス競合と定義する. 環境プロパティ - 目標値 - 現在値 3. 関連研究 自動車組込みソフトウェアで車種や開発組織に非依存な アーキテクチャフレームワークが着目すべき観点が提案さ れている[2].しかし,具体的な設計方法は未提案である. また,DSM(Design Structure Matrix)による自動車組込み ソフトウェアのアーキテクチャ設計と評価が提案されている [4].DSM の類似度の高い要素をまとめてモジュール化す ることでモジュール内の依存関係を隠蔽し,簡略化できる. (3) 自動車プロパティ ユーザプロパティ (2-b) (2-c) 快適プロパティ 走行プロパティ インフォテイメントプロパティ 図 1 プロパティの分類 4.2. プロパティのモデル化 車種毎にセンサやアクチュエータの構成が異なるため, これらの情報を表現するプロパティの種類や特性が異なる. 自動車の振舞いはサービスや周辺環境,ユーザから影響 を受けるため,複雑となる.プロパティを以下のモデルで表 現して,プロパティの多様性と複雑な振舞いに対応する. プロパティを表現するモデルのメタモデルを図 2 に示す. プロパティ表現モデル 振舞い 設計表 サービス-プロパティ の振舞い設計表 1 1 振舞い モデル プロパティ-サービス の振舞い設計表 1 1 1 依存関係 モデル クラス図 1 1 * 階層構造化 する 1 階層構造 モデル 拡張DSM 図 2 プロパティ表現のメタモデル (1) 依存関係モデル プロパティ間の依存関係は複雑で,更にプロパティと非 機能要求間の依存関係も存在する.依存関係モデルは 2 つのモデルでこれらの依存関係と構造を表現する. 1) クラス図:プロパティや非機能要求の依存関係を示す. 2) 拡張 DSM:非機能要求はサービス実行により満たされる. サービス実行はプロパティに影響し,プロパティを介して非 機能要求にも影響する.更にサービス実行によるプロパテ ィの変化は他のプロパティにも伝搬し,非機能要求への影 響の特定が困難となる.プロパティの影響伝搬とプロパティ の非機能要求への影響を表現するモデルが必要である. DSM を拡張し,プロパティ間とプロパティと非機能要求間 の依存関係を表現可能な拡張 DSM を提案する(表 1). 表 1 依存関係モデルの拡張 DSM に影響する.特に,単一プロパティが複数サービスに影響 すると,複数サービスが同時起動する可能性がある. (3) サービス-プロパティの相互作用:サービスがプロパティ に影響する.特に,複数サービスが単一プロパティに影響 すると,サービス競合の可能性がある. (4) サービス-サービスの相互作用:本稿では,サービス間 の相互作用はプロパティを介して間接的に行われると考え, サービス間の直接的な相互作用は考慮しない. 表 2 プロパティとサービスの相互作用パターン プロパティ サービス (1) プロパティ間の (2) プロパティ-サービス 相互作用がある 間の相互作用がある (3) サービス-プロパティ サービス (4) 考慮しない 間の相互作用がある スロットルバルブ開度 が影響を受ける プロパティ プロパティ スロットルバルブ開度 が影響を与える プロパティ 5. 協調制御アーキテクチャ設計プロセス DSMを拡張してプロパティと非機能要求間の依存関係を表現 (2) 階層構造モデル:プロパティを階層的にモデル化して, センサやアクチュエータの構成の違いを抽象化してモデル を共通化する.汎化関係と,集約関係が存在する(図 3). 1) 汎化関係:同じ種類のアクチュエータから抽出したプロ パティが階層構造化された場合,下位のプロパティは上位 のプロパティの具体化と考えられるため,汎化関係とする. 2) 集約関係:異なるアクチュエータやサービスの制御則か ら抽出したプロパティが階層構造化される場合,上位のプ ロパティは下位のプロパティにより構成されると考えられる ため,集約関係とする. 1) 汎化関係 L : Left R : Right FL : Front-Left FR : Front-Right RL : Rear-Left RR : Rear-Right 2) 集約関係 ホイール シリンダ圧力 四輪 共通の プロパティ - 目標値 - 現在値 左右の 車輪毎の プロパティ 四輪 FL-ホイール RL-ホイール FR-ホイール RR-ホイール 個別の シリンダ圧力 シリンダ圧力 シリンダ圧力 シリンダ圧力 プロパティ L-ホイール シリンダ圧力 R-ホイール シリンダ圧力 エンジン制御はスロットル バルブ開度とアクセルペダル 開度から構成される エンジン制御 スロットル バルブ開度 アクセル ペダル開度 - 目標値 - 現在値 ABS FL 車輪速 拡張DSM 目標FLホイールシリンダ圧力 FLホイールシリンダ圧力 FL ホイール シリンダ 圧力 XX ABSのプロパティ への影響 サービス-プロパティの振舞い設計表 を表現 サービスと非機能要求の対応付け 目標FL ホイール シリンダ 圧力 XX XX プロパティのABS への影響を表現 ブレーキ スリップ率 XX ボディの上下振動 XX 目標駆動力配分 XX 前輪への誘導 サイドフォース 目標RLホイール シリンダ圧力 目標RRホイール シリンダ圧力 XX 制動力支援 目標FLホイール シリンダ圧力 ABS 目標FRホイール シリンダ圧力 図 3 階層構造モデル (3) 振舞い設計表:サービスとプロパティ間の依存関係とサ ービスと非機能要求間の依存関係をサービスのリアルタイ ム性も含めてモデル化する. (4) 振舞いモデル:依存関係モデルと振舞い設計表を組み 合わせ自動車全体の振舞いをモデル化する(図 4).サービ スのプロパティへの直接的影響と間接的影響を表現する. X X FL車輪速 FR車輪速 RL車輪速 RR車輪速 XX XX XX XX プロパティサービスの 振舞い設計表 図 4 振舞いモデル 4.3. プロパティとサービスの相互作用分析 プロパティとサービスの相互作用を分析して,4 つのパタ ーンに分類した(表 2). (1) プロパティ-プロパティの相互作用:あるプロパティが異 なるプロパティに影響する. (2) プロパティ-サービスの相互作用:プロパティがサービス 協調制御アーキテクチャの設計プロセスを図 5 に示す. (1) プロパティの抽出 プロパティを仕様書のセンサ検出値やサービスの制御 則から抽出し,4.1 に基づき分類する.センサで検出できな いプロパティは走行中の周辺環境を考慮して抽出する. (2) プロパティと非機能要求の依存関係分析 仕様書より非機能要求を抽出してモデル化する.プロパ ティ間とプロパティと非機能要求間の依存関係を分析して 依存関係モデルを作成する. (3) プロパティのクラスタ化と階層構造化 振舞いに着目してプロパティをモジュール化することで, 振舞いを考慮したプロパティのクラスタ化と階層構造化が 可能となる.さらに,センサに着目しプロパティをモジュー ル化する.例えば車輪速センサは車速を検出する.車輪速 センサから車輪速と回転方向が抽出されるため,車速は 2 つのプロパティから構成されると考えモジュール化する. モジュール化したプロパティを依存関係モデルに適用し て,DSM ツール[3]によるクラスタリングを行い,類似度の高 いプロパティや非機能要求をまとめてクラスタとする.クラス タの中にさらにクラスタが存在する場合はプロパティの階層 構造と決定し,階層構造モデルを作成する. (4) プロパティ中心設計 1) 自動車全体の振舞いのモデル化 サービスとプロパティ間の影響とサービスの非機能要求 への影響を仕様書より分析して,振舞い設計表を作成し, 振舞い設計表と依存関係モデルを組み合わせて振舞いモ デルを作成する.振舞いモデルは自動車全体の振舞いを 表現し,協調制御の振舞いへの影響を分析可能である.そ のため,自動車全体の協調制御設計が可能となる. 2) プロパティを介した競合発見 振舞いモデルへユースケースマップを適用し,プロパテ ィ間の影響伝搬を表現してサービス競合と非機能要求の競 合の可能性を発見する.プロパティで複数サービスのユー Cluster6 スケースパスが重複するとサービス競合の可能性がある. 非機能要求に影響するプロパティの影響伝搬は非機能 要求で異なる.複数の非機能要求のユースケースパスがプ ロパティで重複すると非機能要求の競合の可能性がある. ブレーキ ペダル 操作速度 ブレーキ ペダル操作量 後輪横滑り時安定性 制動安定性 ブレーキスリップ率 AVS ステア リング 協調 XX XX XX XX ヒル スタート アシスト センサの 更新周期 i-Four ESC TCS ナビ ブレーキ アシスト ブレーキ アシスト ブレーキ 制御 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX センサの更新周期 アクチュエータ応答時間 サービス応答時間 図 6 VDM の非機能要求のモデル化 6.3. プロパティのクラスタ化と階層構造化 ブレーキ制御,エンジン制御,サスペンション制御,ステ アリング制御の振舞いに着目しプロパティをモジュール化 した.また,車輪速センサに着目し,車輪速と回転方向をま とめて車速としてモジュール化した.モジュール化したプロ パティを適用した依存関係モデルのクラスタリングの結果, クラスタが 12 個生成され,クラスタの中に更にクラスタが存 在するものを 5 個発見した.ブレーキ制御,エンジン制御, 車速を含むクラスタの階層構造モデルを図 7 に示す. 表 5 VDM のサービス-プロパティの振舞い設計表 FLホ イール シ リン ダ圧 力 サービス エンジン制御 ブレーキ制御 ABS ブレーキ アシスト ナビブレーキ アシスト TCS ESC i-Four AVS ステアリング 協調 ヒルスタート アシスト センサの 更新周期 アクチュエータ 応答時間 目 標F Rホイ ール シ リンダ圧 力 プロパティ 目 標 FLホ イ ール シ リンダ圧 力 単一プロパティに複数サービスが影響 サービス競合の可能性を発見 XX: ハードリアルタイム XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX 前 輪 横 滑 り時 安定性 後 輪 横 滑 り時 安定性 ブレ ーキ ス リップ率 シ ス テム 応答時間 表 3 VDM の拡張 DSM(一部抜粋) ボディの 上 下 振動 制御応答性 目標 ス テア リング ア シ ス トトルク 制御性 XX XX XX XX XX 制動力支援 前輪への誘導 サ イド フォース 安定化 モ ーメン ト タ イヤ ス リップ率 VDMの 非機能要求 XX 目 標FRsus減衰 力 制御緻密性 快適性 XX XX XX XX 目 標RLsus減 衰力 操縦性 直進性 アクセル ペダル開度 RR回転方向 ユースケースマップを適用してサービスのユースケース パスが重複するプロパティを抽出し,サービス競合の可能 性を発見した.ABS,TCS,ブレーキアシストのユースケー スマップを作成すると,FL 車輪速などの 14 個のプロパティ でユースケースパスが部分的に重複する(図 8).ABS,TCS, ブレーキアシストでサービス競合の可能性がある. 非機能要求に影響するプロパティの影響伝搬の順序を ユースケースマップで表現し,ユースケースパスが重複す るプロパティを抽出して非機能要求の競合の可能性を発見 した.前輪への誘導サイドフォースと制動力支援の 2 つの 非機能要求に着目すると,FL ホイールシリンダ圧力などの 8 個のプロパティでユースケースパスが部分的に重複する (図 8).前輪への誘導サイドフォースと制動力支援の 2 つの 非機能要求間で競合の可能性がある. 前輪横滑り時安定性 旋回安定性 スロットル バルブ開度 -目標値 -現在値 RR車輪速 -目標値 -現在値 RL回転方向 XX XX XX XX 目 標RRsus減衰 力 車両安定性 FL車輪速 FR車輪速 RL車輪速 RR車輪速 ブレーキペダル 操作量 目標 FLsus減 衰力 加速性 ボディの上下振動 操舵性に関連 安定性 サービス同時起動 の可能性を発見 プロパティ 目 標 FL車 高 目 標 FR車 高 目 標 RL車 高 目 標 RR車 高 タイヤスリップ率 安全性 サービス 単一プロパティが 複数サービス に影響 目 標駆 動 力 配分 予防安全 操舵性 エンジン制御 RL車輪速 -目標値 -現在値 FR回転方向 ABS 提案設計方法を車両運動統合制御システム (VDM: Vehicle Dynamics Management System)に適用し評価する. VDM はブレーキ,駆動力,ステアリング,サスペンショ ンの協調により高い安定性を実現する機能である[5]. 6.1. プロパティの抽出 仕様書[5]より 68 個のプロパティを抽出して分類した. (1) ユーザプロパティ:アクセルペダル開度などの 5 個. (2) 自動車プロパティ:走行プロパティのみが抽出された. (2-a) 走行プロパティ:FL 車輪速,ヨーレートなどの 61 個. (3) 環境プロパティ:現在位置,路面摩擦係数を抽出した. 6.2. プロパティと非機能要求の依存関係分析 仕様書[5]から VDMの非機能要求を抽出して,モデル化 した(図 6).さらにプロパティ間,プロパティと非機能要求間 の依存関係を分析して依存関係モデルを作成した(表 3). 制動力支援 FL回転方向 エンジン 制御 6. 提案設計方法の適用と評価 安定化モーメント 車速 FR車輪速 -目標値 -現在値 図 7 VDM の階層構造モデル(一部抜粋) 6.4. プロパティ中心設計 仕様書[5]よりサービスを 11 個抽出してサービスとプロパ ティ間,サービスと非機能要求間の依存関係を分析し,振 舞い設計表を作成した(表 4,表 5).依存関係モデルと振舞 い設計表を組み合わせて振舞いモデルを作成した. 表 4 より単一プロパティが複数サービスに影響するパタ ーンを発見できた.ブレーキペダル操作量はブレーキアシ ストなどに影響し,サービス同時起動の可能性がある. さらに,表 5 より複数サービスが単一プロパティに影響す るパターンを発見できた.TCS(Traction Control System), ESC(Electronic Stability Control)が目標スロットルバルブ開 度に影響し,サービス競合の可能性がある. 表 4 VDM のプロパティ-サービスの振舞い設計表(一部抜粋) 振舞い設計表, 振舞いモデル 図 5 協調制御アーキテクチャ設計プロセス 前輪への誘導サイドフォース FL車輪速 -目標値 -現在値 RRホイール シリンダ圧力 -目標値 -現在値 RRホ イール シ リン ダ圧 力 目 標 ス ロットル バ ル ブ開 度 ス ロ ットル バ ル ブ開 度 階層構造モデル, 階層構造化された依存関係モデル 階層 構造化 RLホ イール シ リン ダ圧 力 依存関係 モデル RLホイール シリンダ圧力 -目標値 -現在値 FRホイール シリンダ圧力 -目標値 -現在値 目標 RRホイ ール シ リンダ 圧 力 プロパティ (4) プロパティ中心設計 FRホ イール シ リン ダ圧 力 (3) プロパティのクラスタ化 と階層構造化 目 標RLホ イ ール シ リンダ 圧 力 (2) プロパティと非機能要求 の依存関係分析 FLホイール シリンダ圧力 -目標値 -現在値 左加速度 右加速度 ブレーキ制御 仕様書 (1) プロパティ の抽出 (非機能要求) 安定化モーメント Cluster9 XX XX XX XX XX XX XX XX XX XX XX XX XX :ABSのユースケースパス :TCSのユースケースパス サービス競合の可能性の発見 ABS TCS ユースケースパス が重複 目標FLホイール シリンダ圧力 目標FRホイール シリンダ圧力 FLホイール シリンダ圧力 FRホイール シリンダ圧力 FL車輪速 FR車輪速 : 前輪への誘導サイドフォース のユースケースパス : 制動力支援の ユースケースパス :ブレーキアシストの ユースケースパス ブレーキ アシスト 目標スロットル バルブ開度 スロットル バルブ開度 サービス競合の 可能性を発見 目標RLホイール シリンダ圧力 目標RRホイール シリンダ圧力 RLホイール シリンダ圧力 RRホイール シリンダ圧力 RL車輪速 RR車輪速 非機能要求の競合の可能性の発見 前輪への誘導サイドフォース 非機能要求の競合の 可能性を発見 制動力支援 : 非機能要求 : プロパティ FLホイール シリンダ圧力 FRホイール シリンダ圧力 RLホイール シリンダ圧力 RRホイール シリンダ圧力 目標FLホイール シリンダ圧力 目標FRホイール シリンダ圧力 目標RLホイール シリンダ圧力 目標RRホイール シリンダ圧力 FL車輪速 FL回転方向 FR車輪速 FR回転方向 RL車輪速 RL回転方向 前加速度 後加速度 右加速度 左加速度 路面摩擦係数 現在位置 RR車輪速 RR回転方向 ブレーキペダル操作量 ブレーキペダル操作速度 図 8 ユースケースパスによる競合の可能性の発見 6.5. 提案設計方法の評価 (1) プロパティのモデル化 提案設計方法では,プロパティを 4 種類のモデルで表現 した.振舞いはプロパティの変化として表現されるため,自 動車に加え周辺環境,ユーザを含む振舞いのモデル化が 可能となる. (2) 機能(サービス)実行の振舞いへの影響分析 従来の設計方法では機能に着目するため,機能間の影 響の特定は容易である.しかし,機能が分散して個別制御 するため,機能と振舞いの間の影響の特定が困難であった. 提案設計方法では,振舞いをモデル化してプロパティ間の 依存関係やサービスとプロパティ間の依存関係を表現した. そのため,プロパティ間の影響,サービスとプロパティ間の 影響の特定が容易となる. (3) 機能(サービス)実行の非機能要求への影響分析 自動車の協調制御は分散した機能のネットワークを介し た協調により実現される.従来の設計方法では機能に着目 するため,協調制御が影響する非機能要求の特定が困難 であった.提案設計方法では振舞いモデルによりプロパテ ィと非機能要求間の影響を表現し,サービスが変化させた プロパティが影響する非機能要求を特定できる.非機能要 求を満たすためにどのサービスを実行すべきか分析できる ため,非機能要求を満たす協調制御設計が容易となる. (4) 競合の発見 従来の設計方法では機能に着目するため,分散する機 能が個別に制御を行う場合の機能競合や非機能要求の競 合の発見が困難だった.提案設計方法はサービスに影響 するプロパティと,非機能要求に影響するプロパティをユー スケースパスで表現する.ユースケースパスの重複により, そのユースケースパスを持つサービス間の競合の可能性, あるいは非機能要求間の競合の可能性を特定できる. 7. 考察 (1) 提案設計方法に対する考察 提案設計方法ではクラスタリングによりプロパティを階層 構造化する.クラスタ毎のサービス設計により協調制御の 段階的な設計が可能となる.段階的に設計した協調制御の 組み合わせにより自動車全体の協調制御を実現できる. (2) 関連研究との比較に基づく考察 a) 自動車共通のアーキテクチャフレームワークとの比較 文献[2]の自動車共通のアーキテクチャフレームワーク (dAF)が着目すべき 5 つの観点から提案設計方法を考察す る(表 6).提案設計方法は 1)~4)までの観点を表現する. 5)はステークホルダに対する観点のため,協調制御設計 では考慮しない.以上より提案設計方法に基づくアーキテ クチャは自動車共通の協調制御アーキテクチャである. 表 6 5 つの観点からの提案設計方法の考察 dAF の観点 提案設計方法 1) 機能 プロパティを介して,サービス間の相互作用を表現 2) 物理 物理コンポーネントを抽象化したプロパティの構成や関連は表 現したが,物理コンポーネントの構成や関連は表現していない 3) データ 自動車の振舞いを表現する情報を表現したが,ECU 間の 通信プロトコルは表現していない 4) ドライバと 自動車とユーザ,自動車と周辺環境との相互作用を表現 環境 5) ステーク 提案設計方法では表現していない ホルダ b) DSM との比較 自動車組込みソフトウェアでは非機能要求を満たす設計 が必要である.DSM はプロパティ間の依存関係を表現でき るが,プロパティの非機能要求への影響を表現できない. 拡張DSMはDSMの列を拡張して非機能要求を表現し, プロパティの影響伝搬に加え,プロパティの非機能要求へ の影響を表現できる. 8. 今後の課題 サービス競合や非機能要求の競合の可能性を回避する 方法を確立する必要がある.これにより,競合を回避した協 調制御設計が可能となる.さらに,アーキテクチャの実装を 行い,提案設計方法の有効性を評価する必要がある. 9. まとめ プロパティに基づく自動車組込み協調制御ソフトウェアア ーキテクチャ設計方法を提案した.プロパティにより自動車 全体の振舞いをモデル化して,プロパティと非機能要求間 の依存関係を表現し,非機能要求を満たす協調制御設計 を可能にした.提案設計方法を VDM に適用し,評価した. 参考文献 [1] 青山 幹雄 他, 車載ソフトウェアのサービスプラットフォ ームのモデルとアーキテクチャ, 自動車技術会論文誌, Vol. 40, No. 6, Dec. 2008, pp. 1599 - 1604. [2] M. Broy, et al., Toward a Holistic and Standardized Automotive Architecture Description, Computer, Vol. 42, No. 12, Dec. 2009, pp. 98 - 101. [3] Cambridge Advanced Modeller (CAM), http://www-edc.eng.cam.ac.uk/cam/ [4] O. Larses, Applying Quantitative Methods for Architecture Design of Embedded Automotive Systems, Proc. INCOSE 2005, July. 2005. [5] ト ヨ タ 自動車, CROWN MAJESTA 新型車解説書 URS206 / UZS207, Mar. 2009.