バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
オブジェクト指向のマルチドメイン・モデリング言語であるModelicaについて簡単に説明。
特に物理現象を表現するモデルの構築に使用される。
Modelica自体はプログラミング言語に類するものとなる。
ただし、一般的なプログラミング言語とは大きく性質が異なる。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
Modelicaとは
確か今回はModelicaってものの話なんだっけ?
どういうものなの?
ここはWikipediaを引用しよう。
Modelica(モデリカ)とは、オブジェクト指向のマルチドメイン・モデリング言語である。他分野に跨る複雑なシステム(例えば、機械、電気、電子、油圧、熱、制御、電力、プロセス指向のサブコンポーネントを含むシステム)のモデリングに最適で、特に物理現象を表現するモデルの構築で使われている。オープンソースである為、特定のツールに依存することなく資産の共有や開発が出来る。言語仕様やメンテナンスは非営利国際組織のModelica協会によって行われており、標準ライブラリとしてフリーで公開されている。
Wikipediaより(https://ja.wikipedia.org/wiki/Modelica)
プログラミング言語・・・なのかな???
そうだね。
Modelica自体はプログラミング言語にカテゴライズされるね。
UMLみたいに言語と言いつつ実は表現方法的なものではない?
Simulinkっぽいって話が前回でてたから。
Modelica自体は純粋とは言い難いが、本当にプログラミング言語。
それをVisual的に編集できるエディアがあって、
それがSimulinkっぽいってだけだねー。
Modelicaのプログラミング言語としての特性
なんかModelicaが純粋なプログラミング言語じゃないような言い方したね・・・。
それはどういうことになるんだ・・・?
まぁC言語とかJavaとかPythonとかRubyのようなイメージとは異なるって意味が含まれてるねー。
???
まぁ一般的なプログラミング言語は割と現実世界に存在するものか、それに類するものを入出力にすると思うんだよね。
例えばファイルだったり通信電文だったり人間の操作だったり。
うん。そうだね。
Modeliacの場合はそういうのはほぼできなくて、
- モデル定義
- 接続
くらいしかない。
モデル定義?
モデル定義はパラメータと方程式(equation)の定義でなりたってる。
オブジェクト指向言語のクラスみたいな感じかな???
構成としてはそっくりだね。
一応Modelicaもオブジェクト指向の思想は組み込んでるというか・・・。
オブジェクト指向自体が元々現実世界のシミュレーションを基礎としているからModelicaのアプローチの方が本来のオブジェクト指向っぽいとも言える。
なんだけど、これを大きな声で言うと宗教論争になりかねないので、
「Modelicaこそがオブジェクト指向」
とは言えないな・・・。
うーん、確かにそこはいろんな人の琴線に触れてしまいそうだ・・・。
というわけで、オブジェクト指向云々は一旦忘れて、
次回は簡単にModelicaのコードを見てみよう。
まとめ
まとめだよ。
- Modelicaの説明。
- オブジェクト指向のマルチドメイン・モデリング言語。
- 機械、電気、電子、油圧、熱、制御などの領域を横断して記述できる。
- Modelicaはプログラミング言語だが、一般的な言語とは性質が異なる。
- シミュレーション特化言語。
- モデル定義としてパラメータと方程式を内包。
バックナンバーはこちら。
コメント