State Management
State Managementは、現在のMachine StateやFunction Group Stateの定義と、
Execution Managementが必要とする状態遷移の初期化を責務とする機能クラスタである。
Execution Managementによって、現在の状態に依存し、現在動作しているProcessに関する
状態遷移と状態制御を行う。
よくわからない1段落。何が言いたいんだろう・・・
状態変化要求は以下によって発生する
- エラーリカバリを目的としたHealth Management(例えば、fallback機能の有効化)
- システムを診断状態に落とすためのDiagnostic
- ソフトウエアのConfigurationやUpdateをするために、
システムを診断状態に落とすためのUpdate and Config Management - 必要とされる機能やネットワークの状態に対応するNetwork Management
- 認証アプリ(例えば、異なるマシンや異なるECU上に配置されている自動車のstate manager)
状態変化要求は、ara::comサービスインターフェースを介して、他のFunctional Clsterから発生する。
State Management機能は重要な機能なので、他のFunctional ClusterやApplicationからのアクセスはセキュアである必要がある。(例えば、IAM(Identity and Access Managementを使う))
State ManagementはPlatform Health Managementによってモニタおよび監督される。
State Managementは、現在の状態に関する情報を要求するためのインターフェースを提供する。
さらに、State Managementは、より細かい粒度のプロセス制御機能を提供する。
(たとえば、late wake-upのサポート、アプリケーション仕様に記述されたリセット処理の実行、アプリケーションの通信のふるまい制御 等)
これら全ては、メモリからProcessを削除することなしに実行でき、異なるスタートアップパラメータでリロードやリスタートすることができる。
State Management機能は、プロジェクト特有であるため、AUTOSARはClassic Platform BswMのような機能仕様を決めた。
State Managementは、以下を目的としている。
- 基本となるサービスのインターフェースを規定する
- 実際の仲裁ロジックを、プロジェクト固有のコード(ライブラリなど)にカプセル化する
仲裁ロジックのコードは、標準的な設定パラメータに基づいて個々に開発され、(部分的に)生成されるかもしれない。
これら、ないしは他の設計は議論中であり、詳細は後の版で規定する。
まあ、後の版を確認しろ、ってことですね