システムとモデリング

SysML, Matlab/Simulink,他モデリング全般について。たまにプロジェクトマネジメント。

モデリングについて想う

昨日MONOistで下の記事がupされたので読んでみました。 monoist.atmarkit.co.jp システムズエンジニアリングは本ブログのテーマでもありますので非常に興味深く読ませていただきました。*1 特に対談の下記の部分が印象に残っています。

松本 そうすると鍵になってくるのは、システムをいかにうまくモデル化するかということでしょうか。

ハイドリッヒ おっしゃる通りです。そこで全体的な大きな課題であるモデルベースのシステムズエンジニアリングとか、モデルフロー型のシステムズエンジニアリングの話に戻ることになります。モデルベースのシステムズエンジニアリングというのは、システム単体だけをモデル化すれば良いか、というとそうではありません。システムに加えて、そのシステムが置かれているコンテキスト、周りの状態―その中には人間も含みますが―その全体をモデル化していくことが必要となります。

『システム(現象)をどのようにモデル化するか?』

これは自分も常日頃から習熟したいと思っているテーマです。例えばシミュレーションを実施する際には ①知りたい問題をモデル化し、 ②モデルから求解する がありますが、

f:id:Otepipi:20180228214728p:plain

②モデルから求解する についてはSimulinkや各種プログラム言語、果ては各CAEツールやエクセルなどツールが数多くあるにも関わらず ① 問題をモデル化する についてはツールと言えるものはほぼありません。SysMLやUMLなど、そしてある意味数字などモデル作成に特化した「言語」は存在するのですが 問題をそういった「言語」にコンパイルしてくれるツールが存在しないのです。

なぜモデル化支援ツールが存在しないのか

モデル化の工程はすなわち「抽象化」です。別の言い方をすれば、物事を「重要なこと」「無視してもいいこと」に分け、「無視してもいいこと」を切り捨てることがモデル化です。 この「重要なこと」「無視してもいいこと」の判断は今も人間にしか行えていないため、モデル化支援ツールが生まれないのだと考えています。 AIが進歩し、「重要なこと」「そうでないこと」の区別がつくようになった時、モデル化は人間が行うのではなくAIが行うものになるのかもしれません。

*1:対談はhttps://www.ipa.go.jp/files/000057564.pdfで全文読めます。