ObjectSquare [1999 年 8 月号]

[オブジェクト指向モデリング言語 UML]
   - 情報処理 VOL.40 NO.1, NO.3より -


UMLの言語構造:セマンティクスとメタモデル

UMLでは単なる図の記法だけでなく,その図の表現するモデルがどのような意味を持つと解釈すべきかというセマンティクスも,UMLモデル要素に対するUML自身によるメタモデル記述という形で定義している.今までのオブジェクト指向方法論は,その中で使うモデルの意味については例を示してユーザに推測してもらうという,大雑把な定義しかとってこなかったため,人によって微妙な解釈の違いが生まれ,誤解の原因にもなっていた.そこでUMLでは,Pascalの処理系をPascal自身で自己循環的に定義するのと同じアプローチで,UML自身をUML記法でメタモデルを与えることで定義している.とはいえ,最終的にはUMLの各モデル要素の意味を人間に分かる形で与えなければならない.UMLではこの部分を,自然言語と一部OCLと呼ばれる1階述語論理に似た制約記述言語で定義している.すなわち,メタモデルは,自然言語による概説,UMLクラス図とモデル辞書による抽象構文定義,OCLによるモデル構成規則,自然言語による動的振る舞いに関するセマンティクス記述という4つのセクションから構成されている.また説明の便宜上,UMLメタモデルは,3つの論理的なパッケージ:基礎,振る舞い要素,一般メカニズムから構成されている.各パッケージの構成を図-2に示す.

図-2 UMLメタモデルのパッケージ構成


メタモデルの一部例として,基礎::コア::バックボーンのUML記述を図-3に示す.

図-3 UMLメタモデルの記述例

メタモデルを一般のUMLユーザは意識する必要はないといえるが,UMLをサポートするCASEツールベンダやコード生成やリバースエンジニアリングツールの開発者,あるいは上級ユーザたとえばステレオタイプを使ってUMLのモデル要素を拡張して使いたいというユーザはメタモデルの関連部分を理解する必要があるだろう.


© 1999 OGIS-RI Co., Ltd.

Prev.

Index

Next