SOAモデリングについて

今月(2008年12月)開催されたOMG会議の結果概要がプレスリリースの形で出ています。OMG Advances Standards at Technical Meeting; Elects New Board Members in Santa Clara, Calif  です。そして、その中に注目のエントリがあります。それがUPMS Submission(UML Profile and Metamodel for Services)です。

この仕様はSOAモデルをUMLの拡張(プロファイル:ステレオタイプ等)で書けるようにするもので、そのためのメタモデルも含まれています。これまでいろいろな人がいろいろな方式でSOAモデルを書いており、それを読む立場の人は、まず書き方を理解するところから入っていました。それが、標準化の目処が立った、ということです。OASISのSOA参照モデルなども参考にしながら作成されており、またWeb Servicesのモデルにならないように配慮してあります。現段階はOMGの標準化プロセスではアルファ版という位置づけであり、見直しを経てベータ版、最終承認を得てOMG標準仕様、という先があります。UPMS改訂提案文書(仕様案)は上のプレスリリースに含まれるURLから入手出来ます。

UML Profileですので、既存UMLツール用にProfileデータを作成すれば直ぐに試す事ができますし、ツールベンダもきっとこのProfileを組み込んだバージョンアップをしてくると思います(保証は出来ないので「期待します」が正しい言い方かもしれません)。是非ともお手持ちのUMLツールでお試しあれ!

SOAモデリングについて

組み込みシステムとモデリングについて

個人的には余り経験がありませんが、モデリングツールの適用先ということで良く組み込みシステムが話題になります。民生品では携帯電話やロボットなどですが、海外では軍関係の領域でいろいろあるようです。考えてみると、単純な券売機や自販機の状態遷移に基づく動作など、もともと向いていたのかもしれません。

iUMLというツールがありますが、基本的にクラス図と各クラスの状態遷移と動作を記述するアクション言語から構成されています。他のUMLダイアグラムを使わないという意味で、UMLサブセット+スクリプトということになりそうです。こうなると、基本となるクラスの選び方・設計が「非常に」重要になります。

メタモデリングツールも良く組み込み系で使われています。多分、電子部品等の組み合わせをコンポーネントとそのポート同士のワイヤリング・接続でうまく表現出来るためではないかと思います。航空機産業でも使われている模様ですし、当然ながら自動車産業でも利用されている筈です(現場は知りませんが)。

先日ロボットのミドルウェアに関する入門書を眺めましたがモデリングを使った説明がありました。興味深かったのはプラットフォームのモデリングで、エンタプライズシステムがWebアプリケーションをマルチティアの形で実現するように、単純には入力・処理・フィードバックというような制御ループの構造をベースにしているようだという点です(実際はもっと複雑なものだと思いますが、分かり易い説明でした)。

(エンタプライズシステム同様)組み込みシステムでも、どんなモデルをどんなプラットフォーム(を抽象化したものやフレームワーク)にマッピングするか、がポイントのようです。モデリングツールは使う人の好みで良いのではないかと思うようになってきました。

組み込みシステムとモデリングについて