ストラタジーナム メニュー

2006年10月30日月曜日

UML中級講座 第96回 疑似状態

海外へ行くと痛感するのが、日本の強い経済力のありがたさです。
様々な国籍の人々が行き交う中、同じような能力を持ちながら、国による貧富の差が如実に出て来てしまうのも国際社会の現実です。
現在、日本人が国際社会の中で豊かな部類に属するのは、決して経済学者や政治家が優秀な訳ではなく、畢竟、物作りの強さである事は、万人の認める所です。
しかしながら、その物作りの面でも、後進の国々に追いせまられています。

有名な韓国企業の経営者の講演を聞く機会があったのですが、韓国のその企業は長年、日本企業に追いつこうと日本企業のまねを一生懸命やっていたそうですが、アナログの世界では、いくら一生懸命やっても中々追いつけなかったそうです。
しかしながら、時代が移り、ディジタルの世界になった途端、あっという間に日本の背中が見えてきたそうです。

疑似状態

疑似状態は、ステートマシンの中での様々な遷移を抽象化したものです。
本日から数回に分けて、疑似状態を見て行きたいと思います。

図D19



開始疑似状態

図D19の(a)は、開始疑似状態のシンボルです。コンポジット・ステートでのデフォルト状態への遷移を表します。また、この遷移にアクションを定義する事も可能です。(入場アクション)
一つの領域(リージョン)は、最大1個の開始疑似状態を持ちます。

履歴

図D19の(b)と(c)は、履歴を表す疑似状態です。

深い履歴
深い履歴は、コンポジット・ステートの最後にアクティブであった状態(もしくはその組み合せ)への遷移を意味します。
当該コンポジット・ステートが、一度もアクティブになった事がない場合は、デフォルト状態へ遷移します。
コンポジット・ステートは、最大一個の深い履歴を持ちます。
また、他の遷移と同様に、入場アクションを定義できます。

浅い履歴
浅い履歴は、コンポジット・ステートの最後にアクティブであった直近の下部状態(サブステート)もしくは、その組み合せへの遷移を意味しますが、直近のサブステートの更に下にあるサブステートは無視されます。(場合に応じ、サブステートのサブステートはデフォルト状態へ遷移します。その下も同様。)
他の条件は、深い履歴と同じです。