シミュレーションエンジン
生命現象の複雑なプロセスをモデル化・シミュレーションするために、セルイラストレータでは、ペトリネットを拡張した方法論を採用しています。以下に記載する二つのシミュレーションエンジンがあります。
スタンダードシミュレーションエンジン
セルイラストレータに完全に包含されたエンジンです。ユーザーは、簡単な操作によってインタラクティブにシミュレーションができるため、作成の途中や簡単なモデルのシミュレーションに便利です。
このエンジンでは次のことができます。
- 生化学反応の数式の指定
- ワークスペースであるウィンドウからのシミュレーションの実行・停止・再開
- シミュレーション結果をチャートに表示・比較
- シミュレーションログを記録し、セルイラストレータプレーヤでのシミュレーションの再生
高速シミュレーションエンジン (SECG - Simulation Engine Code Generator)
SECG は非常に速いシミュレーションエンジンです。スタンダードシミュレーションエンジンと同様にペトリネットを拡張した方法を採用していますが、シミュレーションの速度は、数倍から数百倍になります。また、より大きなシミュレーションモデルを実行することができます。SECG の基本的なアイディアは、プログラム言語に変換したシミュレーションモデルをコンパイルし、実行プログラムとしてシミュレーションを行うことにあります。これらの変換や実行は、セルイラストレータが自動的に行うため、難しいことはありません。
SECG には次の様な特長があります。
- 巨大なモデルのシミュレーションが可能
- パラメタライズドシミュレーションの実行 - モデル内の初期パラメータを変更した多数のシミュレーションの同時実行
- パラメタライズドシミュレーションを利用した最適なパラメータの探索
- シミュレーションモデルのプログラミング言語へのエクスポート
スクリプト言語の互換性について
セルイラストレータで複雑なペトリネットを描くときには、スクリプトを使うことができます。このときのスクリプト言語はセルイラストレータ 4.0 と 5.0 では異なっています。セルイラストレータ 5.0 では多くのスクリプト言語 (simplemath, Java, JavaScript (js), Pnuts) を使用できますが、セルイラストレータ 4.0 では、Pnuts のみを使用することができます。このことが原因で、セルイラストレータ 4.0 で作成したモデルがセルイラストレータ 5.0 でシミュレーションできない、またはシミュレーション結果が異なることがまれに起こります。セルイラストレータ 4.0 のモデルをセルイラストレータ 5.0 でも同じようにシミュレーションするための方法は Writing and Porting Scripts in Cell Illustrator 5.0 をごらんください。