掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     独自プロファイル利用時に振る舞いが異なる動作について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
umesan
投稿日時: 2012-5-24 13:36
EA Administrator
投稿: 1551

独自プロファイル利用時に振る舞いが異なる動作について

サポート宛にいただきましたご質問の要約です。

○ご質問

EnterpriseArchietectでは,独自プロファイルを定義する機能があると思うのですが,
メタクラスとして「Dependencdy」を選択して新たなステレオタイプを定義した場合と,
メタクラスとして「Class」を選択して新たなステレオタイプを定義した場合では,
プロファイル利用時に振る舞いが異なるようなのですが,こちらも仕様なのでしょうか?

具体的には,メタクラスが「Class」のステレオタイプにつきましては,
「リソース」ウインドウから直接要素(クラス)にステレオタイプをDnDできるのですが,
メタクラスが「Dependencdy」のステレオタイプにつきましては,この操作ができません.
(メタクラスが「Dependency」のステレオタイプを,
「依存」線上に直接DnDする事はできないのでしょうか?)

また,メタクラスが「Class」のステレオタイプは,ステレオタイプを適用した時点で
タグ付き値が追加されているのですが,メタクラスが「Dependencdy」のステレオタイプに
つきましては,タグ付き値が追加されておりません.
これはこういう仕様なのでしょうか?

また,プロファイルを定義する際に,SysMLのBlockをメタクラスとして,
新たなステレオタイプを追加する事はできないのでしょうか?


○回答

メタクラスが「Class」のステレオタイプとメタクラスが「Dependency」のステレオタイプでは、ご指摘のように動作が異なります。

「Class」は要素であり、「Dependency」は接続であるためです。

メタクラスが「Class」のステレオタイプは、文字通り 要素 Classのステレオタイプですので、直接要素(クラス)にステレオタイプをドラッグ&ドロップできます。

しかし、メタクラスが「Dependency」のステレオタイプは、接続 Dependency のステレオタイプですので、要素(クラス)にドラッグ&ドロップした場合でも、その要素(クラス)へのステレオタイプの適用ではなく、「接続先の設定」ダイアログが表示されるなど、動作が異なります。

タグ付き値の追加に関しましても、上記の要素と接続の違いが原因です。
メタクラスが接続のステレオタイプは、接続に適用することで、その接続にタグ付き値が付きます。

(ステレオタイプのつける操作によっては、タグ付き値が付かない場合があります。具体的には、プロパティ画面でステレオタイプを選択した場合は、つきません。その場合には、該当ステレオタイプが表示されている、リソース画面もしくは、ツールボックス上のコンテキストメニュー「タグ付き値と制約の同期」でつけることが可能です。)

>(メタクラスが「Dependency」のステレオタイプを,
>「依存」線上に直接DnDする事はできないのでしょうか?)
お手数をおかけして申し訳ありませんが、
現在の EA では、接続線はドロップの対象になることが出来ません。

ですので、既存の依存線に、プロファイルの適用をするためには、
プロパティ画面でステレオタイプを付け、「タグ付き値と制約の同期」を行う方法以外ないようです。申し訳ございません。

>また,プロファイルを定義する際に,SysMLのBlockをメタクラスとして,
>新たなステレオタイプを追加する事はできないのでしょうか?

SysMLのBlockをメタクラスとするのは、できません。
SysMLのプロファイルデータは、MDG Technology for SysML のデータであるため、非公開になっております。

(EAのプロファイル作成の機能としては、プロファイルの定義の時に、1つのステレオタイプから汎化させ別のステレオタイプを作ることは可能です。
しかし、プロファイルの機能だけでは、汎化したステレオタイプを利用するのは困難で、MDGテクノロジーにする必要があります。)


プロファイルに関しましては、MDGテクノロジーセミナーの内容に含まれますので、下記URL からのセミナーも参考になると思います。

https://www.sparxsystems.jp/seminar/EAMDGTech.htm
umesan
投稿日時: 2012-6-5 13:23
EA Administrator
投稿: 1551

Re: 独自プロファイル利用時に振る舞いが異なる動作について

サポート宛に追加でいただきましたご質問の要約です。

○ご質問

> (EAのプロファイル作成の機能としては、プロファイルの定義の時に、1つの
> ステレオタイプから汎化させ別のステレオタイプを作ることは可能です。
> しかし、プロファイルの機能だけでは、汎化したステレオタイプを利用するの
> は困難で、MDGテクノロジーにする必要があります。)
ここで言われている「MDGテクノロジーにする必要がある」というのは,
どういう意味でしょうか?
MDGテクノロジーにすれば汎化したステレオタイプを利用する事ができ,Blockのステレオタイプを
拡張した形で,独自ステレオタイプが定義できるようになる,という事でしょうか?
#そもそもSysMLのBlockのステレオタイプが非公開のため,このような事はできないのでしょうか?

○回答

以下の図のような形で、「クラス」のメタクラスから、Class1 の
ステレオタイプを作成することができ、さらに Class1 を特化させた Class2 をつくれます。

この定義から、UMLプロファイルを作成し、リソース画面の UMLプロファイルで読み込んでも、Class2 が表示されません。
ですので、Class2 は直接利用はできないのですが、Class2 を使ったツールボックスを作成し、併せてMDGテクノロジーにすることで、Class2 を利用することが可能になります。

Class1 が、ご質問内容の Block であるとすると、Block を拡張した形で、独自ステレオタイプである、Class2 が定義できるという事になります。

https://www.sparxsystems.jp/forum/uploads/img4fcd890cc6128.png

>#そもそもSysMLのBlockのステレオタイプが非公開のため,このような事はできないのでしょうか?
ご指摘のように、SysMLのプロファイルの定義は非公開のため、
拡張元として、SysMLの定義を利用することはできません。ご了承ください。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ