MATLAB & SimulinkとData Distribution Service (DDS)との統合

テストおよびシミュレーションシステムにリアルタイムの運用データを供給

Data Distribution ServiceとMATLABの相乗効果 

ADLINKの データ配布サービス(DDS™) は、データ中心のシステムを構築するための 標準API および 相互運用可能なプロトコと相互運用可能なプロトコルのセットで構成されたミドルウェアプラットフォームです。このオープンな技術は、国際標準化コンソーシアム(ああ、神様®)であるオブジェクトマネジメントグループ(Object Management Group®)の管理下にあります。

DDSでは、データとそれに関連するサービス品質が、分散アプリケーションを結びつけて統合する唯一の契約となります。データは、システムの状態、コマンドや返信、ビデオやオーディオのストリーム、ドキュメントやメッセージを表すことができます。

その観点から、DDSは、アプリケーションが場所、API、内部動作を公開する必要がなく、同時にアクティブで稼働している必要もない、分離された柔軟な分散アーキテクチャの構築を支援します。 DDSでは、デカップリングは2次元であり、空間と時間の両方で発生します。 時空で.
この破壊的イノベーションは、 安全で低遅延 および ウルトラハイスループット データの為替レート。さらに、それは極端を提供します 信頼性、自動 発見 および 超高スループット のデータ交換レートを提供します。 さらに、ビジネスおよびミッションクリティカルなモノのインターネット(IoT)アプリケーションに必要な、極めて高い信頼性、自動検出、および超スケーラビリティ機能を提供します。

DDSは、完全に分離された方法で、適切なデータを適切な場所で、適切な時間に、いつでも共有します。

概念的には、DDSは、データを生成・消費するアプリケーションがリアルタイムでフォールトトレラントな方法でデータを共有できる 分散型グローバルデータ空間を構築します。 DDSは、比類のないレベルの信頼性、セキュリティ、パフォーマンスを提供しながら、並外れた決定論的な動作を保証します。

過去10年間で、DDSが幅広いアプリケーションのスペクトルをカバーする唯一の技術であることが証明されています。それは、極端にハードなリアルタイム制約のある組み込みシステムから、システム・オブ・システム、IIoT(Industrial Internet of Things)、あるいは航空交通管制、戦闘管理、スカダコマンド・アンド・コントロール・システムなどの大陸間スケールにまで及んでいます。この技術は、スマートシティ、スマートファクトリー、スマートグリッド、ソフトウェア定義ネットワーク、ロボティクス、ヘルスケアおよび医療機器、輸送および自動車市場にも展開されています。 

VortexDDS® はDDSテクノロジーのマーケットリーダーです。 VortexDDS® は、インテリジェントなデータ共有のためのミドルウェアプラットフォームと、DDSベースのアプリケーションの開発、テスト、チューニング、デプロイメント、モニタリングに必要な生産性ツールの両方を、どこにいても、あらゆる状況で提供します。ローカルエリア、ワイドエリア、低帯域幅、アドホック、モバイルネットワーク、またはインターネット規模にてです。

一方、 MATLAB®は数値計算、科学計算、産業計算の分野で広く使われています。 行列ベースのMATLAB言語は、計算数学の概念を簡単に表現します。 内蔵グラフィックスにより、データからの洞察を容易に視覚化し、洞察を得ることができます。プリビルトされたツールボックスの膨大なライブラリにより、特定の領域で複雑なアルゴリズムを構築することができます。 より大きなデータセット で分析を実行し、クラスタやクラウドにスケールアップすることができます。MATLABコードは、 VortexDDSを含む, 他の言語や技術と統合することができ、本番システムからの と リアルタイムデータでA アプリケーションやアルゴリズムを供給し、 エッジやクラウド に展開することができます。 クラウド.

 同様に、 Simulink®は、マルチドメインシミュレーションとモデルベース設計のためのブロック図環境を備えたモデリングツールです。Simulink®は、システムダイナミクスシミュレーション、システムレベル設計、自動コード生成、組み込みシステムの継続的なテストと検証をサポートします。Simulinkは、グラフィカルエディタ、カスタマイズ可能なブロックライブラリを提供します。Simulinkは Vortex DDSと同様にMATLAB®と統合されており、Key DDSの計算エンティティを表現してモデル化し、1つのモデルにMATLABアルゴリズムを組み込むことができます。その後、コードを生成し、シミュレーション結果をMATLABにエクスポートして更なる解析を行ったり、DDS Global Data Space内のVortex DDSを通して拡散したりすることができます。

Vortex DDS®, MATLAB®とSimulink®は完全に統合 されており、自動車システム、 防衛、航空宇宙飛行制御とアビオニクス、 テレコミュニケーション、産業機械、 医療機器、その他の電子機器を含む広範囲の先進的な製品の設計と開発を可能にします。 Simulink®は、研究開発のための基本的なツールであり、プラットフォームです。

Vortex DDSとSimulinkの統合

Vortex DDS製品には 無料のDDS-Simulinkインテグレーションモジュール が付属しています。DDS-Simulinkインテグレーションモジュールは、DDSがSimulinkモデル内でどのように相互作用するかをモデル化するための専用のビルディングブロックライブラリを提供します。図1に示すように、 パブリッシャー/サブスクライバーサブスクライバー、リーダー/ライター、 トピック などの各DDSエンティティは、Simulinkモデル内で専用のブロックで表現されます。

<br />図1:VortexDDSとSimulinkの統合

図1:Vortex DDSとSimulinkの統合。さらに、各DDSブロックには関連するQoSプロファイルがあり、これを調整して、基礎となるDDSエンティティの動作を制御することができます。
Simulinkデータは バスで表現され、 そのタイプはDDSデータタイプとマッピングする必要があります。 したがって、SimulinkデータをDDSに送信するには、SimulinkタイプからDDSタイプへの変換が必要です。Simulinkバスは、DDSトピックタイプにマッピングされ、その逆も同様です。ユーザーは、IDLファイルから生成するか、Simulinkバスエディタを使用してSimulinkバス定義を生成または作成することができます。

<br />図2:Simulinkバスエディターを使用したデータ型のマッピング

図2:Simulinkバスエディターを使用したデータ型のマッピング必要に応じて、図3に示すように、DDSSQL92クエリ言語を使用してデータをフィルター処理またはクエリできます。

<br />図3:Vortex DDSSimulink統合モジュールを使用したクエリ定義

図3:Vortex DDS Simulink統合モジュールを使用したクエリ定義主要なDDSビルディングブロックとデータタイプが定義され、DDSトピックに関連付けられると、ユーザーはDDSビルディングブロックを相互接続できます。これには、数学関数、時間関数、完全なシミュレーションモジュールを構築するためのSimulinkDisplayブロック。その後、ユーザーは次の図に示すようにシミュレーションを実行できます。

<br />図4:VortexDDSパブリッシャーおよびサブスクライバーモデルとSimulinkの統合

図4:Vortex DDSパブリッシャーおよびサブスクライバーモデルとSimulinkの統合モデルがシミュレーションモードで検証されると、モデルの関連コードを生成およびコンパイル(またはクロスコンパイル)する準備が整います。 Vortex DDSSimulink統合モジュールは Simulinkコーダー 対応するを生成します C DDSビルディングブロックからのコード。コンパイルすると、DDSを介して分散した方法で選択したターゲットでシミュレーションを実行できます。

結果として得られたシミュレーションモデルは、他のDDSアプリケーションと通信して、シミュレーション結果をネットワーク上に伝達したり、フィールドからのリアルタイムデータをシミュレーションモデルに供給したりすることができます。 

次のセクションでは、MATLAB Vortex DDSクラスのインスタンスがMATLABで作成され、次のセクションで示すようにDDSエンティティと相互作用する方法を説明します。

MATLABとVortex DDSの統合

DDS MATLABインテグレーションは、MATLAB言語を使用してDDS通信をモデル化するためのDDS MATLABクラスをユーザーに提供します。
通常、開発フェーズでは、ユーザーは以下の作業を行う必要があります:

  1. 標準のOMG IDLデータ定義言語を使用して DDSデータモデル を定義する。
  2. DDSデータモデルを MATLAB DDSエンティティクラス (例:トピッククラス)に変換します。
  3. MATLAB API for Vortex DDS を使用して、MATLABプログラムを コード化します。.

これらの手順は、以下のコードスナップショットにまとめられています:

<br />図5:MATLABベースのPub SubDDSアプリケーション

図5:MATLABベースのPub SubDDSアプリケーションVortexDDS用のMATLABAPIは、QoS、データフィルタリング、およびクエリの観点からすべてのDDS機能をサポートします。  

結論

Vortex DDSを使用すると、MATLAB / Simulinkベースのアプリケーションを含むシステム統合を実現し、 広範囲に分散されたグローバルデータ空間を構築することができます。 これにより、テストとシミュレーションフレームワークを効果的に統一することができます。

グローバルデータスペースは、セマンティック、QoS、タイプ、コンテンツ、および形式を考慮に入れて、 単一障害点なし ですべての貴重なデータを リアルタイム で処理および管理します。

 あなたのシミュレーションモデルをVortex DDS上で相互作用させ、MATLAB/Simulink上でリアルタイムデータを分析して相互作用させることで利益を得ることができます。

<br />図6:MATLABおよびSimulinkデータを統合およびストリーミングするグローバルデータスペース

図6:MATLABおよびSimulinkデータの統合とストリーミングを行うグローバルデータスペースこのような統合テクノロジーは、 状況認識層 グローバルデータスペースの上に配置して、システムを制御および監視し、エンドユーザーに付加価値サービスを作成します 最小コストで.

MATLAB - SimulinkとVortex DDSの統合について詳しく知りたい場合は、 ホワイトペーパーをダウンロードしてください。.

Vortex DDSに関するお問い合わせは、 こちらまでご連絡ください。.

ラムジ・カロウイ
ラムジ・カロウイ

ADLINKテクノロジーのプロダクトマネージャー