導入
Juzzle は、フランスの産業界で科学シミュレーションの分野で長年使用されている、シミュレータを開発および運用するためのオープンソース開発プラットフォームです。
この環境は、一方では、異種テクノロジ シミュレータ (Matlab、C、scilab、Java、SystemC など) の共存を可能にする相互運用性ツールとして位置づけられていますが、同時に共同開発環境としても、そして最終的にはグリッド コンピューティング指向の運用環境としても位置づけられています。異種ネットワーク上で計算を分散するための統合機能のおかげで、プラットフォームが強化されます。

特徴
(すべてを網羅しているわけではないリスト):
- フェデレーション タイプのアプリケーションの定義。階層的で異種の処理チェーンをグラフィカルに定義する可能性を提供します (各モジュールは異なるテクノロジで開発できます)。アプリケーションの領域に応じて、実験ベンチ用のテスト シーケンサー、デジタルシミュレーション エンジン (時間駆動、データ駆動、SystemC など) など、いくつかの実行エンジンが利用可能です。
- 外部エンジンとのインターフェースの可能性(無料またはライセンスの対象)
- Java、C、 Fortran 、Adaマシン用の統合開発環境
- Java、C、Fortran、Ada フェデレーション用の統合開発環境 (フェデレーションのグラフィカル エディタからソース コードの構文エディタを直接呼び出し、インターフェイス コードの生成、コンパイラの自動呼び出しとリンクの編集)。
- マシンとノードジャズルインターフェイスに関する任意のマシンの操作、
- 任意の Juzzle マシンで実行される統計調査の実行、
- ケーススタディの実行(あらかじめ決められた組み合わせによる機械入力パラメータの変化)、
- ローカル、リモート、マルチマシン、および任意の Juzzle マシンの遅延実行、
- Matlab、scilab、octave、および Excel との後処理のためのインターフェイス
- チェーンスクリプトを定義して、他のいくつかの Juzzle マシンのチェーンを実行するマシンを作成する可能性 (同じマシンを複数回実行する可能性、得られた結果に対してテストを実行する可能性など)
- SystemC、ptolemy、SPW などの他の開発プラットフォームとのインターフェース。
- 多数のインポート/エクスポート機能 (特に XML)。

スクリプトベースのシミュレータ
このタイプのシミュレータの処理は、ユーザーがスクリプトで記述します。 JUZZLE では、さまざまな言語を使用できます。
- C
- ジャワ
- フォートラン77
- エイダ95
これらの言語ごとに、JUZZLE HMI 経由で指定されたパラメータを、使用する言語で理解できるデータに自動的に変換できます。シミュレータを実行すると、利用可能なコンパイラを使用してスクリプトに関連付けられた実行可能ファイルが生成され、生成されたネイティブ実行可能ファイルが起動されます。実行が完了すると、スクリプトによって生成されたデータが、Juzzle が理解できる XML データに自動的に変換されます。
したがって、このタイプのシミュレータを使用すると、移植操作を実行することなく、既存のアルゴリズム コードを再利用することができます。

シミュレータ開発
いくつかの基本的な概念の中で、「機械」という概念が最も重要です。これは、開発され、運用されてきたすべてのシミュレータをまとめたものです。
シミュレーター (マシン) は、ユーザーが以下を定義できるエンティティです。
- パラメータのセット
- 一連の結果
- パラメータに応じた結果を得る処理
パラメータと結果の宣言は、実装されているシミュレータのタイプに関係なく、普遍的に実行されます。一方、治療の定義はさまざまな方法で実行できます。次の段落では、ユーザーが新しいシミュレーター (新しいマシン) を開発するために利用できるさまざまな手段を示します。

