PREEvisionによるAUTOSAR Adaptive設計

C++に基づくAdaptiveソフトウェア、それが実行されるLinuxベースのPOSIX OS、マルチコアプロセッサーを搭載した高性能マシン、そしてサービスを基盤とする新しいAUTOSARシステムアーキテクチャー―。AUTOSAR Adaptiveでは、自動車分野の最新トレンドのニーズに対応すべくAUTOSARプラットフォームが拡張されています。PREEvisionを使用すれば、AUTOSAR Adaptiveプラットフォームの能力を最大限に引き出す一方、既存のAUTOSARシステムやソリューションを、将来性を考慮したアプリケーションとECUを利用して拡張することができます。
特長
- Adaptive設計をトータルにカバーする専用のユーザーインターフェイス
- AUTOSAR AdaptiveおよびClassicのアーキテクチャーの混在が可能
- クラス図でインターフェイスやデータ型をモデル化
- ステートチャート図でステートマシンやスタートアップ設定をモデル化
- ネットワーク図でマシンや既存トポロジーへのスイッチ/ゲートウェイを含むEthernetネットワークをモデル化
- サービスインスタンス、VLAN、スイッチ設定、ネットワークエンドポイントなどを自動作成できる生成機能
- AUTOSAR Adaptiveで定義されるすべてのマニフェストをエクスポート
ユースケース
AUTOSAR Adaptive対AUTOSAR Classic
まず注意したいのは、AUTOSAR Adaptiveが新たに追加されたプラットフォームである点です。AUTOSAR AdaptiveはAUTOSAR Classicの代わりになるものではありません。また、AUTOSAR Adaptiveに基づく新しいソリューションを、既存のAUTOSAR Classicアーキテクチャーに追加することができます。
両プラットフォームの強みを生かすための標準のシナリオは、これらのアーキテクチャー、すなわち従来の自動車ドメインに属する、基盤的な組込ハードウェア/ソフトウェアに最適化されているAUTOSAR Classicと、たとえばCar2CarやCar2X通信などで求められる柔軟性を実現するAUTOSAR Adaptiveとを混在させることです。

更新とアップグレード
AUTOSAR Classicとの最も大きな違いの1つは、AUTOSAR Adaptiveでは、設計期間と実行期間を隔てる壁がない点です。
自動運転やCar2Xサービスといった現代の自動車のトレンドには、パソコンやスマートフォンで消費者が体験するような、以下をはじめとする柔軟性が求められます。
- OTA (Over The Air) によるソフトウェアの更新
- アプリケーションのインストールによるシステム機能の拡張
- アプリケーションによる車外サービスとの通信
AUTOSAR Adaptive Platformでは、新しいアプリケーションの統合がいつでも可能です。
C++とPOSIX
CがAUTOSAR Classicで使用される言語であるのに対し、AUTOSAR Adaptiveアプリケーションに使用される言語はC++です。C++はパフォーマンスを重視する、複雑なアプリケーション用に最適化されています。
Adaptiveアプリケーションはオペレーティングシステムが管理するプロセス内で実行されますが、このオペレーティングシステムはLinuxベースのPOSIXシステムです。POSIX OSでは、その設定に応じて、実行可能リストに対するプロセスの追加/削除を随時行うことができます。
高性能のコンピューター
AUTOSAR Classicが対象とするのは基盤的な組込ECUですが、AUTOSAR Adaptiveは高性能のコンピューターに合わせて最適化されています。
AUTOSAR ClassicでのECUは今や「マシン」と呼ばれるようになり、マルチコアプロセッサーをサポートするようになりました。しかもこのマシンは、共有のハードウェアを使用するバーチャルマシンである場合もあります。
AUTOSAR Adaptiveは通信技術としてEthernetのみを使用し、これによってCANなどのレガシー技術よりも大きな帯域幅を実現しています。すなわちAUTOSAR Adaptiveは、処理能力の拡大と通信の高速化の両方を活用できるよう最適化されているといえます。
PREEvisionによるAUTOSAR Adaptive設計
PREEvisionは、AUTOSAR Adaptiveに準拠したシステム設計に必要なすべての設計ステップを実行するための専用のユーザーインターフェイスと、複数のダイアグラムを備えています。

Adaptiveサービスおよびソフトウェアの設計

サービスインターフェイスの定義
AUTOSAR Adaptiveは、サービス指向のアプローチに基づいてソフトウェアの更新や新しいアプリケーションと既存ソフトウェアとの対話を可能にします。サービスプロバイダーとサービスコンシューマーは、明確に定義されたサービスインターフェイスを通じて、相互の発見とサブスクライブ、そして通信を行います。
メソッド、属性、イベントを含めたサービスインターフェイスの定義は、AUTOSAR Adaptiveのシステム設計における主要作業の1つです。PREEvisionにはサービス定義のための専用のダイアグラムとテーブルが用意されています。
SOME/IPインターフェイスのデプロイメント
SOME/IPはAUTOSAR Adaptiveのミドルウェアに使用される標準の転送プロトコルです。このミドルウェアを使用して、たとえばメソッド呼出しの把握やイベント情報の送信などを行うには、サービスインターフェイスとそのサブエレメントを固有のIDで識別する必要があります。PREEvisionはこれらのサービスインターフェイスの設定に基づき、デプロイメント用の設計要素を自動的に作成します。

SOME/IP Transformation
SOME/IP Transformationでは、データをEthernetで送信する際にどのような符号化を行うかを記述します。AUTOSAR Adaptiveでは、サービスインターフェイスの記述とデフォルト値に基づいてシリアル化コードが生成されます。また、データ型レベルでのきめ細かいモデル化も可能です。PREEvisionではこれら両方のレベルでTransformationの属性を定義できます。
サービスの実装
AUTOSAR Adaptiveでは、サービスインターフェイスはソフトウェアコンポーネントを通じて実装されます。ソフトウェアコンポーネントはポートを持ち、それらのタイプはサービスインターフェイスによって決まります。これはAUTOSAR Classicと同様の動作です。
Adaptiveアプリケーション
AdaptiveアプリケーションはAdaptive Platformに展開されるアプリケーションソフトウェアの配布単位です。アプリケーションソフトウェアの開発者は、完成した成果物をAdaptiveアプリケーションとして統合ワークフローに引き渡します。Adaptiveアプリケーションそのものは実行可能ファイルの集まりです。実行可能ファイルには、そのアプリケーションを実装するためのソフトウェアコンポーネントが含まれています。
Adaptiveトポロジーとマシンの設計
ネットワークトポロジーの設計
PREEvisionには、マシンやスイッチを含むEthernetネットワークをモデル化し、そのEtnernetネットワークをゲートウェイ経由で既存のトポロジーに接続するためのネットワーク図が用意されています。

マシン
Adaptive AUTOSARでは、Adaptiveソフトウェアはマイクロプロセッサーが搭載されたマシン上で実行されます。このマイクロプロセッサーはコアを複数持つ場合もあります。マイクロプロセッサーのコアには、プロセス対マシンのマッピングによってソフトウェアコンポーネントがマッピングされます。あるいは、そのハードウェアが仮想化されている場合もあります。
さらに、Adaptive AUTOSARでは、Adaptiveソフトウェアはマシン上で実行されます。このマシンは、マイクロプロセッサーが搭載された、時にはコアを複数持つハードウェアである場合も、あるいは、そのハードウェアが仮想化されている場合もあります。このマイクロプロセッサーのコアには、プロセス対マシンのマッピングによってソフトウェアコンポーネントがマッピングされます。
Ethernet通信の設計
サービスのインスタンス化
サービスインスタンスは、通信レイヤー上のサービスインターフェイスです。PREEvisionでは、Ethernetクラスター、VLAN、スイッチ設定、ネットワークエンドポイントなども含めたインスタンスが自動的に作成されます。また、通信パスも作成されます。
サービスインスタンスの設定には、サービスのSOME/IP ID、トランスポートプロトコル(TP)、サービスオファーとサービス検索のためのタイミング情報といったバス通信パラメーターの定義が含まれます。また、サーバーが受け入れるメソッドの呼出し元や、サーバーからのイベントメッセージの送信先を示す、IPv4またはIPv6でのIPアドレスの定義も必要です。

サービスディスカバリー
サービスディスカバリーメッセージはネットワークノード間で交換されるメッセージで、これによって利用可能なサービスインスタンスを公開したり、発見したりすることができます。サービスディスカバリーの設定には、プロバイダー側でのサービスオファーと、コンシューマー側でのサービスの検索とサブスクライブに必要な通信がまとめられています。

PREEvisionによるAdaptiveのモデル化
AUTOSARは明確な作業順序を規定していませんが、PREEvisionには完全なAUTOSAR Adaptiveシステムのモデル化に必要なあらゆるステップから構成されたワークフローが用意されています。
AUTOSAR Adaptive Explorerは必要なモデルの部分に焦点を合わせ、実際のステップの実行に必要なすべてのテーブルやエディターを提供します。
このExplorerでは、サービス定義からソフトウェアやハードウェア、そして通信の要素に至るさまざまな抽象レイヤーやモデルの部分の間を簡単に移動できます。
デプロイメント
Adaptiveアプリケーション、マシン、サービスインスタンスをAUTOSAR Adaptive Platformに統合することをデプロイメントと呼びます。デプロイメントは設計時に設定できるほか、AUTOSAR Adaptive Platformの実行時にも設定できます。
既存システムにこのような更新、アップグレード、追加ができる点は、AUTOSAR Classic Platformに対するAUTOSAR Adaptiveの大きな優位性の1つです。マシンやAdaptiveアプリケーションのデプロイメントに必要な情報は、いわゆる「マニフェスト」にすべて集約されています。
設定マニフェストのエクスポート
AUTOSAR Adaptive Platformの設定はマニフェストによって行われます。PREEvisionでは、AUTOSAR Adaptiveで定義されているすべてのマニフェストをエクスポートできます。
- Application Manifest
AUTOSAR Adaptive Platformへのアプリケーションの実際のデプロイメントに必要な、実行の依存関係、スタートアップ設定、モード宣言などの情報が含まれています。 - Machine Manifest
マシン、コア、ネットワークエンドポイント、モード宣言など、サービスインスタンスやアプリケーションに依存しない、マシン固有の、1つのデプロイメントプロシージャー用の設定が含まれています。 - Service Instance Manifest
サービスインスタンス、サービスディスカバリー設定、サービスインスタンスからマシンへのマッピングのほか、オプションでサービスインスタンスからソフトウェアコンポーネントのポートへのマッピングが含まれます。この形式はデプロイメント時に使用されます。
形式 | ユースケース | AUTOSARのバージョン |
Service Interface Description | インポート/エクスポート | 17-10 |
Application Manifest | ||
Machine Manifest | ||
Service Instance Manifest | ||
Application Description | ||
カスタム | エクスポート |
パートナーとのコラボレーション用に、Service Interface Descriptionなどの設計情報をエクスポートできるほか、独自のカスタムエクスポートを作成することもできます。また、既存のデータをPREEvisionのAUTOSAR Adaptiveモデルにインポートすることができます。
AUTOSAR Adaptiveツールチェーン
PREEvisionはAdaptive AUTOSARツールチェーンの一部です。PREEvisionはAdaptiveシステムとAdaptiveアプリケーションの設計をデプロイメントも含めてサポートしますが、シミュレーションやテストにはCANoeを使用できます。DaVinci Adaptiveツールスイートを使用すれば、実際のAdaptiveアプリケーションを開発できます。

資料
テクニカルアーティクル
サービス指向のソフトウェアアーキテクチャー
AUTOSAR Classic/Adaptiveシステムのギャップを埋める
AUTOSAR Adaptiveは、AUTOSAR Adaptiveに基づくハードウェアやソフトウェアを既存のAUTOSAR Classicシステムのコン
ポーネントと円滑に連携させることができれば、問題なく導入できます。システム全体を異なるプラットフォーム間で最適な形に実装
することはE/E開発にとって次なる大きな課題の1つですが、これら2つの規格のギャップを埋めてくれるのがサービス指向アーキテ
クチャーです。
動画
PREEvisionを使用したモデルベースEEシステム開発
アーキテクチャー設計から量産まで
PREEvisionには、E/Eシステムのあらゆる側面を記述するための包括的なモデリング言語があります。開発プロセスに関わるどのエンジニアにも、それぞれの作業に合わせてカスタマイズされたダイアグラムやエディターが用意されています。それでいながら、すべての作業を1つのツールで行うことが可能です。
所要時間4分、2018年5月公開