連載
» 2019年03月04日 10時00分 公開

AUTOSARを使いこなす(8):AUTOSAR Adaptive Platformのアーキテクチャ (2/3)

[櫻井剛,MONOist]

Adaptive Platform Foundationとは

 まず、APの基本機能を提供するライブラリ群である、Adaptive Platform Foundationについて説明します。

 これらをAAから利用する際には、procedure call(processを持たずに実現できるもの)またはMachine内IPCを介して行います(Library-based)。

  • ara::com Communication Management(CM)
    • Virtual Function Bus(VFB)におけるインタフェースの主要な実現手段です。AA間のインタフェースでは、PSE51の制限上IPCを使用しないことから、AA間で直接インタフェースを持つことはできません。代わりに、CMがそのインタフェースの役割を果たします
    • CMは、Process内通信、Process間通信およびMachine間通信の実現も担い※6)、必要に応じてEnd-to-End Protection (E2E)やSecure Communication(TLS、DTLS、SecOCおよびIPSec)も行います。サービス指向通信として、Machine内ローカル用のIPCや、Machine間のSOME/IP(Scalable service-Oriented MiddlewarE over IP)、DDS(Data Distribution Service for Real-time Systems)に対応します
    • なお、NMの項目で後述するように、Ethernetへの対応を最優先して開発が進められています
  • ara::rest RESTful
    • WebサービスのHTTP/JSONクライアントなどで使われる、REST(REpresentational State Transfer)による通信を可能にします
    • 木構造のメッセージペイロード(Object Graph)、URIとrequest method(HTTPのGET/POST)が基本となります
  • ara::tsync Time Synchronization
    • ECU間の時間同期をつかさどります(CPにおけるStbMとEthTSynに相当)
    • これにより、X-by-WireやSensor Fusionでの複数ECU間の動作の時間同期や、ECU間の相互監視(タイムスタンプ付き)、Secured Communicationにおけるfreshness value(FV)の同期とReplay attackによるなりすまし対策などを可能にします
  • ara::per Persistency
    • Key-Value-Storage(キーと暗号鍵の格納と、キーを指定することによる読み出し)とFile-Proxy(ファイルシステムに類するもの)の2つのメカニズムによる、不揮発メモリアクセスを提供します
  • ara::phm Platform Health Management
    • ソフトウェアの実行を監視(Supervision)し、異常が生じた場合には指定されたActionを実行することができます(CPにおけるWdgMに相当)
    • 監視内容は以下の4種類です
      • Alive Supervision:周期処理が適切な間隔で行われていることの監視(実行間隔が短すぎる場合も検出)
      • Deadline Supervision:非周期処理などでの、ある区間内の実行時間制約の監視(最長/最短範囲内にあることの確認)※CP WdgMとは違い、Start-Endの区間のEndの通知がなくとも、タイムアウトを検出可能
      • Logical Supervision:制御フローの監視(Control Flow Monitoring)
      • Health Channel Supervision:RAM testやROM test、電圧監視などの外部監視メカニズム(external supervision)からの監視結果の利用 ※CP R4.4.0 WdgMにはまだない機能です
    • Action内容としては、SM/EMによる動作モードの切り替え(Machineレベル、Function Group単位またはApplication単位)、Processのリスタート(EMによる)、ウォッチドッグデバイスを介してのリセットなどがあります(後述のDMでのイベントメモリにはまだ対応していません)
    • なお、AP PHMやCP WdgMの共通機能仕様として整備が進められているFO SWS Health Management仕様書は、改訂作業の都合でFO R1.4.0のものが変更なしにR1.5.0に含められていますが、次回のリリースで、AP SWS PHMの構成見直しとともに更新される予定です
  • ara::core Core Types
    • Core Typesでは、複数のFCのpublicインタフェースで使用される共通クラスと機能を定義します。各種エラー関連のものが中心となっています
  • ara::exec Execution Management(EM)
    • EM自身を除き、FCやAAはRAM上にロードされ実行されます。このロード、起動やシャットダウンをつかさどるのがEMです
    • また、プロセスの起動やシャットダウンの条件、および、プロセス起動順序などを制御することができます。また、CP OsにおけるTiming ProtectionやMemory Protectionに相当する部分もEMが担当します
  • ara::iam Identity and Access Management(IAM)
    • セキュリティ面でのアクセスコントロールをつかさどります
    • CPUやRAMなどのリソース割当はカバーしません(IAMではなく、主にManifestやEMの範囲となります)
  • ara::log Log and Trace(L&T)
    • CPにおけるDltに相当し、ログ情報を、規定のプロトコル(LT Protocol、参照文献[4])でネットワーク上に送信したり、ファイルとしての記録、シリアル出力することが可能です
    • これにより、例えば、当該AP ECU内部の振る舞いを外部から参照すること(CPにおけるRTE VFB Tracingと同様)などが、現時点では未完成ではあるものの、将来的に可能になります
  • ara::crypto Cryptography
    • 暗号関連演算(Cryptographic Operations)と暗号鍵管理(Key Management)を提供します。
    • 暗号関連演算(Cryptographic Operations):
      • Hash計算
      • MAC生成/検証
      • 暗号化/復号(Cipher)
      • 署名生成/検証(Signature)
      • 乱数生成(Random)
    • 暗号鍵管理(Key Management):
      • 鍵設定、鍵抽出、鍵複製、鍵生成
      • 秘密鍵導出(KDF)、秘密鍵交換
      • 証明書復号/検証(現時点では未サポートだが今後サポート予定)
      • なお、AP SWS Crypto仕様書は、APIの全面見直し中のためFO R1.5.0では改訂せず、暫定的にR1.4.0のままとなっていますが、今後のリリースで更新される予定です
  • POSIX PSE51 / C++ Standard Template Library(STL):Operating System Interface
    • OS関連APIに関しては、IEEE Std 1003.13-2003における、単一プロセス向けのMinimal Realtime System Profile(PSE51)のものに限定して使用します。このプロファイルは、移植性とFreedom from Interference(FfI、自動車向け機能安全規格であるISO 26262の基本的な要求事項の1つである「cascading failureが発生しないこと」)の観点から選択されています
    • また、C++のStandard Library(STL)をARAの一部として利用することも可能です(ただし、注意点あり)

※6)なお、CMに限った話ではないのですが、FC間ではInter-Functional-Cluster(IFC)と呼ばれる専用インタフェースも利用されます。これはR18-03より導入されました。

Copyright © ITmedia, Inc. All Rights Reserved.