UTI UML教育研究所
読み物
OCUPブログ
OCRESブログ
UMLコラムから学ぶ
スキル・キャリアコラム
プロジェクト導入事例
エキスパートインタビュー
資格取得までのステップ
FAQ
教育コンテンツ
キャンペーン
ブックプラス
パートナープログラム
認定ユーザープログラム
お問合わせ
OCUPブログ 第10回

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

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

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

図2-4


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