Modelica
Modelicaはオブジェクト指向プログラミング言語(例えば、C++またはJava)と似ている点があるが、次の2点において顕著に異なる。
まず、Modelicaはプログラミング言語というよりはモデリング言語である。Modelicaで作成されたモデルは、普通にコンパイルされるのではなく、シミュレーションエンジンで解釈できるよう翻訳される。つまりシミュレーションエンジンは実行の順序を決定する為に、式を操作する事がある(シンボリック処理)。
次に、モデルの作成では、プログラミング言語に類似した予約語を含むアルゴリズムのコンポーネントが含まれているかもしれないが、主にモデルの表現においては方程式とのセットで構成される。
典型的な代入文は、以下のように表現する。下記式では、左辺(x)に右辺の式(2+y)から算出された値が代入される。
方程式を表現するには、以下のように表現する。下記式では、左辺と右辺の式が等しいことを表現する。
下記に単純な x ̇ = − c ⋅ x {\displaystyle {\dot {x}}=-c\cdot x} システムを表現したサンプルモデルを示す。
この例では、'parameter'修飾子を使用し変数が時不変であることを示し、'der'演算子で変数の微分を表現する。
Modelicaは主に物理領域システムを表現する為に設計された。以下に電気ドメインを例に基本構築概念を示す。