SimEvents により、離散イベント シミュレーション エンジンとコンポーネント ライブラリを使用して、Simulink やイベント駆動型のプロセスでメッセージベースの通信をモデル化し、イベント駆動型のシステムモデルを分析して、レイテンシ、スループット、パケット損失などの性能特性を最適化できます。待ち行列、サーバー、スイッチなどの事前定義済みブロックを使用して、スケジューリングや通信のためのルーティング、処理の遅延、優先順位付けをモデル化することができます。
SimEvents では、タスクのタイミングとリソースの使用状況が分散制御システム、ソフトウェアおよびハードウェア アーキテクチャ、通信ネットワークのパフォーマンスに及ぼす影響を調査できます。また、予測、キャパシティ プランニング、サプライチェーン管理に関する判断決定のためのオペレーショナル リサーチを実施することもできます。
詳細を見る:
このモデル化およびデータ分析の統合環境では、以下を行うことができます。
- 航空宇宙、自動車、エレクトロニクス分野向けの分散制御システム、ハードウェア アーキテクチャ、センサー、通信ネットワークの設計
- 製造およびオペレーションのためのプロセスフローのモデル化、キャパシティ プランニングの実行、サプライチェーンの最適化
- 通信ネットワークのエンドツーエンドのレイテンシ、スループット、パケット損失、およびその他の性能特性の分析および最適化
- 待ち行列、ルーティング アルゴリズム、処理遅延、優先順位付けスキームのカスタマイズ
- 時間ベース、イベントベース、およびエージェントベースのコンポーネントを含むハイブリッドシステムのシミュレーション
- イベント駆動型プロセス (自律エージェントを使用したミッションプランや製造プロセスの段階など) のシミュレーション
エンティティとメッセージ
SimEvents では、通信システムのパケットや空港の誘導路の飛行機など、関心のある離散項目を表すエンティティまたはメッセージを作成できます。システム内でメッセージやエンティティを生成、移動、処理すると、パケットの到達や飛行機の出発などのイベントが発生します。その結果、このようなイベントによってシステムの状態が変更され、システムの動作に影響します。
属性とリソース
送信先アドレス、処理時間、サーバーの遅延などの属性を使用してエンティティを特徴付けることができます。エンティティは、リソースを取得して解放することもできます。これは、エンティティがタスクまたはイベントを完了するために使用する物資や機械、または人を表す場合があります。
イベントアクションやメッセージ、またはエンティティは、次の方法でプログラムによる制御を行うことができます。
- Generator、Queue、Server ブロックなどのさまざまなブロックで発生するエンティティイベント向けに MATLAB のコードを記述します。このようなイベントアクションでは、エンティティの属性や優先順位を操作できます。
- イベントアクション内で、エンティティを変更して従来の時間駆動型実行を開始できる Simulink 関数を呼び出します。
- カスタムの待ち行列を定義し、エンティティをルーティングして、カスタムのエンティティ操作アルゴリズムを作成します。ここでは、Stateflow Discrete-Event Chart ブロックを使用します。
- MATLAB Discrete Event System ブロックを使用して、離散イベントモデル用に新しい離散イベントのコンポーネントとブロックを作成します。
SimEvents は、システム内でメッセージまたはエンティティとそれらのリソースを作成、処理、保存、移動できるブロックを提供します。
- 待ち行列およびサーバーの単純なネットワークと複雑なネットワークの両方をモデル化できます。
- ゲートとスイッチングブロックを接続することで、エンティティがイベントに応答して移動するパスを確立できます。このようなパスには、遅延や選択的なスイッチング基準が含まれる場合があります。
- SimEvents 内の多くのパラメーターをプログラムで判断して、システムの確率的変動をモデル化できます。
- Stateflow Discrete-Event Chart ブロックまたは MATLAB Discrete-Event System ブロックを使用して、独自ドメイン固有のブロックを構築することもできます。
- さらに、サブシステムのマスクやライブラリの作成などの Simulink 機能を使用して、他のユーザーが共有して再利用できるコンポーネント ブロックに SimEvents サブシステムを構築できます。
SimEvents の Design Patterns ライブラリには、生成時にエンティティにタイムスタンプを付ける、エンティティの属性を Simulink で信号として抽出するなど、一般的な設計パターン向けに事前に定義済みのブロックが含まれています。
アニメーション
組み込みのエンティティ アニメーションを通じて、モデル内のエンティティの動きを観察できます。モデルのエンティティとイベント用に作成したカスタムオブザーバーによって、独自の MATLAB アニメーションを構築することもできます。
統計とスコープ
一般的に、SimEvents ブロックでは、平均サービス時間、待ち行列の長さ、サーバーの使用率などの集計指標を監視できる統計が生成されます。カスタムのスコープを使用すると、使い慣れた階段型とステムプロットを使用してこれらの信号を可視化できます。
SimEvents Debugger
SimEvents デバッガーは、ステップごとにシミュレーションを一時停止するか、ブレークポイントを設定してシミュレーション動作を照会することで、モデルのデバッグに使用できスタンドアロンツールです。このデバッガーでは、シミュレーションで発生しうることや発生したことについての詳細情報を含むシミュレーションログも作成されます。このログを検証することで、離散イベント シミュレーションとハイブリッド シミュレーションの両方をデバッグできます。