ストラタジーナム メニュー

2006年4月18日火曜日

UML中級講座 第12回 コア・パッケージ

本日は、前回の言語アーキテクチャの続きで、コアパッケージにつて解説したいと思います。

コアパッケージ


UMLのアーキテクチャでは、モデル・レイヤーの上にメタモデル・レイヤーがあり、さらにその上に、メタメタモデル・レイヤーが存在すると言うお話をしました。
では、このメタメタモデルの言語仕様を定義する場としてメタメタメタモデルが存在するのかというと、そうではありません。
実は、M2レイヤーとM3レイヤーの言語仕様はほとんど同じなのです。
これは、M1レイヤーの言語使用に関しても、ほぼ同じことが言えます。
そのために、UMLでは、各レイヤーに共通する言語仕様を一ヶ所でまとめて定義し、それをコアパッケージと呼んで、各レイヤーで共通利用しています。
また、このコアパッケージは、UMLだけではなく、他の言語を定義する際にも利用されています。
(図2−4参照)

(なぜ、言語仕様が同じなのに、レイヤーを分けるのかは、次回触れたいと思います。)



図2−4




このコアパッケージは、抽象度は高いのですが、逆に内容は極めてシンプルです。
例えば、可視性には、プロテクト(#)とかパッケージ(〜)がなく、単にパブリック(+)とプライベート(ー)の2種類しかありません。
そして、メタモデル図の表記もモデル図よりもずっとシンプルです。