Cyber-Physical Systemsのモデリングについて

3年程前にGME(Generic Modeling Environment)というツールを試したことがあります。

  1. GME: Generic Modeling Environment

これはメタモデリングツールで、現在のeclipse GMFに近いものでした(試した当時の話で、今はもっと進化していると思います)。米国のナッシュビルにあるVanderbilt大学の計算機学科内で作成し公開しています。このモデリングツールは、幾つかの大学や軍関係の航空機製造企業などで使われていると聞いていますが、きっと自動車業界などでも同様に利用できるだろうと思います。正直、良く出来ていました。

さて、再度ですがInfoQの記事のなかに、OOPSLA 2008でのVanderbilt大学の先生の講演が公開されていました。

  1. Convergence: Model-Based Software, Systems And Control Engineering

ちょっと長いのですが、ざっと聴いてみました。講演ではCyber-Physical Systemsと呼んでおり、例えば製造業系と限定している訳ではありません。上に書いた通り多少の予備知識があったので大筋はフォローできました。特に興味深かったのは、導入部分でタイトルにあるSoftware Engineering, Control Engineering, and Systems Engineeringの各々でモデルに基づく設計・開発があり、これを統合するようなことを考えているという点でした。Systems Engineeringでのモデリングは例えば製造業の分野ごとに業界団体が個別のものを作成しており幾つもあるようです。Control EngineeringでのモデリングはMathWorks SimuLink/StateFlowが実現している世界だそうです。Software Engineeringにおけるモデリングは代表としてOMGのMDAの話をしていました。最終的に、各々のモデリング部分をうまく接続・統合したいということです。

講演の最後の方では、この大学(というか講演者)の考える(実装した)ツールチェーンの図を説明しています。製造業系分野の方には当然のことなのかもしれませんが、幾つものモデリング関連機能要素が実現され、狙い通りに連携しないとうまく行きません。この大学では実現レベルは不明ながらなんとか実現した様子でした。

以前実際にソフトウェア分野でGMEを適用してみた時の感想ですが、非常に簡単にメタモデル定義からモデルエディタが生成でき、また生成に当たっては一部にデフォールト設定があるため、大した仕事(設定作業)は必要ありませんでした。UMLで言うと、ステレオタイプ付きのコンポーネント、ポート、リンクなどのアイコンをパレットからdrag and dropできるようなエディタが作成できました。一つだけ困ったことは、ネスト構造が多段になると深い部分がうまくダイアグラム表現できなくなる、ということでした。それ以外は(現在の)GMFより簡単に使えました。

このツールセットは実際の現場で使えるかという疑問が出ると思います。米国では幾つも事例があるようです。しかし、まずはメンテナンスが不安です。仕様通りにきちんと動作していれば良いのですが、何かあった時に米国の大学にタイムリーな維持管理を期待する訳に行きません。更に、適用領域で上で書いた多段ネスト(3段以上)を必要とするのであれば、GMEを使うのは難しくなってくるでしょう。

Cyber-Physical Systemsでは、ソフトウェア分野が対象のUMLだけでなく、Control EngineeringとSystems Engineeringについても良いツールを用意し、それらをうまく連携させて全体の設計そしてコード生成が出来る標準的な仕組みを確立して頂きたいと思いました。この大学のやり方は一つの興味深いアプローチです。

Cyber-Physical Systemsのモデリングについて

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中