Enterprise Architectのユニファイド版以上のエディションでは、強力な数学ツールや機能をシミュレーションに導入するための機能が利用できます。
ソルバークラスを使用することで、MATLABのような統合された外部ツールの機能と連携させたり、Simulink・Stateflow・Simscape・OpenModelicaのようなツールで実行するためにモデルを出力できます。
さらに、JavaScriptで利用できる数学関数のライブラリが導入され、新しく大幅に拡張されたシミュレーション機能を支援します。
また、スクリプト連携のチャート要素も利用できます。外部ツールを使用することなく、これらのチャート要素を利用することで、Enterprise Architect 内で直接実行されたシミュレーションから情報を抽出し、チャートとして表示できます。
主な特徴
利用可能な連携機能
製品 |
説明 |
MATLAB |
MATLABは、MathWorks社が開発した、広く普及している数値計算環境・プログラミング言語です。MATLABは豊富な数式や公式を提供しており、アプリケーション内で処理したり、Enterprise Architectのような他のアプリケーションに呼び出せます。
Enterprise ArchitectのMATLAB連携は、MATLAB APIを介して接続し、選択したMATLAB関数や式の値に基づいてEnterprise Architectのシミュレーションやその他のスクリプトを実行できます。ソルバークラスを介してMATLABを呼び出したり、モデルをMATLAB Simulink・Simscape・Stateflowにエクスポートできます。 (参考:MATLAB Simulinkの利用) |
Simulink |
ブロック間の有向メッセージのSysMLシミュレーションを実行するためのMATLABのコアアプリケーションがSimulinkです。Enterprise Architectでは、SysMLモデルをSimulink形式に変換し、シミュレーションを自動的に実行したり、選択した変数の出力をグラフとして表示したりできます。また、生成されたSimulinkファイルをSimulinkで直接開くことができ、シミュレーションの設定や出力機能を変更・微調整できます。
一般的なビルトインSimulinkライブラリブロックをEnterprise Architect Simulinkパターンから直接ドラッグ&ドロップしたり、新しいSysPhS標準ステレオタイプパラメータを使用して独自のカスタムビルドブロックを参照したりできます。
Simulinkは、OpenModelicaと同じく、Enterprise Architectでシミュレーションを開発・実行するためのツールです。 (参考:MATLAB Simulinkの利用) |
Simscape |
Simscape は、物理システムのモデリングを可能にする MATLAB Simulink のオプション拡張機能であり、MATLAB に Simscape の膨大なライブラリブロックを使用して、様々な物理ドメインを横断して要求された出力をシミュレートしたりプロットしたりするよう指示します。Enterprise Architectは、SysML内部ブロック図をSimscapeに変換できます。 |
Stateflow |
Stateflowは、MATLAB Simulinkのオプションの拡張機能でもあり、Simulinkで実行するためのMATLAB Stateflowダイアグラムを生成する機能を提供します。Enterprise ArchitectでモデリングしたSysMLの状態マシンからStateflowダイアグラムに変換できます。 |
Modelica |
Modelicaは、複雑な動的システムのモデリング・シミュレーション・最適化・分析のためのオープンな言語標準です。OpenModelica (フリー・オープンソース) や DymolaやWolfram Modeller (市販製品です。これらの製品も Enterprise Architect と連携し動作すると思われますが、動作確認やEnterprise Architectとの統合は行われていません) などのアプリケーションから利用・操作できるファイル構造を定義し、提供しています。 |
OpenModelica |
OpenModelica は Modelica のオープン言語標準に基づいたフリー・オープンソースの環境です。OpenModelica は Modelica ファイルの読み込み・編集・シミュレーションができます。Enterprise ArchitectはOpenModelicaと統合されており、ステートマシン図やパラメトリック図のシミュレーションにおける定数や変数を定義するためのSysPhS標準の下での使用に対応しています。
また、OMEdit - OpenModelica Connection Editor で Enterprise Architect のモデルから SysML ブロック定義図を表示できます。ブロックの別名やノートが表示されます。 OpenModelicaは、Simulinkと同じく、Enterprise Architectでシミュレーションを開発・実行するためのツールです。 |
GNU Octave |
Octaveは数学関数のライブラリです。Enterprise ArchitectのJavascriptエンジンから、利用可能なOctave関数を使用するためにOctaveインタプリタと統合できます。Octaveは、シーケンスと行列に特に重点を置いて、MATLAB関数の代替手段を提供します。 |
JavaScript Math Library |
JavaScript Math Libraryは、Enterprise Architect内のJavaScriptに直接組み込まれたCephesの数学ライブラリの実装であり、スクリプト化されたシミュレーション内(またはスクリプト連携のチャート・モデルアドインなど)での高度な数学関数の使用を可能とします。 |
ソルバー
製品 |
説明 |
ソルバークラス |
ソルバークラスは、様々な外部ツールへの共通のAPIを提供します。これは、Enterprise Architectで使用されるどのJavascriptエンジンでも利用でき、MATLABやOctaveから数学関数を呼び出す際に特に有用です。外部ツール内で処理結果を確認したり、Enterprise Architect内で表示するためにJavaScriptエンジンに持ち込んだりできます。 (参考:ソルバー) |
MATLAB |
MATLABソルバーは、MATLABがコンピュータにインストールされている場合に利用できます。ソルバーはMATLAB APIを使用して、利用可能な幅広いMATLAB関数へのアクセスを提供します。 |
Octave |
Octaveソルバーは、Octaveがコンピュータにインストールされている場合に利用できます。ソルバーは、Octaveインタプリタと直接通信し、Octave環境内で関数やデータにアクセスできるようにします。 (参考:データセットの利用) |
シミュレーションの設定
種類 |
説明 |
設定要素 |
SysMLSim設定成果物は、Enterprise ArchitectでSysMLシミュレーションの設定や実行時の値を指定するために設計された成果物です。仕様の設定は、SysMLシミュレーションの設定ウィンドウで行います。 |
The SysML Extension for Physical Interaction and Signal Flow Simulation (SysPhS) Standard |
SysPhS標準に従ったモデルを作成する場合には、設定要素を利用するのではなく、各要素内で変数・定数・初期値を定義してシミュレーションを実行できます。これにより、変数・定数・初期値をダイアグラムやSysMLブロック上の追加区画に表示することができるため、シミュレーションの設定をダイアグラム内で視覚的に確認できます。 (参考:SysPhS シミュレーション) |
複数のデータセットの定義 |
パラメトリックモデルで使用されているSysMLブロックは、シミュレーション設定の中で複数のデータセットを定義できます。これにより、同じSysMLモデルを使用して異なる条件・初期値でのシミュレーションを行うことができます。 |
主な利用方法
内容 |
説明 |
|
|
|
|
SysML SysPhSのシミュレーション |
|
状態マシンからStateFlowに連携 |
|
状態マシンに対してEnterprise Architectのシミュレーション機能を利用 |
|
注意: |
|
参照: