2. 概念
2.10 ランナブル間連携
2.10.2 ランナブル間連携の操作 2.10.2.1 データ送信
RTEは,IRV変数データのIRV送信アクセス毎に,データ送信のためのAPI(Rte_IrvWrite)を提供 する.
データ送信の挙動
Rte_IrvWriteによりデータ送信が開始された場合の挙動は以下の通りである【nrte_sws_0261】.
(1) 送信対象データをIRV変数データに設定する.
2.10.2.2 受信データ取得
RTEは,IRV変数データのIRV受信アクセス毎に,受信データ取得のためのAPI(Rte_IrvRead)を提 供する.
受信データ取得の挙動
Rte_IrvReadにより受信データ取得が開始された場合の挙動は以下の通りである【nrte_sws_0262】.
(1) IRV変数データをAPIの返り値またはOUT引数に設定する.
2.10.3 ランナブル間連携のデータ一貫性
RTEは,同じIRVを使用するランナブル間の連携について,データ一貫性を保証する
【rte_sws_3516】【rte_sws_3519】.
2.10.4 ランナブル間連携の実現方式
2.10.4.1 データ送信
本RTEでは,IRV変数データ毎のRTE内部バッファにデータを書き込むことでデータ送信を実現す る【nrte_sws_0263】.
2.10.4.2 排他方式
RTE内部でランナブル間連携を実現する場合の排他方式は実装定義とする【nrte_sws_0264】.A-RTE の排他方式は以下の通りである【irte_sws_0020】.
実装データ型 排他方式 プリミティブ実装データ型 (排他しない)
配列実装データ型 OS割込みのブロック 構造体実装データ型 OS割込みのブロック 共用体実装データ型 OS割込みのブロック ポインタ実装データ型 (排他しない)
再定義実装データ型 再定義実装データ型が参照する実装データ型の型に従う
時間パーティショニング機能対応OSにおけるデータ一貫性保証
時間パーティショニング機能対応OSにおいては,ランナブル間連携におけるデータの一貫性を保証 しない.データの一貫性を保証することはECUインテグレータの責任である【nrte_sws_ext_0036】.
非信頼OSAPに所属する処理単位から排他を実現するためのシステムサービスを使用できないため,
本RTEではデータの一貫性保証を行わない.
2.10.5 ランナブル間連携の設定
2.10.5.1 IRV送信アクセス
IRV送信アクセスは,ランナブル(RunnableEntity) の書き込みローカル変数 (writtenLocalVariable)の変数アクセス(VariableAccess)により指定する.
2.10.5.2 IRV受信アクセス
IRV受信アクセスは,ランナブル(RunnableEntity) の読み込みローカル変数(readLocalVariable)の 変数アクセス(VariableAccess)により指定する.
2.10.5.3 IRV変数データ
IRV変数データは,SWC内部振る舞い(SwcInternalBehavior)の直接ランナブル変数
(explicitRunnableVariable)の変数データプロトタイプ(VariableDataPrototype)により指定する.
2.10.5.4 IRV変数データとの接続
IRV変数データとの接続は,IRV送信/受信アクセスのAUTOSAR変数参照(AutosarVariableRef)に より指定する.
2.10.5.5 IRV変数データの初期値
IRV初期値は,IRV変数データの初期値(initValue)により指定する.
2.10.5.6 IRV変数データの初期化タイミング
〔rte_sws_7046〕で規定される初期化条件を満たす場合,RTEは,IRV変数データの値をIRV初期
値で初期化する【rte_sws_7187】.