2. 概念
2.7 S/R 連携
2.7.4 S/R 連携の操作
表 2-9 受信キューの遷移
受信キューの遷移 説明
データ送信 送信側ポートからデータが送信された.
・ 2.7.4.1イベントセマンティックスのデータ送信の挙動に示す処理を行う.
受信データ取得 受信側ポートでデータを取得した.
・ 2.7.4.3イベントセマンティックスの受信データ取得の挙動に示す処理を
行う.
表 2-10 受信キューの状態遷移表
遷移
受信キューの状態 データ送信 受信データ取得
キュー空状態 (初期状態) キューイング状態 キュー空状態 キューイング状態
[キューが満たされていない]
キューイング状態
[キューが満たされている]
キューあふれ状態
[キューに1つのデータがキューイ
ングされている]
キュー空状態
[キューに2つ以上のデータがキュ
ーイングされている]
キューイング状態 キューあふれ状態 キューあふれ状態 キューイング状態
2.7.4 S/R連携の操作
(1) RTEは,データ送信時に指定された値を受信側ポートに伝搬する.
(2) 受信側ポートにおいてフィルタが有効である場合,規定のアルゴリズムに従い値のフィルタを 実施する.フィルタ対象となった場合,(3)以降を実施しない.
(3) 受信側ポートにおいて伝搬が完了すると,受信データセットを伝搬された値に設定する
【rte_sws_2520】.そして,受信データセットの状態を「正常状態」に移行する.
イベントセマンティックスのデータ送信の挙動
Rte_Sendによりデータ送信が開始された場合の挙動は以下の通りである【nrte_sws_0068】.RTE
は,各受信側ポートへの値の伝搬を独立して行うため,以下の手順を受信側ポート毎に並行して実施 する.
(1) RTEは,データ送信時に指定された値を受信側ポートに伝搬する.
(2) 受信側ポートにおいて伝搬が完了すると,以下の方法で受信への値のキューイングを行う.
キューが満たされていない場合,値をキューの最後に追加し,受信キューの状態を「キューイ ング状態」に移行する.
キューが満たされている場合,値を破棄し,受信キューの状態を「キューあふれ状態」に移行 する【rte_sws_2523】.
データ送信時に検出したエラーの影響
ある受信側ポートへの値の送信中に検出したエラーが,他の受信側ポートへの値の伝搬に影響を与 えないことを保証する【rte_sws_1082】.
受信側ポートへの値の伝搬順序
複数の受信側ポートが存在する場合,どの受信側ポートから順に値の伝搬を開始するかの順序は実 装定義とする【nrte_sws_0020】.
受信側ポートへの値の伝搬の同期性
RTEは,全受信側ポートへ値が同時に伝搬されることを保証しない【rte_sws_a_0020】.また受信 側ポートへ値が伝搬される順番についても保証しない【nrte_sws_0021】.
2.7.4.2 データ無効化
RTEは,データ要素毎に,データ無効化のためのAPI(Rte_Invalidate)を提供する.送信側SW-Cは,
提供されたAPIを使用することができる.
データ無効化の挙動 (無効値受信時処理keepの場合)
無効値受信時処理keepの場合に,Rte_Invalidateによりデータ無効化が開始された際の挙動は以下 の通りである【nrte_sws_0069】.RTEは,各受信側ポートへの無効値の伝搬を独立して行うため,以 下の手順を受信側ポート毎に並行して実施する.
(1) RTEは,送信側ポートの無効値を受信側ポートに伝搬する.
(2) 受信側ポートにおいて伝搬が完了すると,受信データセットを無効値に設定し,受信データ セットの状態を「無効化状態」に移行する.
無効値受信時処理keepの場合,データのフィルタ処理は実施しない【nrte_sws_0070】.
データ無効化の挙動 (無効値受信時処理replaceの場合)
無効値受信時処理replaceの場合に,Rte_Invalidateによりデータ無効化が開始された際の挙動は以 下の通りである【nrte_sws_0071】.RTEは,各受信側ポートへの無効値の伝搬を独立して行うため,
以下の手順を受信側ポート毎に並行して実施する.
(1) RTEは,送信側ポートの無効値を受信側ポートに伝搬する.
(2) 受信側ポートで伝搬が開始すると,伝搬される値を初期値に置き換える.
(3) 受信側ポートにおいてフィルタが有効である場合,規定のアルゴリズムに従い値のフィルタ を実施する.フィルタ対象となった場合,(4)以降を実施しない.
(4) 受信側ポートにおいて置き換え後の値を受信データセットに設定し,その受信データセット の状態を「正常状態」に移行する.
受信側ポートへの無効値の伝搬順序
複数の受信側ポートが存在する場合,どの受信側ポートから順に値の伝搬を開始するかの順序は実 装定義とする【nrte_sws_0022】.
受信側ポートへの無効値の伝搬の同期性
RTEは,全受信側ポートへ無効値が同時に伝搬されることを保証しない【rte_sws_a_0021】.また 受信側ポートへ無効値が伝搬される順番についても保証しない【nrte_sws_0023】.
2.7.4.3 受信データ取得
RTEは,データ要素毎に,受信データ取得のためのAPI(データセマンティックスの場合,
Rte_Read,イベントセマンティックスの場合,Rte_Receive)を提供する【rte_sws_6011】. 受信側
SW-Cは,提供されたAPIを使用することができる.
データセマンティックスの受信データ取得の挙動
Rte_Readにより受信データ取得が開始された場合,受信データセットの値をAPIのOUT引数に設
定する【rte_sws_2518】.受信側データセットの状態をAPIの返り値として受信側SW-Cに返す
〔rte_sws_1093〕〔rte_sws_2626〕〔rte_sws_2703〕〔rte_sws_7690〕.
イベントセマンティックスの受信データ取得の挙動
Rte_Receiveにより受信データ取得が開始された場合の挙動は以下の通りである【nrte_sws_0073】.
(1) 受信キューの状態が「キューイング状態」の場合,受信キューから値を取り出し,取り出した値
をOUT引数に設定する.受信キューの状態をAPIの返り値として返す.
(2) 受信キューの状態が「キュー空状態」の場合,受信キューの状態をAPIの返り値として返す
【rte_sws_2525】.
(3) 受信キューの状態が「キューあふれ状態」の場合,受信キューから値を取り出し,取り出した値 をOUT引数に設定する.受信キューの状態を「キューイング状態」に移行する【rte_sws_2524】.
「キューあふれ状態」をAPIの返り値として返す.
2.7.4.4 データのタイムアウト
一定時間のデータ受信がないことによるタイムアウトの挙動
データのタイムアウト監視が有効であり,ECU間連携である場合,RTEは,前回データを受信して からタイムアウト時間が経過したことを検出した際に,受信データセットの値をCOMにより提供され た値に設定し,受信側データセットの状態を「タイムアウト状態」に移行する【rte_sws_5022】.
パーティションの停止/再起動にともなうタイムアウトの挙動
データのタイムアウト監視が有効であり,パーティション間連携である場合,送信側パーティショ ンが停止されたらすぐに受信側にタイムアウトを通知し,受信データセットの状態を「タイムアウト状 態」に移行する【rte_sws_2710】.
2.7.5 S/R連携の実現方式