掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     オブジェクト内の状態遷移表について


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
未登録ゲスト
投稿日時: 2010-10-15 9:48

オブジェクト内の状態遷移表について

要素"オブジェクト"の状態遷移を、ステートマシン図のオブジェクト内に作成したのですが、状態遷移表に変換した際に全ての状態が表示されません。
何か設定等が必要なのでしょうか?
sugimoto
投稿日時: 2010-10-15 10:17
EA Administrator
投稿: 1895

Re: オブジェクト内の状態遷移表について

ご質問の状況として、ダイアグラム上にオブジェクト要素を配置し、
その要素のサイズを大きくして、その中に状態要素を配置した場合と
いうことで認識は合っておりますでしょうか?

この場合、プロジェクトブラウザ上で、オブジェクト要素の配下に
状態要素が配置されているのではないかと思います。

状態遷移表に表示される状態は、プロジェクトブラウザ上でステートマシン図の
アイコンと同じ並びにある状態要素になります。
現在は、異なる並び(1階層下)にあるため、表示されていないと考えられます。

このため、オブジェクト要素配下にある状態要素につきましては、
プロジェクトブラウザにおいて、ステートマシン図のアイコンと
同じ並びに移動していただけますでしょうか?

移動の方法は、オブジェクト要素の配下にある状態要素を複数選択し、
ステートマシン図のアイコンが格納されているパッケージに対して
ドラッグ&ドロップしてください。


また、今後、オブジェクト要素内に新たに状態要素を配置しますと、
現状と同様にオブジェクト要素配下に配置されますが、これを防ぐためには、
以下のオプションを無効にしてください。

メインメニューから「ツール」→「オプション」の"要素"ページにある
「コンポジット要素のサポート」


ご確認のほど、よろしくお願いいたします。
未登録ゲスト
投稿日時: 2010-10-15 10:40

Re: オブジェクト内の状態遷移表について

オブジェクト内に状態を配置すると状態遷移表が表示できない仕様ということは理解しました。

ちなみにオブジェクト内に状態を配置した理由は、各状態に実行状態(スロット)の設定を行う際に変数名を選択できる様にする為でした。
(オブジェクトに変数を属性を定義しておけば、そのオブジェクト内にある状態は、その変数名をリストから選ぶことができる)

試していませんが、教えて頂いた設定では、上記の事ができなくなると思いますので、その際に上記に記述したこと(スロットの変数名を選択できる様にすること)実現する方法をお教え願えないでしょうか?
sugimoto
投稿日時: 2010-10-15 11:22
EA Administrator
投稿: 1895

Re: オブジェクト内の状態遷移表について

状態遷移表にすべての状態を表示したいほか、状態要素において、
上位にある要素の属性を利用し、実行状態(スロット)の設定も行いたい
という目的もあるということで情報ありがとうございます。

この両方を満たすための方法を検討させていただきたいと思いますが、
まずは目的を確認させていただけますでしょうか?


各状態要素の実行状態(スロット)の設定について、入力の手間を省きたいということでしょうか?

上位要素の属性を必ず利用するようにし、情報を一元化したいということでしょうか?

または、モデルとしてオブジェクト要素内に状態要素を記述することに重きを置いていますでしょうか?

オブジェクト要素である必要はないなど、条件はありますでしょうか?


お手数ですが、追加の情報をお寄せいただけますと助かります。
未登録ゲスト
投稿日時: 2010-10-15 12:02

Re: オブジェクト内の状態遷移表について

回答 有り難うございます。

頂いた質問に対する回答は、以下の通りです。

> 各状態要素の実行状態(スロット)の設定について、入力の手間を省きたいということでしょうか?
YES

> 上位要素の属性を必ず利用するようにし、情報を一元化したいということでしょうか?
YES
正確には、状態変化で何がどう変わるかを書きたい為、変数名が統一されている必要があります。


> または、モデルとしてオブジェクト要素内に状態要素を記述することに重きを置いていますでしょうか?
NO
いろいろ試すうちに、たまたま、オブジェクト内に状態を入れたらやろうとしたことが出来た為、その方法を採用しただけです。


> オブジェクト要素である必要はないなど、条件はありますでしょうか?
NO
現状は、オブジェクト要素でなくてよいです。
(遠い)将来は、コミュニケーション図で状態を書くことがあるかも知れませんが...

以上、お手数をお掛けしますが、検討をよろしくお願い致します。
sugimoto
投稿日時: 2010-10-15 13:21
EA Administrator
投稿: 1895

Re: オブジェクト内の状態遷移表について

情報をいただきありがとうございました。

状況を把握することができました。

いただいた情報からですと、以下の手順で実現可能かと思います。

1) プロジェクトブラウザにおいて、オブジェクト要素配下に
 ステートマシン図および状態要素のアイコンを移動する
2) ステートマシン図を開き、オブジェクト要素の表示を削除する
3) オブジェクト要素内の状態要素の表示も消えてしまうので、
 プロジェクトブラウザ上から状態要素をステートマシン上に
 ドラッグ&ドロップして配置する

ポイントとしては、ステートマシン図上のオブジェクト要素内に
状態要素を配置しない、ことになります。
(特に必要がなければ、オブジェクト要素をステートマシン図上に
配置しないでください。)

以上、ご確認のほど、よろしくお願いいたします。
未登録ゲスト
投稿日時: 2010-10-15 15:08

Re: オブジェクト内の状態遷移表について

回答 有り難うございます。

教えて頂いた方法で、状態遷移表を表示する事が出来ました。

余談ですが、オブジェクト要素内にステートマシン図に配置しない状態要素を追加して、その配下に全状態要素を移動させたら、オブジェクト要素が図上に配置されていても状態遷移表が表示されました。
(この書き込みを見る前に、いろいろ試していたら、偶然 見つけましたw)
(教えて頂いた方法の方が、スマートですね。)

以上、対応 有り難うございました。
sugimoto
投稿日時: 2010-10-18 10:05
EA Administrator
投稿: 1895

Re: オブジェクト内の状態遷移表について

返信が遅くなり申し訳ありません。

ご確認いただきありがとうございました。

別途ご確認いただきましたように、状態要素配下にステートマシン図を配置した場合は、
オブジェクト要素の配置に関わらず、状態遷移表を表示できます。

そのほかご不明点などございましたら、ご連絡下さい。

今後ともよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ