PR

スマートグリッドの構築が期待される中、エネルギー・システムの開発が大きな課題だ。複数のエネルギー変換ユニットを連携させるため、システムが複雑になるからだ。こうした中、航空宇宙や自動車の分野で実績のある「モデルベース開発」の手法をエネルギー・システムの開発に適用する動きがある。本連載では、モデルベース開発の基礎と自動車分野での適用例などを解説すると共に、エネルギー・システムでの導入例を紹介する。(本誌)

 近年、制御ソフトウエア開発の分野で、「モデルベース開発」という言葉を耳にされたことがあるのではないだろうか。組み込みソフトウエアに関する展示会などでは、そこかしこで聞く言葉である。

 モデルベース開発とは、「Model-Based Development」もしくは「Model-Based Design」の訳である。英語版の「Wikipedia」では、「Model-Based Design (MBD) is a mathematical and visual method of addressing problems associated with designing complex control」と解説されている。「Model-Based」という言葉自体は、「モデルを基盤とする」という一般的な意味であることから、2000年以前には、現在とは全く違う意味でも使われていた。だが、今日では制御対象の分野によって微妙に意味することは異なるものの、制御ソフトウエアの開発手法を指すことが多い。

 本連載では、モデルベース開発を、航空宇宙や自動車などの分野で一般的かつ具体的に理解されている「制御ソフトウエアおよび制御対象を数学モデルで記述し、米The MathWorks社の『MATLAB/Simulink』によるシミュレーションを活用して制御ソフトウエアの開発・検証を行う手法」として定義し、様々な側面を紹介していく注1)。第1回は、モデルベース開発の全体像、およびその必要性を、その歴史的背景から解説していきたい。

注1) 何らかのモデルに立脚すれば「モデルベース開発」であるため、「MATLAB/Simulink」を使わない手法をモデルベース開発と言っても問題ないし、実際に文献および提案も多数ある。そのため、本連載では「航空宇宙や自動車、モータ制御、およびそれに類似する分野における制御ソフトウエア開発者」の立場で語るモデルベース開発と理解してほしい。なお、よく似た言葉に「モデル駆動開発(model driven development:MDD)がある。これはUML(unified modeling language)などの図形表現を主体とすることで、より移植性と再利用性の高いソフトウエアを開発しようという思想で、主にオブジェクト指向言語開発の分野で用いられている。