SimEvents

メッセージ通信と離散イベントシステムのモデル化とシミュレーション

 

SimEvents® により、離散イベント シミュレーション エンジンとコンポーネント ライブラリを使用して、Simulink やイベント駆動型のプロセスでメッセージベースの通信をモデル化し、イベント駆動型のシステムモデルを分析して、レイテンシ、スループット、パケット損失などの性能特性を最適化できます。待ち行列、サーバー、スイッチなどの事前定義済みブロックを使用して、スケジューリングや通信のためのルーティング、処理の遅延、優先順位付けをモデル化することができます。

SimEvents では、タスクのタイミングとリソースの使用状況が分散制御システム、ソフトウェアおよびハードウェア アーキテクチャ、通信ネットワークのパフォーマンスに及ぼす影響を調査できます。また、予測、キャパシティ プランニング、サプライチェーン管理に関する判断決定のためのオペレーショナル リサーチを実施することもできます。

今すぐ始める:

Simulink の離散イベント シミュレーション

SimEvents による離散イベント シミュレーションでは、ハイブリッド システム モデル、エージェントベース モデル、ステートチャート、プロセスフローを使用してイベント駆動型通信を分析および最適化することができます。

このモデル化およびデータ分析の統合環境では、以下を行うことができます。

  • 航空宇宙、自動車、エレクトロニクス分野向けの分散制御システム、ハードウェア アーキテクチャ、センサー、通信ネットワークの設計
  • 製造およびオペレーションのためのプロセスフローのモデル化、キャパシティ プランニングの実行、サプライチェーンの最適化
  • 通信ネットワークのエンドツーエンドのレイテンシ、スループット、パケット損失、およびその他の性能特性の分析および最適化
  • 待ち行列、ルーティング アルゴリズム、処理遅延、優先順位付けスキームのカスタマイズ
  • 時間ベース、イベントベース、およびエージェントベースのコンポーネントを含むハイブリッドシステムのシミュレーション
  • イベント駆動型プロセス (自律エージェントを使用したミッションプランや製造プロセスの段階など) のシミュレーション

エンティティ、メッセージ、イベント、リソース

SimEvents は、フォームまたはエンティティ、メッセージ、リソースのいずれかで、モデル内で関心のある離散項目のモデル化に使用されます。

エンティティとメッセージ

SimEvents では、通信システムのパケットや空港の誘導路の飛行機など、関心のある離散項目を表すエンティティまたはメッセージを作成できます。システム内でメッセージやエンティティを生成、移動、処理すると、パケットの到達や飛行機の出発などのイベントが発生します。その結果、このようなイベントによってシステムの状態が変更され、システムの動作に影響します。

SimEvents を使用して、さまざまな運用プロセスをモデル化、解析、および最適化します。

属性とリソース

送信先アドレス、処理時間、サーバーの遅延などの属性を使用してエンティティを特徴付けることができます。エンティティは、リソースを取得して解放することもできます。これは、エンティティがタスクまたはイベントを完了するために使用する物資や機械、または人を表す場合があります。

Lockheed Martin は、F-35 機体の離散イベントモデルを開発し、シミュレーションを高速化して、結果を補間しました。

イベントアクションとエンティティのプログラムによる制御

イベントアクションやメッセージ、またはエンティティは、次の方法でプログラムによる制御を行うことができます。

  • Generator、Queue、Server ブロックなどのさまざまなブロックで発生するエンティティイベント向けに MATLAB のコードを記述します。このようなイベントアクションでは、エンティティの属性や優先順位を操作できます。
  • イベントアクション内で、エンティティを変更して従来の時間駆動型実行を開始できる Simulink 関数を呼び出します。
  • カスタムの待ち行列を定義し、エンティティをルーティングして、カスタムのエンティティ操作アルゴリズムを作成します。ここでは、Stateflow Discrete-Event Chart ブロックを使用します。
  • MATLAB Discrete Event System ブロックを使用して、離散イベントモデル用に新しい離散イベントのコンポーネントとブロックを作成します。

SimEvents® を使用して、システム シミュレーションまたは環境モデリングをアルゴリズム モデリングおよびグラフィカル プログラミングに追加します。

SimEvents ブロックと設計パターン

SimEvents は、システム内でメッセージまたはエンティティとそれらのリソースを作成、処理、保存、移動できるブロックを提供します。

  • 待ち行列およびサーバーの単純なネットワークと複雑なネットワークの両方をモデル化できます。
  • ゲートとスイッチングブロックを接続することで、エンティティがイベントに応答して移動するパスを確立できます。このようなパスには、遅延や選択的なスイッチング基準が含まれる場合があります。
  • SimEvents 内の多くのパラメーターをプログラムで判断して、システムの確率的変動をモデル化できます。
  • Stateflow Discrete-Event Chart ブロックまたは MATLAB Discrete-Event System ブロックを使用して、独自ドメイン固有のブロックを構築することもできます。
  • さらに、サブシステムのマスクやライブラリの作成などの Simulink 機能を使用して、他のユーザーが共有して再利用できるコンポーネント ブロックに SimEvents サブシステムを構築できます。

SimEvents の Design Patterns ライブラリには、生成時にエンティティにタイムスタンプを付ける、エンティティの属性を Simulink で信号として抽出するなど、一般的な設計パターン向けに事前に定義済みのブロックが含まれています。

Daimler のエンジニアは、Simulink および SimEvents を使用してシミュレーションを実行し、運用上の意思決定を支援し、製造プロセスの変更の結果を予測し、生産ラインを効率化しています。

結果の解析および可視化

アニメーション化、統計とスコープの使用、およびデバッグにより、モデルの動作への理解を深めます。

アニメーション

組み込みのエンティティ アニメーションを通じて、モデル内のエンティティの動きを観察できます。モデルのエンティティとイベント用に作成したカスタムオブザーバーによって、独自の MATLAB アニメーションを構築することもできます。

SimEvents を使用して、複雑な電気機械および流体デバイスのモデルを開発します。

統計とスコープ

一般的に、SimEvents ブロックでは、平均サービス時間、待ち行列の長さ、サーバーの使用率などの集計指標を監視できる統計が生成されます。カスタムのスコープを使用すると、使い慣れた階段型とステムプロットを使用してこれらの信号を可視化できます。

TriVector は SimEvents を使用して、アレス I ロケットの遅延時間を検証しました。

SimEvents Debugger

SimEvents デバッガーは、ステップごとにシミュレーションを一時停止するか、ブレークポイントを設定してシミュレーション動作を照会することで、モデルのデバッグに使用できスタンドアロンツールです。このデバッガーでは、シミュレーションで発生しうることや発生したことについての詳細情報を含むシミュレーションログも作成されます。このログを検証することで、離散イベント シミュレーションとハイブリッド シミュレーションの両方をデバッグできます。

Airbus Defense and Space は、Simulink と SimEvents を使用して科学的なデータフローをモデル化し、複数日にわたる JUICE ミッションの離散イベント シミュレーションを実行しました。