現代のE/Eアーキテクチャにおける車両診断
ソフトウェアにおける診断データの効率的な取得、定義、および実装方法

一般的な自動車開発プロセスでは、診断データベースとソフトウェアの実装が分断されています。担当者ごとに異なる作成ツールが使用されています。一貫性の確認は手作業で行われるため、ミスが発生しやすく、開発の進捗が遅れてしまいます。統合されたモデル駆動型のアプローチにより、この状況は一変します。本稿では、車両のE/Eシステム内で直接診断データベースを記述し、実装ソフトウェアとシームレスに連携させる方法をご紹介します。
車載診断プロジェクトにおいて、チームはしばしば診断仕様とソフトウェア開発を切り離して進めます。エンジニアは、生産ラインやサービスワークショップ向けの診断を検討するずっと前に、ソフトウェアやE/Eシステムの大部分を仕様化してしまいます。責任の所在も部署ごとに分かれています。エンジニアは孤立したツールを使用しており、共通のデータベースがありません。チームはメールや会議を通じて非公式に情報を交換し、標準化された同期プロセスなしにその場限りの変更を行ってしまいます。
将来を見据えた車両を構築するためには、成功する診断設計にはライフサイクル全体を考慮することが不可欠だと私たちは考えています。生産およびカスタマーサービスの専門家は、テスターのパラメーター化に注力しています。一方、システム開発者は、車両ソフトウェアの内部設計に注力しています。多くの場合、これらのグループは互いのニーズを二次的なものと捉えがちです。
しかし、両者の間には否定できない相互依存関係が存在します。診断仕様におけるデータ型の定義が、実装されたアプリケーションソフトウェアと異なると、不整合が生じます。こうした問題は、診断イベントマネージャー(DEM)や診断通信マネージャー(DCM)といったAUTOSARベーシックソフトウェアコンポーネントの設定の最終段階で顕在化します。ECUの起動時にエラーを発見すると、リソースが無駄になります。エンジニアリングの鉄則として、エラーの発見が遅れれば遅れるほど、修正コストは指数関数的に増加します。
モデルベース統合でギャップを埋める

当社は、これらの課題を克服するための効率的な手法を提供しています。ベクターは、2つの強力なツールをシームレスに統合することを可能にします。モデルベースのPREEvision環境で診断およびソフトウェアのコンセプトを開発し、関連するすべてのデータをCANdelaStudioと交換することで、正式な診断仕様を作成することができます。
高レベルのE/Eモデルにより、システム要件、ソフトウェアアーキテクチャ、ハードウェアコンポーネント、およびワイヤーハーネス全体にわたる技術的な一貫性が保証されます。すべての相互関係を共有データベースにマッピングします。技術的な変更が発生すると、その更新内容は影響を受けるすべての開発者に即座に反映されます。潜在的な競合を早期に認識できます。堅牢なバージョン管理を通じてリリースポイントを追跡します。同一の部品と相違点を一箇所で記述することで、モジュール型のソフトウェアスタックをサポートし、バリエーションを容易に管理できます。
診断ツールとソフトウェア間の依存関係を把握する
ECUソフトウェアと診断データベースの間には、どのような依存関係があるのでしょうか?ツールでは、多くの場合、外部テスターの視点から診断機能を記述します。具体的には、テスターがフォールトメモリから読み取る診断トラブルコード(DTC)や、ECUが提供するデータ識別子(DID)について詳細に記述します。また、データ型、変換、および物理単位を定義します。
アプリケーションソフトウェアは、診断ポートを介してこれらの規定を実装します。DIDデータオブジェクトの場合、これはデータ型、変換式、および単位が割り当てられた特定のデータ要素を意味します。AUTOSAR準拠のモデリングでは、これらの詳細を複数のオブジェクトに分散させます。例えば、単一のDIDを使用して、複数のソフトウェアポートから転送される複数の温度値にアクセスします。粒度は異なるものの、情報の内容は一貫性を保ちます。
診断とソフトウェアを一体として定義します。これにより、冗長性を排除できます。ソフトウェア内でデータ型を記述し、診断データベースでそれらを参照します。あるいは、まず診断内容を定義し、その詳細情報をソフトウェアの実装で使用します。
統一されたツールチェーンでの実装の詳細

診断仕様は、アプリケーションソフトウェアに対する要件を規定しています。診断ルーチンを実装するには、ソフトウェアコンポーネントが必要です。DTCにはモニタリング機能が必要です。AUTOSARは厳格な構造要件を定めています。I/O制御には、モニタリング対象データのレコード型が必要です。ルーチンにはクライアント/サーバーインターフェースが必要です。これらの構造を一度定義すれば、両方のドメインで使用できます。
当社は、診断専用の抽象化レイヤーをPREEvisionに追加しました。システム全体にわたって診断オブジェクトを記述し、それらをアプリケーションソフトウェアにリンクさせることができます。DID、I/O制御、ルーチン、およびDiagnosticEventsやOperationCyclesといったAUTOSARイベント処理要素を定義します。また、CANdelaStudioとの双方向データ交換を確立し、協調的な作業モデルをサポートします。

PREEvisionへのデータフローの戻し機能により、既存の診断データベースのマスターデータを起点として使用することが可能になります。組織の枠を超えたデータ交換を実現するため、ファイルベースのアプローチを選択しました。交換ファイルには、診断オブジェクトおよび関連するソフトウェアの詳細情報が含まれています。
診断オブジェクトをアプリケーションソフトウェアのポートに割り当てる情報は、参照を通じて伝達されます。ベーシックソフトウェア構成ツールでは、インテグレーターは手動でのポートマッピングを行う必要がありません。システムは参照に基づいて接続を自動的に決定します。これにより、時間を節約し、エラーを削減することができます。

AUTOSARへの準拠を自動的に確認する
AUTOSAR規格では、診断用のソフトウェアコンポーネントの記述が厳格に定義されています。この広範な規格を自社で完全に理解するには時間がかかります。PREEvisionは、診断オブジェクトから直接診断ポートを生成することで、厳格なAUTOSAR準拠を保証します。もしその後、規格から逸脱する変更を加えた場合、ツールが直ちに警告を表示します。これにより、品質保証業務においてリアルタイムのパフォーマンスを実現できます。
開発プロセス全体における重要なポイント
すべてのデータを一元的に管理できます。システム全体の診断情報を確認できます。ECUの診断内容をエクスポートし、CANdelaStudioで編集した後、AUTOSAR Diagnostic Extract(DEXT)またはODXフォーマットで生成します。システム記述とDEXTをDaVinci Configuratorに取り込みます。このプロセスには、次のような明確な利点があります:
- 診断オブジェクトと診断ポートの手動でのマージは不要です。参照機能により、割り当てが自動化されます。
- 自動的にモデル化された、AUTOSAR準拠の診断ポートをご利用ください。
- データ型の競合を防ぐため、診断ポートのプロパティと診断オブジェクトのプロパティを完全に整合させてください。

この統合により、調整の手間が軽減され、手作業が削減され、潜在的なエラーが排除されます。ワイヤーハーネス設計から直接テストシーケンスを生成するなど、他のモデルレベルから診断データを自動的に取得できます。
ぜひ、このモデルベースのアプローチをご活用ください。部門を超えたチームワークを育み、サイバーセキュリティと診断機能をアーキテクチャにシームレスに統合し、真のイノベーションに向けた勢いを築いていきましょう。ベクターと共に、卓越したエンジニアリングを実現しましょう。