• 検索結果がありません。

ランナブル間通信に ASCET メッセージと排他領域を使用する

ドキュメント内 ASCET V6.1 AUTOSAR ユーザーズガイド (ページ 102-110)

9.6 排他領域による並行処理制御

9.6.2 ランナブル間通信に ASCET メッセージと排他領域を使用する

ASCET V6.1はAUTOSARの「ランナブル間通信」をサポートしていませんが、ランナブルエンティティのシーケ

ンスコールの割り当てが直接行われていないASCETメッセージを使用して、ランナブル間通信を行うことがで きます。

下の例では、StartupおよびRunnable_Entityという2つのランナブルエンティティが、ASCETメッセー ジmsgを使用してランナブル間通信を行います。

図61: ランナブル“Startup”が “InitializationModule”のプロセス“init”を呼び出し、ランナブル

“Runnable_Entity”が “ComputationalModule”のプロセス“cyclic”を呼び出す

図62: プロセス“init”が “msg”に値0を初期設定する

図63: プロセス“cyclic”が “msg”の新しい値を算出する

ASCETはランナブルStartupおよびRunnable_Entityについて以下のようなCコードを生成します。

initおよびcyclicというプロセスのためにASCETが生成したコードでは、ランナブルStartupがプロセ スinitと同じメッセージコピー(msg__1__)を使用し、ランナブルRunnable_Entityがプロセス cyclicと同じメッセージコピー(msg__0__)を使用していることがわかります。

ASCETコードジェネレータではメッセージを使用したランナブル間通信に対応する保護策を講じています。ランナブルは

ASCETメッセージの読み取りを行う前に必ず排他領域ASCET_exclusive_areaに入り、すべてのメッセージを読み

終えるとその領域から出ます。ランナブル内でメッセージへの書き込みを行う場合も同じように行われます。

10 お問い合わせ先

ETAS 本社 ETAS GmbH

Borsigstraße 14 Phone: +49 711 89661-0

70469 Stuttgart Fax: +49 711 89661-106

Germany WWW: www.etas.com

ETASの各支社と技術サポート

各国の支社と技術サポート窓口につきましては、ETASホームページをご覧ください。

各国支社 WWW: www.etas.com/en/contact.php 技術サポート窓口 WWW: www.etas.com/en/hotlines.php

索引

— A—

ARXMLインポータ, 20

ASCET

ARXML ファイルのインポート, 20 ASCET_exclusive_area の使用, 77

AUTOSAR コンポーネント生成の有効化, 15 AUTOSAR のコード生成に関する設定, 16 RTE アクセスの変更, 66

SWC の開発, 22

アプリケーションエラーの作成, 43 オペレーションの定義, 95

クライアント/サーバーインターフェースの作成, 39 コードの生成, 18

ランナブルエンティティの作成, 61

センダ/レシーバインターフェースの作成, 34 ソフトウェアコンポーネントのモデリング, 87–105 ソフトウェアコンポーネントの作成, 17, 48 データエレメントのインプリメンテーション, 35 適合インターフェースの作成, 45

排他領域の作成, 75

排他領域へのランナブルのシーケンスの割り当て, 77

パラメータのマッピング, 99

モードグループインターフェースの作成, 38 モードグループの作成, 37

使用, 77 AUTOSAR

ランタイム環境, 13 AUTOSAR

VFB, 11

インターフェース, 34–47 オーサリングツール, 12 オペレーション, 40 概要, 11–14

基本的アプローチ, 11

クライアント/サーバーインターフェース, 39 コード生成に関する設定, 15

コード生成, 17

ソフトウェアコンポーネント, 11 ソフトウェアコンポーネント型, 47–55 データ型, 23–33

適合インターフェース, 45 排他領域, 75, 101

ビヘイビアモデリングツール, 14 モードグループ, 37

ランタイム環境, 11

ランナブルエンティティ, 13, 61 AUTOSAR インターフェース, 13

AUTOSARコンポーネント

クライアント/サーバーインターフェースの作成, 39

— B—

BSW型, 23

— P—

Pポート, 49

サーバーポートの作成, 50 センダポートの作成, 49

— R—

RTE, 11, 13 RTE API

クライアント/サーバー通信, 95 センダ/レシーバ通信, 89 引数受け渡しメカニズム, 87 命名規則, 87

Rte_Call, 95 Rte_Enter, 101 Rte_Exit, 101 RTEジェネレータ, 21

RTE フェーズ, 22 コントラクトフェーズ, 22 Rポート, 52

クライアントポートの作成, 54 レシーバポートの作成, 52

— S—

Std_ReturnType, 28 SWCの開発, 22

— U—

UUID, 20

— V—

VFB, 11

— あ—

アプリケーションエラー, 43

オペレーションの戻り値への割り当て, 43 作成, 43

暗黙的通信

ポートからの受信, 70 暗黙的な受信, 69

ポートからの ~, 69 暗黙的な送信, 66

ポートへの ~, 67 イベント, 56

オペレーション呼び出し ~, 58 タイミング ~, 57

モード切り替え ~, 59 インターフェース, 34–47

センダ/レシーバ, 34 適合, 45

インプリメンテーション sdisc を sint8 として, 24 オペレーション, 41 データエレメント, 35 適合パラメータ, 46 デフォルト, 24 レコードの ~, 29, 31 オーサリングツール, 12 オペレーション, 40, 95

ASCET での定義, 95 インプリメンテーション, 41 引数の作成, 40

戻り値にアプリケーションエラーを割り当てる, 43 オペレーション呼び出しイベント, 58

— か—

概要, 11–14

オーサリングツール, 12 ビヘイビアモデリングツール, 14 ランタイム環境, 13

仮想ファンクションバス, 11 基本データ型, 23

セマンティクス付き ~, 26 基本的アプローチ, 11

クライアント/サーバーインターフェース, 39 アプリケーションエラー, 43

インプリメンテーション, 42 オペレーション, 40, 95 作成, 39

クライアント/サーバー通信, 95 クライアントリクエスト, 96 クライアントリクエスト, 73 コード生成に関する設定, 16 コード生成, 17

— さ—

サーバー

並行呼び出し, 72 サーバーの並行呼び出し, 72

有効にする, 72 サンプルデータベース, 8 センダ/レシーバ

インターフェース, 34

センダ/レシーバインターフェース 作成, 34

モードグループ, 37

モードグループインターフェースの作成, 38 モード通信, 81

センダ/レシーバ通信, 89 受信, 93

送信, 89

ソフトウェアコンポーネント, 11 イベント, 56

~ 型, 47–55

クライアントポートの作成, 54 コンポーネント型, 48 サーバーの並行呼び出し, 72 サーバーポートの作成, 50 作成, 17, 48

センダポートの作成, 49 内部ビヘイビア, 56–78 開く, 48

プロジェクトへの挿入, 17 ポート, 48

モードグループインターフェースの挿入, 82 レシーバポートの作成, 52

実装, 87–105

ソフトウェアコンポーネントのモデリング, 87–105 アプリケーションソースコード, 88

アプリケーションヘッダファイル, 88 暗黙的通信による送信, 92, 94 基本概念, 87

クライアント/サーバー通信, 95 クライアントリクエスト, 96 サーバーオペレーション, 95 センダ/レシーバ通信, 89 適合パラメータへのアクセス, 97 排他領域, 101

明示的通信(ステータス付き)による受信, 93 明示的通信による受信, 93

明示的通信による送信, 90 ランナブルのエントリポイント, 88 ランナブル間通信, 102

ソフトウェアコンポーネント開発, 15–22 RTE ジェネレータ, 21

トップダウンアプローチ, 19 ボトムアップアプローチ, 21 ソフトウェアコンポーネント型, 47–55

ランナブルへの割り当て, 63 提供ポート. → 「Pポート」参照 データエレメント

インプリメンテーション, 35 作成, 35

データ型, 23–33 BSW 型, 23

セマンティクス付き基本 ~, 26 デフォルトインプリメンテーション, 24 配列, 32

複合 ~, 29 レコード, 29 列挙型, 26 基本, 23

適合インターフェース, 45 インプリメンテーション, 47 作成, 45

パラメータ, 46 適合パラメータ, 46

ASCET パラメータへのマッピング, 99 アクセス, 97

インプリメンテーション, 46 作成, 46

デフォルトインプリメンテーション, 24 トップダウンアプローチ, 19

— な—

内部ビヘイビア, 56–78 暗黙的な受信, 69 暗黙的な送信, 66 イベント, 56

タイミングイベント, 63 排他領域, 75 ポートからの受信, 68

ポートへのクライアントリクエスト, 73 ポートへのサーバーリクエスト, 71 ポートへの送信, 64

明示的な受信, 68 明示的な送信, 64 ランナブルエンティティ, 61

— は—

排他領域

ASCET_exclusive_area, 77

ドキュメント内 ASCET V6.1 AUTOSAR ユーザーズガイド (ページ 102-110)