UTI UML教育研究所
OCUP(オーカップ)とは OCRES(オークレス)とは スキルアップ・キャリアアップのためのコンテンツはこちら 会社案内 お問い合わせ
ファンダメンタル
インターメディエイト
アドバンスト
模擬試験(メルマガ会員専用)
OCUPブログ
OCUP・UML関連ニュース
イベント・セミナー
企業導入事例
トレーニングスケジュール
OCUP認定書籍
認定ユーザープログラム
資格取得までのステップ
受験申込み方法
バウチャーチケットの購入
FAQ
パートナープログラム
コラム
エキスパートインタビュー
メールマガジンのご案内
ブックプラス
キャンペーン
OCUPブログ 第7回

本日は、メタモデルとモデル図の関係、そしてメタクラスについて議論して行きましょう。

メタモデル、メタクラス
UMLは構造と振る舞いを持つ対象をモデル化する言語です。そして、UML自身も構造と振る舞いを持ちます。すなわち、UMLは自分自身をモデル化することができ、その自分自身のモデルのことをメタモデルと呼びます。個々のオブジェクトの集まりをクラスとしてまとめたように、個々のクラスをさらにまとめたものをメタクラスと呼びます。
「ミケ」や「タマ」などの個々の「猫」オブジェクトをすべて集めたものを「猫」クラスと呼ぶように、「猫」クラス、「犬」クラスなどモデル作成で使用するクラスをすべて集めたもの、つまりクラスのクラスをメタクラスと呼びます。

図2-1 メタモデリング
図2-1 メタモデリング

図2-1の例で示される様に、「人」クラスや「車」クラスは「Class」というメタクラスのインスタンスの関係になります。また注意を要する点として、モデル作成で使用される要素は、メタモデル化されるとすべてメタクラスとなります。
つまり、モデル作成で用いられる関連「所有する」は、メタモデルでは「Association(関連)」メタクラスとなります。そして、通常のモデル図の世界とメタモデル図の世界は別のレイヤー(層)として区別され、モデル作成を行うレイヤーのことをモデルレイヤー、メタモデルのレイヤーをメタモデルレイヤーと呼び、レイヤー間の個々の要素の関係はインスタンスの関係となります。(図2-1中の<<InstanceOf>>というステレオタイプで示された従属関係)

このOCUPブログは株式会社ストラタジーナムのプロマネBlogでもご覧いただけます。