バックナンバーはこちら。
https://www.simulationroom999.com/blog/diagnostic-communication-backnumber/
はじめに
AUTOSAR-Dcmのコンフィグレーションの話。
Dsdの役割、クラス図など。
登場人物
博識フクロウのフクさん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
![](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
AUTOSAR-Dcm Dsdの役割
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
今回からDcmのサブモジュールの一つである、Dsdについて。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
これも役割とかの説明よろ。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/お休みフクロウ.png)
DsdはDiagnostic Service Dispatcherの略で、
受信したメッセージを元に各サービスへの振り分け処理のところだねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者02アップ.png)
Dslでメッセージが確定するから、
そのメッセージが実際にどのサービスなのか判定するのか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
そうそう。
メッセージの先頭byteがサービスIDなんで、判定自体は難しくないねー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
それだけだったらちょろそう!
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
まぁ3つのサブモジュールの中では一番ちょろいけど、
簡単かどうかは別かなー。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」20アップ.png)
って、ことは他に何かあるってことだね・・・。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
大した話では無いけど、
サービス別の対応したセキュリティレベル、セッション状態の判定もDsdの役割に含まれる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」13アップ.png)
というと?
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/考え中フクロウ.png)
該当サービスが現時点のセキュリティレベル、セッションでサポートしているかの検査が入る。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/「技術者a」10アップ.png)
ということは、
関連パラメータがDsdのコンフィグレーションに入ってくるってことか。
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
厳密には参照するだけだね。
該当パラメータはDsdじゃなくてDspの管轄なんで。
各サービスからDspが抱えているセキュリティレベル、セッションを参照する。
AUTOSAR-Dcm Dsdコンフィグレーション構造
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
クラス図を見て貰えれば、シンプルなことは分かると思う。
![AUTOSAR-Dcm Dsdコンフィグレーション構造、Dcm_DsdType、Dcm_DsdServiceTableType,Dcm_DslServiceType,Dcm_DspSecurityRowType,Dcm_DspSessionRowType、各種サービスの有効無効状態、サービスに紐づいたセキュリティ状態、サービスに紐づいたセッション状態](https://www.simulationroom999.com/blog/wp-content/uploads/2020/09/02_Dsdクラス図-1024x700.png)
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者03アップ.png)
あー!
これはシンプルだ!
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
でも解説よろー。
AUTOSAR-Dcm Dsdコンフィグレーション構造のちょい解説
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
シンプルなんで見ればわかるかもしれないけど。
Dcm_DsdServiceTableTypeでサービスセットを定義。
Dcm_DsdServiceTypeで、実際にサポートするサービスを定義。
それに各セキュリティレベルとセッションが紐づいて、
これが該当サービスがサポートしてよりセキュリティレベルとセッションってことになる。
![太郎くん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/技術者01アップ.png)
うん。
今回は分かり易かった。
まとめ
![フクさん](https://www.simulationroom999.com/blog/wp-content/uploads/2020/05/指差しフクロウ.png)
まとめだよ。
- Dsdは各サービスへの振り分けが目的のサブモジュール。
- 同時にサポートするセキュリティレベル、セッションの判定も行う。
- 上記目的から以下のコンフィグレーションパラメータを保有。
- 存在するサービス定義。
- サポートサービス定義。
- サービスがサポートできるセキュリティレベルとセッションの定義。
バックナンバーはこちら。
コメント