掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     ある状態がアクティブであることをガード条件とする


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
ukkie(未登録ゲスト)
投稿日時: 2010-7-1 9:44

ある状態がアクティブであることをガード条件とする

マトラブのステートフローではin()という関数があって、in(A)は、状態Aがアクティブであれば1、そうでなければ0の値を返します。この関数があると、他の状態遷移図は、状態Aがアクティブであることをガード条件にすることが出来ます。この関数は非常に有用なのですが、これに相当する機能はありますか。
tkouno
投稿日時: 2010-7-1 10:00
EA Administrator
投稿: 3939

Re: ある状態がアクティブであることをガード条件とする

UMLでは、ご質問にあるような「関数」というものは
特に定義がありませんので、Enterprise Architectにも
この「関数」のための機能はございません。

同じ内容を表現する場合には、遷移に対して「in(A)」のような
ガード条件を、文字列として設定することになるのではないかと思います。

ご参考になりましたら幸いです。
ukkie(未登録ゲスト)
投稿日時: 2010-7-1 10:14

Re: ある状態がアクティブであることをガード条件とする

"文字列として設定する"の意味がよくわからないのですが。

状態遷移図が、ある特定の状態にいるのかどうかは、クラスのメンバのStateType currStateの値をチェックすれば可能のような気がするのですが、そのような方法はいかがでしょうか。
tkouno
投稿日時: 2010-7-1 10:19
EA Administrator
投稿: 3939

Re: ある状態がアクティブであることをガード条件とする

いただきました追加のご質問の内容を見て、今回のご質問の前提が
Enterprise Architectのステートマシン図からのソースコード生成の
機能の話と理解いたしました。
お手数をおかけし申し訳ございません。

先ほどの回答は、UMLの表現としての一般的な回答でした。

ご指摘のように、Enterprise Architectのステートマシン図からの
ソースコード生成の場合には、currStateに状態を
保持するような形になっていますので、その内容を
チェックするような関数をクラスに追加し、その内容を
呼び出すような仕組みも可能と思います。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ