UMLとプログラミング言語について

有名なEMF本の最初のところに書いてありますが、モデルをUMLで書いてもXMLで書いても更にJavaコードで書いても同じように扱えるということから、本質的にこれらは表現形式の違いに過ぎないことが指摘されます。もちろん任意の書き方のものではなく、ある程度ルールに従ったデータなら、ということになります。普通、モデリング言語で記述したものはプログラミング言語で記述したソースコードと比べると抽象レベルが高いものということになっていますが、このEMF本の場合はプログラミング言語といっても構造に関する箇所しかありませんのでそのケースに当てはまらないということです。

以前のポストでモデリング言語としてXMLが使えることに触れましたが、それはテキストエディタだけで仕事が出来ること、そして変換処理の対象として構造化されたテキストは非常に扱いやすいこと、などが理由です。しかし、単純にモデルを示して相互理解を図ることが目的であれば、やはりグラフィカルなUMLなどが良いと思います。

さて、UMLはプログラミング言語になれるでしょうか?OMGではExecutable UMLという仕様を開発しているようですし、以前UML用のVirtual Machineの研究をしているという方とお話をしたことがあります(限られた範囲で動いているとのことでした)。しかし元々抽象レベルが高いということは、詳細を切り捨てていると言うことでもあり、それを直接実行するというのは私にも「?」のところがあります。記述対象の構造面についてはUMLでもかなり記述できると思います。しかし、振る舞い面については状態遷移図がせいぜいではないでしょうか?UMLモデルがクラス図と状態遷移図だけから構成されるようなシンプルなシステムなら可能かもしれないと、余り自信はありませんが思います。

逆に、プログラミング言語が、例えば、ある使い方をするとUML相当の役割を果たす、というようになれば学習する言語の種類が減って良さそうですが、実際はそのプログラミング言語の複雑さが増すだけで、逆効果かもしれません。それに他のプログラミング言語利用者からは利用できないという問題も出てきそうです。やはり分かれていた方が良いようです。こういった意味で、XMLを使うというのは一つの選択肢なのかもしれません。

UMLとプログラミング言語について

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中