主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

金宝appメッセージの概要

メッセージベースの通信はさまざまなアプリケーションで必要とされます。たとえば、システムの複雑化に対応するために、集中型アーキテクチャを分散型アーキテクチャに置き換える、制御システム アーキテクチャなどです。分散型アーキテクチャでは、システムの複数のコンポーネントは共有ネットワークを介して通信します。

分散型アーキテクチャには次の 3.つの要素があります。

  • コンポーネント — 定義済みの 输入输出インターフェイスで一連の機能またはアルゴリズムを実行する設計の分割を表します。一般に、コンポーネントはイベントおよびデータを非同期で生成します。

  • インターフェイス——システムのコンポーネントが通信する共有の境界を提供します。非同期通信を提供する場合,メッセージは,イベントを関連するデータと組み合わせる便利なモデリングアーティファクトです。

  • ミドルウェア — 共有ネットワーク全体の非同期通信をサポートするためにコンポーネントに必要なサービスを提供します。

以下の図は、分散型アーキテクチャとその要素の構造を示しています。

基于消息的建模框架

このようなアーキテクチャをモデル化する場合、通常、明確に識別可能、再利用可能、および配布可能なコンポーネントをモデル化します。コンポーネント間で非同期イベントベースの通信を実現するには、メッセージ送受信インターフェイスを使用します。ミドルウェアをモデル化し、メッセージ送受信コンポーネントの数に基づいて、1.対多、多対 1.多対多など、コンポーネントの接続性を表すネットワーク トポロジの接続構造を容易にします。例については、複数の送信側および受信側をもつ共有通信チャネルのビルドを参照してください。

金宝app®五、模拟事件®、および 状态流®を使用して分散型アーキテクチャをモデル化する方法については、以下の図を参照してください。この図には、参照モデルとして作成された 2.つのメッセージ送信コンポーネントと 2.つのメッセージ受信コンポーネントが含まれています。金宝app模拟邮寄ブロックと接收ブロックを使用する送受信インターフェイスでコンポーネントをモデル化します。送受信インターフェイスに状態が関係する場合、または判定ロジックが必要な場合は、状态流チャートを使用します。

使用Simulink、Stateflow和SimEvent金宝apps的基于消息的建模

コンポーネントとインターフェイスをモデル化した後、以下を行います。

  • SimEventsを使用してミドルウェアをモデル化し、分散型アーキテクチャの動作をシミュレートします。SimEventsライブラリのブロックを使用して、メッセージのマージ、遅延、配布、およびブロードキャストなど、カスタム ルーティングと通信パターンをモデル化して、通信ネットワークに対するミドルウェアの効果を調べることができます。

  • インターフェイスを含め,コンポーネントのコードを生成し,ミドルウェアまたはオペレーティングシステムの通信APIに接続します。

メッセージ送受信インターフェイスのモデル化とコードの生成

まず、メッセージ ブロックがどのように動作するのかを理解します。メッセージを使用するモデルを作成するには、邮寄ブロックを使用してデータを変換し、メッセージおよび接收ブロックを送信してメッセージを受信し、データに変換します。邮寄ブロックと接收ブロックの動作方法を示す簡単な例については、メッセージの送受信のアニメーション化および理解を参照してください。

邮寄ブロックと接收ブロックを使用してコンポーネントのメッセージ送受信インターフェイスをモデル化します。送受信インターフェイスの基本的な作成方法を示す例については、ソフトウェア コンポーネント間におけるメッセージ送受信インターフェイスの確立を参照してください。同じモデルのコードを生成する方法の詳細については、金宝app模拟コンポーネント間の通信のための C++メッセージの生成(嵌入式编码器)を参照してください。

カスタム動作の送受信インターフェイスをさらに変更できます。たとえば、受信インターフェイスの実行をデータの入手時に同期できます。詳細については、メッセージの可用性に基づいて実行されるメッセージ受信インターフェイスのモデル化を参照してください。

モデル化した後、送受信インターフェイスのコードを生成し、それらをミドルウェアまたはオペレーティング システムの通信 美国石油学会に接続します。最上位モデルのコードを生成し、外部メッセージ プロトコル サービス (DDS、ROS、SOMEIP、POSIX)メッセージなど) を使用する分散システムでアプリケーションの通信を許可する例については、生成C++消息,在Simulink与操作系统或中间件之间进行通信金宝app(嵌入式编码器)を参照してください。

分散型アーキテクチャにおけるミドルウェアの効果のシミュレーション

队列ブロックを使用してメッセージを格納し、並べ替えてキューに入れます。队列ブロックを使用すると、メッセージ遷移に対するメッセージのストレージ容量、上書きポリシー、および並べ替えポリシーを指定できます。队列ブロックの動作方法を示す簡単な例については、队列ブロックを使用したメッセージの管理を参照してください。

SimEventsを使用して通信ネットワークに対するミドルウェアの効果をモデル化およびシミュレーションすることもできます。SimEventsライブラリにより提供されるブロックを使用し、メッセージ ルーティング、ピアツーピア通信、ワイヤレス通信、パケット損失、およびチャネル遅延をモデル化します。SimEventsの詳細については、Simulink模型中的离散事件仿真金宝app(模拟事件)を参照してください。

SimEventsでモデル化できる基本的な通信パターンについては、SimEventsによるメッセージ通信パターンのモデル化を参照してください。これらのパターンの組み合わせを使用して、より複雑な通信動作を作成できます。複数のメッセージ送受信コンポーネントと、遅延を伴う理想的な共有チャネルをもつシステムの例については、複数の送信側および受信側をもつ共有通信チャネルのビルドを参照してください。チャネル エラーとパケット損失を伴う共有ワイヤレス チャネルをもつモデルについては、パケット損失およびチャネル エラーを伴うワイヤレス メッセージ通信のモデル化を参照してください。

CSMA/CDプロトコルを使用するイーサネット通信ネットワークなど、より複雑なネットワークの動作をモデル化する方法の例については、CSMA / CDプロトコルを使用するイーサネット通信ネットワークのモデル化を参照してください。

メモ

SimEventsブロックはコード生成をサポートしません。

参考

||||

関連するトピック