メタモデルを定義
概要
メタモデルとは、エンティティの構造や関連性を定義したものです。 メタモデルを定義することで、設計すべき内容や設計時に考慮すべき制約を形式知化できます。
以下では、アクターとユースケースで構成されるユースケースモデルを題材に、 新規にプロファイルを作成してメタモデルを定義する際の、基本的な手順を説明します。
定義するメタモデルのイメージ

メタモデルの全体構成について
Next Design では製品に関わる様々なモデルを1つのプロジェクトで扱えるため、プロジェクト中のモデル数が多くなります。 そ のため、プロジェクト直下でモデルの種類を大別できるような階層構造が有用です。
以下では、次のような階層構造のプロジェクトとなるようにメタモデルを定義することにします。 このプロジェクト例では、プロジェクト直下に [要求モデル]、[設計モデル] を設けて、モデルの種類を大別しています。

また、プロジェクトの対象範囲を広げると、プロファイルで定義するメタモデルの構成要素数も多くなります。 そのため、モデルの種類ごとにパッケージを設けてメタモデルの構成要素を分類しておくことが有用です。 それによりメタモデルの全体構成を俯瞰しやすくなります。
以下では、次のように [ユースケースモデル] パッケージを設けてメタモデルを定義することにします。 このプロファイル例では、プロファイルのルート直下に [ユースケースモデル] パッケージを設けて、メタモデルの構成要素を分類しています。

事前準備
画面構成を理解
メタモデル定義時には、左側にプロファイルナビゲータを、中央にクラス図を、右側にインスペクタを表示して使用します。

中央にクラス図を開くには、プロファイルナビゲータで開きたいクラス図をダブルクリックします。 クラス図を閉じるには、クラス図のタブに表示される [×] をクリックします。
- モデルエディタと違って、プロファイルナビゲータでツリーノードを クリック して選択ノードが変わってもクラス図の表示は切り替わりません。
- 別のクラス図を表示するには、表示したいクラス図を ダブルクリック して開きます。
以下では、ユースケースモデルのメタモデルを次の手順で定義してみましょう。
- プロファイルにユースケースモデルを追加
- ユースケースモデルの構造を定義
1. プロファイルにユースケースモデルを追加
プロファイルにユースケースモデルのメタモデルを追加するには、次の手順で行います。
- 新規プロファイル用のプロジェクトを作成
- プロファイルを構成して [ユースケースモデル] のエンティティを追加
- [ユースケースモデル] のメタモデルを定義するためのクラス図を準備
1.1 プロジェクトを新規作成
新規プロファイル用のプロジェクト作成
新規プロファイル用にプロジェクトを作成するには、以下の手順でプロジェクトを新規作成します。

- Next Design を起動して、[スタートメニュー] から [スタート] > [プロジェクトの新規作成] リンクをクリックします。
- [プロジェクトの新規作成] ダイアログで、[プロジェクト名] は入力し、[プロファイル] は指定せず、[作成] ボタンを押下して、プロジェクトを新規作成します。
メタモデル定義のための画面構成に切り替え
事前準備で説明したメタモデル定義のための画面構成に切り替えるには、以下の手順で行います。

- ナビゲータ上部のセレクタから [プロファイルナビゲータ] を選択して、ナビゲータを切り替えます。
- リボンの [表示] > [ペイン] > [インスペクタ] をクリックして、画面右側にインスペクタを表示します。
1.2 プロファイルを構成
プロジェクト直下のエンティティを追加
プロジェクト直下でモデルの種類を大別するために、[要求モデル] のエンティティを次の手順で追加します。

- プロファイルナビゲータの先頭に表示されている [プロジェクト定義サンプル] を右クリックして、 コンテキストメニューから [追加] > [メタモデル] > [エンティティ] をクリックします。
- [新しいエンティティ] ダイアログで、下記表の通り、項目を入力して[OK] ボタンを押下します。
| 項目 | 値 |
|---|---|
| [表示名] | 名前として「要求モデル」と入力 |
| [クラス名] | (表示名と同じ名前が自動入力されます) |
| [アイコン] | 選択肢からアイコンを選択 |
プロジェクト直下に配置できるように定義変更
モデリング時にモデルナビゲータでプロジェクト直下に追加できるエンティティは特定のエンティティのみに限定されます。 先の手順で追加した [要求モデル] をプロジェクト直下に追加できるようにするには、次の手順で定義を変更します。

- プロファイルナビゲータで [要求モデル] を選択して、インスペクタに詳細を表示します。
- インスペクタで [プロジェクト直下の配置を許可する] をチェックします。
パッケージを設けて [ユースケースモデル] エンティティを追加
プロファイル内にパッケージを設けて [ユースケースモデル] のエンティティを追加するには、次の手順で行います。

- プロファイルナビゲータの先頭に表示されている [プロジェクト定義サンプル] を右クリックして、 コンテキストメニューから [追加] > [パッケージ] をクリックします。
- 追加されたパッケージを右クリックし、コンテキストメ ニューから [名前の変更] をクリックして、名前を [ユースケースモデル] に変更します。
- 続けて、パッケージのコンテキストメニューから [追加] > [メタモデル] > [エンティティ] をクリックします。
- [新しいエンティティ] ダイアログで、[表示名] に [ユースケースモデル] を入力し、[アイコン] を選択して、[OK] ボタンを押下します。
1.3 メタモデルを定義するクラス図を準備
[ユースケースモデル] にクラス図を追加
[ユースケースモデル] のメタモデルを UML のクラス図形式で定義するには、次の手順でクラス図を追加します。

- プロファイルナビゲータ上の [ユースケースモデル] パッケージを右クリックして、 コンテキストメニューから [クラス図の追加] をクリックします。
- プロファイルナビゲータ上に追加されたクラス図の名前には [ユースケースモデル構造図] と入力します。
[ユースケースモデル] の親子関係を構成
モデリング時に階層的にモデルを作成していくためには、親子関係にあたるエンティティを所有関連で結んでおく必要があります。
モデリング時に [要求モデル] の下に [ユースケースモデル] を追加できるようにするには、次の手順で所有関連を結びます。

- [ユースケースモデル構造図] をダブルクリックして、クラス図を開きます。
- プロファイルナビゲータから [要求モデル] と [ユースケースモデル] をドラッグ&ドロップしてクラス図に追加します。
- 関連を結ぶには、親となる [要求モデル] にポインタを移動し、その四方向に表示される [▲] アイコンをドラッグして、関連付ける [ユースケースモデル] にドロップします。
- ドロップすると、関連の種類の選択肢がポップアップ表示されますので、それらの中から [所有] をクリックして選択します。
- これにより、[要求モデル] から [ユースケースモデル] への所有関連が結ばれ、[要求モデル] と [ユースケースモデル] の親子関係が定義されます。
2. ユースケースモデルの構造を定義
[ユースケースモデル] の構造を定義するには、クラス図に [アクター] と [ユースケース] のエンティティを追加して関連付けます。 その手順は次の通りです。
- [アクター] と [ユースケース] をエンティティとして追加します。
- エンティティにフィールドを追加します。
- エンティティを関連付けて [ユースケースモデル] の構造を定義します。
2.1 エンティティを追加
クラス図にエンティティを追加するには、次の手順で行います。

- クラスツールボックスから [エンティティ] をドラッグ&ドロップして追加して、名前を入力します。
- ここでは、エンティティとして [アクター] と [ユースケース] を追加します。
- エンティティを選択して delete キーを押下した場 合は、コンテキストメニューの [図から削除] と同様、クラス図上で非表示となるだけで、メタモデルからは削除されず、プロファイルナビゲータ上にも残ります。
- 間違って追加したエンティティを削除するときは、エンティティのコンテキストメニューから [モデルから削除] を実行します。
追加したエンティティのアイコンを変更するには、次の手順で行います。
![]()
- クラス図でアイコンを変更するエンティティを選択します。
- インスペクタでアイコンを選択します。