目次


実践!EclipseベースのMDDツール環境の開発

Comments

第5回 「カスタムUMLプロファイルの公開」

カスタムUMLプロファイルの公開とは?

前回は、Rational Software Architect(以下、RSA)拡張機能の1つであるカスタムUMLプロファイル作成機能を使い、プロファイルを作成する手順についてご紹介しました。通常は、UMLプロファイルを作成する際には、以下のステップで作業を行います。前回は、特に1〜3のステップについて解説しましたが、今回は、カスタムUMLプロファイルを公開するために必要は、4〜6のステップについてご紹介します。

  1. プロファイル・プロジェクトの作成
  2. UMLプロファイル(ステレオタイプ、属性、制約など)の作成
  3. プロファイル・プロジェクトのテスト
  4. UMLプロファイルのリリース
  5. UMLプロファイルのパッケージ化(プラグインの作成)
  6. UMLプロファイルのローカライズ
  7. UMLプロファイルのアセット化

カスタム UMLプロファイルを共有するためには、UMLプロファイルの作成後、UMLプロファイルを公開する必要があります。公開し、共有するために重要な作業として、配置(デプロイ)と呼ばれる作業があります。UMLプロファイルは、プロファイル・ファイル(.epx)の状態では配置(デプロイ)されていません。.epxを作成しただけの状態でもプロファイルの適用は可能ですが、以下の点でエラーを起こす可能性があります。

  • .epxを移動した際に、プロファイルへのファイル・パスが壊れ、モデルからの参照が保てなくなることがあります。
  • プロファイルからアイコン(ステレオタイプのアイコン等)への参照が壊れることがあります。

カスタム UML プロファイルの配置を行うことで、モデル等への参照が保たれ、上記のような問題の心配がなくなり、カスタムUMLプロファイルを公開し、よりポータブルに使用していくことが可能となります。UMLプロファイルも構成管理の対象となります。バージョン/リリースによる違いがモデルへ影響を与えてはいけません。基本的に2人以上が使用する場合には、配置が必要と考えてください。カスタムUMLプロファイルの配置の作業には、リリース、パッケージ化、ローカライズの3つの主要作業があります。以降、それぞれの作業について概要、手順を説明いたします。

カスタムUMLプロファイルのリリース

【カスタムUML プロファイルのリリース概要】

カスタム UML プロファイルをリリースすると、リリース時点での UML プロファイルの内容への変更はできなくなります。これは、リリースされたUMLプロファイルの変更が適用先モデルへ影響を与えてしまうことを防止する役目があります。リリース後、UMLプロファイルへ以下の変更はできなくなります。

  • ステレオタイプとプロパティーの削除
  • プロパティーのタイプの変更
  • メタクラス拡張の移動と削除

UMLプロファイルのリリース後にこれらの操作を試みた場合、次の警告が出ます。

図1:リリース後に違反操作をした際の警告
リリース後に違反操作をした際の警告
リリース後に違反操作をした際の警告

また、リリースされたUMLプロファイルにおいて削除・名前変更ができない項目は、以下になります。

  • ステレオタイプ
  • ステレオタイプ属性
  • クラス
  • 列挙
  • メタクラス拡張

ただし、リリース後であっても、UMLプロファイルへの要素の追加等、付加的な変更は可能です。UMLプロファイルのリリース・バージョンと互換性のある変更だけを行うことができます。既存プロファイルへ追加することが可能な要素は以下になります。

  • 新規ステレオタイプ
  • 新規ステレオタイプ属性
  • 新規メタクラス拡張

バージョンについては、UMLプロファイルを保存するたびに1ずつ上がっていきます。そして、バージョンを上げると、そのUMLプロファイルが適用されたモデル上で、UMLプロファイルのバージョンが格上げされます。モデルに適用されているUMLプロファイルのバージョンは、モデルのプロパティー・ビューのプロファイル・タブから確認できます。プロファイル・タブからはリリース情報を確認することも可能です。

図2:プロファイル・タブのバージョン/リリース情報
プロファイル・タブのバージョン/リリース情報
プロファイル・タブのバージョン/リリース情報

【カスタム UMLプロファイルのリリース手順】

カスタムUMLプロファイルのリリースの事前条件として、公開可能なプロファイルを作成し、配置できる状態にしていなくてはいけません。カスタムUMLプロファイルのリリースを行うには、以下の手順を行います。(以降の手順では、公開するプロファイルとして、前回作成したUMLプロファイルを使用しています。)

  1. モデリング・パースペクティブに切り替え、モデル・エクスプローラー・ビュー上でUMLプロファイル・ファイル(UXModeling.epx)を開きます。
    図3:UMLプロファイル・ファイル
    UMLプロファイル・ファイル
  2. モデル・エクスプローラー・ビューでUMLプロファイル(UXModeling)を右クリックし、「リリース」をクリックします。
    図4:UMLプロファイルのリリース
    UMLプロファイルのリリース
  3. 「プロファイルのリリース」ウィンドウの「リリース・ラベル」フィールドに名前を入力します。ここでは「First Release」という名前にします。
    図5:リリース・ウィンドウ
    リリース・ウィンドウ
  4. 「OK」をクリックします。UMLプロファイルがリリースされると、UMLプロファイルの「プロパティー」ビューに、リリース情報 (リリース・ラベル/リリース) が表示されます。
    図6:リリース・ラベル
    リリース・ラベル
    リリース・ラベル

UMLプロファイルのリリース手順の説明は以上になります。これにより、UMLプロファイルのオーサリング作業は完了し、他のユーザーへの配布が可能となります。次のステップとして、UMLプロファイルの配置が必要となります。続いては、配置を行うために必要となるパッケージ化について解説します。

カスタムUMLプロファイルのパッケージ化

カスタムUMLプロファイルのパッケージ化概要

作成したUMLプロファイルを公開し、すべてのモデルから使用可能にするには、UMLプロファイルのオーサリングの終了後に配置する必要があります。配置されたプロファイルは、モデルの「プロファイル追加」のプロファイル選択ウィンドウの「配置されたプロファイル」の一覧から追加が可能になります。配置することにより、.epxファイルのように、ファイルからの適用は必要なくなります。
カスタムUMLプロファイルを配置する1つの方法として、プラグインを作成し、UMLプロファイルをこの新しいプラグインにパッケージ化する方法があります。ここでは、パッケージ化について説明していきましょう。
パッケージ化によるUMLプロファイルの配置の流れとしては、まず、プラグインを作成します。次に、作成したプラグインのplugin.xml ファイルを変更してUMLプロファイルへの拡張点を組み込みます。これで、プロファイル・プラグインをインストールしてUMLプロファイルをモデルに適用できるようになります。
次に、UMLプロファイルのパス・マップを定義する必要があります。プロファイルを製品内に配置されたUMLプロファイルとしてリストする場合は、カスタムUMLプロファイルをパッケージ化します。最初にUMLプロファイルをリリースして、リリースされたUMLプロファイルの適用先のモデルに悪影響を及ぼす変更をUMLプロファイルに加えることができないようにすることも可能です。

カスタム UMLプロファイルのパッケージ化手順

  1. プラグインを作成します。プラグインを作成するには、プラグイン・プロジェクトを作成します。
    1. 「ファイル」→「新規」→「プロジェクト」を選択し、新規プロジェクト・ウィザードを立ち上げます。
    2. 新規プロジェクト・ウィザードで「プラグイン開発」→「プラグイン・プロジェクト」を選択し、「次へ」をクリックします。
      図7:プラグイン・プロジェクト
      プラグイン・プロジェクト
    3. プロジェクト名(例:PluginProject)を入力し、その他はデフォルトのままで、「次へ」をクリックします。
      図8:プラグイン・プロジェクトの作成
      プラグイン・プロジェクトの作成
      プラグイン・プロジェクトの作成
    4. 「終了」をクリックし、プラグイン・プロジェクトを作成します。ここでは、プラグイン・プロジェクトの中身は問題にはなりません。パースペクティブの切り替え画面が出てきたら、「はい」を選択し、「プラグイン開発パースペクティブ」に切り替えます。
      図9:終了
      終了
      終了
    5. 図10:パースペクティブの切り替え画面
      パースペクティブの切り替え画面
      パースペクティブの切り替え画面
  2. 作成したプラグインのルート・ディレクトリー直下に「Profiles」フォルダーを作成します。フォルダーの追加は、パッケージ・エクスプローラーでプラグイン・プロジェクトを右クリックし、「新規」→「フォルダー」を右クリックします。新規フォルダー・ウィンドウを立ち上げ、フォルダー名を「Profiles」にし、「終了」をクリックします。
    図11:フォルダーの追加
    フォルダーの追加
    フォルダーの追加
    図12:フォルダーの追加(続き)
    フォルダーの追加(続き)
    フォルダーの追加(続き)
  3. UMLプロファイル・エディターを閉じます。
    図13:UMLプロファイル・エディターを閉じる
    UMLプロファイル・エディターを閉じる
    UMLプロファイル・エディターを閉じる
  4. UMLプロファイル・ファイル(UXModeling.epx)をProfilesフォルダーへコピーします。
    図14:UMLプロファイルのコピー
    UMLプロファイルのコピー
  5. すでに開いていない場合には、プラグイン開発パースペクティブに切り替えます。
  6. プラグイン・プロジェクトのplugin.xmlの編集し、プラグインから作成したUMLプロファイルを参照できるようにします。UMLプロファイルの拡張点を決め、プラグインに配置するプロファイルを認識させます。
    1. パッケージ・エクスプローラーで、プラグイン・プロジェクト(PluginProject)直下のplugin.xmlをダブル・クリックし、エディター領域で開きます。
      図15:plugin.xml
      plugin.xml
    2. plugin.xmlにプロファイルを登録するための2つの拡張点(<extension>)を追加します。以下にサンプルを示します
      図16:plugin.xmlのサンプル
      plugin.xmlのサンプル
      plugin.xmlのサンプル

    com.ibm.xtools.uml2.msl.UMLProfiles 拡張点は、プロファイルをRSAへ登録するために利用します。 記述する項目については、以下を参照ください。

    <UMLProfile> エレメント
    path属性 *プロファイル・ファイル(.epx)のパスをURI形式で記述します。
    pathmap URIを使用することもできます。
    (例:pathmap://MY_PROFILES/MyProfile.epx)
    name属性 *ユーザー表示するプロファイル名を指定します。サンプルでは“UXModeling Profile”としています。
    required属性“true”にすると、このプロファイルがすべてのモデルへデフォルトで適用されます。
    visible属性GUI上(プロファイルの一覧など)で表示するかどうか指定します。

    *印は必須項目です。

    com.ibm.xtools.emf.msl.Pathmaps拡張点は、プラグインが使用する論理的なパス(pathmap)を登録するために利用します。 記述する項目については、以下を参照ください。

    <pathmap> エレメント
    name属性 *pathmapの識別名を指定します。“CustomProfileLocation”と入力すると、プロファイルのサブディレクトリーへパス・マップを挿入します。この方法では、“CustomProfileLocation”が定義されている限り、このプロファイルを適用するすべてのモデルが有効な参照を持つことができます。
    path属性 *実際のパスをオーナーとなるプラグインからの相対パスで指定します。
    plugin属性path属性の基準とするプラグインのIDを指定します。省略した場合はこの定義が記述されているプラグインになります。

    *印は必須項目です。

  7. 配置のテストを行うためには、別ワークベンチを起動する必要があります。メニュー・バーの「実行」から、ランタイム・ワークベンチを起動します。
    図17:ランタイム・ワークベンチの起動
    ランタイム・ワークベンチの起動
    ランタイム・ワークベンチの起動
  8. ランタイム・ワークベンチでUML モデルを新規作成します。
    <required = "true">にした場合は、作成したモデルにUXModelingプロファイルが適用されているはずです。
    図18:<required = "true">の場合
    図18
    図18

    <required = "false">にした場合、モデルへプロファイルを追加する「プロファイルの選択」画面の配置されたプロファイルの一覧に「UXModeling Profile」が含まれているはずです。

    図19:<required = "false">の場合
    図19

    プロファイルの追加方法については以下の図20を参照してください。

    モデルへのプロファイルの追加

    図20:UMLプロファイルの追加手順
    UMLプロファイルの追加手順
    UMLプロファイルの追加手順

    UMLプロファイルのパッケージ化の手順説明は以上になります。

カスタムUMLプロファイルのローカライズ

カスタム UMLプロファイルのローカライズ概要

ローカライズとは、さまざまなローカルの必要性へ対応して、UMLプロファイルの要素(ステレオタイプ、属性、制約、列挙、およびクラス)の表示名を定義したファイルを生成することです。生成されるファイルのファイル名拡張子は.propertiesです。また、デフォルトのstringの定義、OCL制約(constraint)の制限について作業する際にも使用されます。ローカライズするには、UMLプロファイルの配置後に、1つ以上のプロパティー・ファイル(.properties)を配置する必要があります。

カスタム UMLプロファイルのローカライズ手順

  1. >以下の手順で、ベースとなるプロパティー・ファイルを生成します。
    1. ランタイム・ワークベンチでUML モデルを新規作成します。
      <required = "true">にした場合は、作成したモデルにUXModelingプロファイルが適用されているはずです。
    2. モデル・エクスプローラーでプロファイル・ファイル(UXModeling.epx)を開き、プロファイルを右クリックし、「ローカライズ...」をクリックします。
      図21:UMLプロファイルのローカライズ
      UMLプロファイルのローカライズ
    3. 次ステップへ進む前に、既存のプロパティー・ファイル(.properties)がある場合にはそのファイルを保存してください。ローカライズを行うと、保存されていないプロパティー・ファイルは上書きされ、マージは行われません。
    4. プロパティー・ファイルの保存画面で、名前を指定し保存します。プロパティー・ファイルは、配布するUMLプロファイル(.epx)と同じディレクトリにおきます。またプロパティー・ファイル名はUMLプロファイルのファイル名にあわせて以下のように決定します。
      • デフォルトのプロパティー・ファイル名:<Profile>.properties
      • ローカライズされたプロパティー・ファイル名:<Profile>_XX_YY.properties
        • XX:言語コード(英語ではen、日本語の場合はjaなど)
        • YY:国別コード(アメリカ英語の場合はUSなど。この項目はオプションです。)
  2. 図22:生成されたプロパティー・ファイルの保存
    生成されたプロパティー・ファイルの保存
    生成されたプロパティー・ファイルの保存
  3. プロパティー・ファイルを編集します。
    自動生成されたプロパティー・ファイルには、プロファイル、ステレオタイプ、プロパティー、列挙、列挙リテラルのデフォルトの名称が <キー名>=<名称> の形式で記述されています(図4.4.2-3)。この名称の部分を特定の言語に合わせて編集します。

    日本語などの全角文字を使用する場合、JDKに付属するnative2asciiコマンドを使用してプロパティー・ファイルをアスキー形式に変換する必要があります。オープンソースで提供されているプラグインの中には日本語で直接プロパティー・ファイルを編集できるようにするものもあります。

    図23:生成されたプロパティー・ファイルの例
    生成されたプロパティー・ファイルの例
    生成されたプロパティー・ファイルの例
  4. 制約の検証時に表示されるメッセージを手動で追加します。
    1. 制約のプロパティー ビューを開き、詳細タブを表示します。
      図24:メッセージ・キーの入力例
      メッセージ・キーの入力例
      メッセージ・キーの入力例

      制約のメッセージは、デフォルトでは制約名と同じため、モデル開発者とっては非常に理解しづらいものとなってしまいます。そのため制約を使用する場合はメッセージを適切に設定することが必要です。

    2. 手動で、プロパティー・ファイルへメッセージ・キーとメッセージの内容を追加します。
      図25:メッセージ・キー追加例
      メッセージ・キー追加例
      メッセージ・キー追加例

UMLプロファイルのローカライズの手順説明は以上になります。

まとめ

今回は、カスタマイズしたUMLプロファイルの公開手順についてご紹介しました。次回は、作成したUMLプロファイルを効果的に再利用するための「アセット化」についてご紹介します。どうぞお楽しみに。

第6回 「RASアセットとは?」


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Rational
ArticleID=311646
ArticleTitle=実践!EclipseベースのMDDツール環境の開発
publish-date=12062006