アーキテクチャ
Activateでのクライアントとエンジンの間の以下のワークフローにより、システムのモデリングが処理されています。

OMLコマンドウィンドウ
Activateクライアントでは、OMLのコマンドおよび関数を入力できるCommand Windowを通して直接インタープリターにアクセスできます。
Activateでのブロック定義の作成および変更、モデルの作成、編集および実行、ダイアグラム内の要素の操作、ユーザーインターフェースのカスタマイズ、およびモデルのシミュレーションに必要なデータのプリ / ポスト処理のための関数の定義は、OMLに大きく依存しています。
コンパイラー
コンパイラーは、モデルを関数ブロック、ブロックの相互接続を指定する定義、およびシミュレーションプロセスでブロックが呼び出される順序を指定するスケジューリングテーブルの構造に変換します。
モデルおよびダイアグラム
本ソフトウェアには、モデルを作成、編集、シミュレート、および管理するための機能とそれぞれのダイアグラムが用意されています。
シミュレーター
シミュレーターは、スケジューリングテーブルと、コンパイラーで提供されるその他の情報に基づいて実行されます。
Activateのシミュレーターはハイブリッドなので、離散時間システムや連続時間システム、およびシミュレーションプロセス実行中のイベントに対応できます。シミュレーターでは、解析するシステムの特性に応じてさまざまなソルバーを使用します。
インタープリター
インタープリターは、OMLで記述されてOMLコマンドウィンドウまたはOMLエディターから入力されたブロックパラメータ、関数構文、およびスクリプトを評価します。
OMLインテグレーション
OMLスクリプトおよび数値計算言語は、Activateにパッケージングされており、ブロックパラメーターの定義、モデルの処理、モデルのシミュレーションなどを実行を可能にします。モデルデータのプリ / ポスト処理や、バッチモードのシミュレーションなどの操作を実行するために、多数のOML APIが用意されています。
- OML - ベースの操作
-
- ブロック定義の作成または変更。
- モデルを作成、編集、または実行するためのスクリプトの作成。
- ダイアグラム内の要素の処理。
- モデルのシミュレーションに必要なデータのプリ / ポスト処理。
- OML - 共有のUIコンポーネント
-
- コマンドウィンドウ
- プロットウィンドウ
- OMLの使用例
-
- OMLコマンドの編集および実行。 または からの
- ContStateSpace ブロックダイアグラムでのOML構文を用いたモデルまたはブロックパラメーターの定義。
- OMLを経由したソフトウェア内のデータの交換。
- OML APIを使用したモデルの編集およびシミュレーション。
スコープと表示
本ソフトウェアには、データをプロットするためのScopeブロックと、シミュレーション結果を可視化するためのその他の表示オプションが含まれています。
XMLブロックライブラリ
本ソフトウェアには、モデルを作成するための様々な事前定義済みブロックが格納されたブロックライブラリが含まれています。
ブロックはXMLフォーマットで記述されており、ファイル拡張子は.scbです。各.scbファイルには、グラフィカルプロパティ、ポート、パラメーター、およびインターフェース関数によるブロック定義が含まれています。
インターフェース関数
Evaluation関数は、ブロックのXML定義の一部です。モデルにあるブロックごとに、OMLインタープリターでEvaluation関数を評価して、実際の値を取得します。
アダプター
アダプターは、アーキテクチャのすべてのコンポーネントとのインターフェースとして機能する一般的なコンポーネントです。
Cブロックライブラリ
上述のXMLコンテンツの他に、各ブロックには、ブロック定義を含むシミュレーション関数が付属しています。ほとんどのブロックシミュレーション関数はC言語で記述されており、DLLライブラリとしてシミュレーターで使用されます。
Cコードジェネレーター
本ソフトウェアのエンジンによって、FMIエクスポートなどの操作で必要になるCコードが生成されます。
定式化手法
Activate環境には、ハイブリッドシステムのモデリングを容易にするための基盤となる定式化手法が用意されています。
Activateでイベントの仕様を処理することによって、同期および非同期の両方のダイナミクスを持つモデルの作成が可能になります。さらに、システムのダイナミクスを制御するようにActivateでアクティベーション信号を処理することで、複雑なタイミングでのモデルの構築が可能になります。