Home. 
.

transparent

transparent

transparent

UML 状態マシン図

Altova UModel® 2012 では、オブジェクトの状態や遷移を、ライフサイクルが移り変わるごとに確認することができます。

UML 状態マシン図は、時間の移り変わりとともに変化するクラスの振る舞いを、単一オブジェクトにおける状態と遷移により記述します。状態マシン図は、オブジェクトが内部、または外部からのイベントに反応する際の振る舞いを表現し、文章にまとめるための慣習的なオブジェクト指向の方法です。

請求、支払い、未払いといった請求書の様な、ビジネス上のロジックを構築する場面でも、または複雑なハードウェアシステムを記述する場面でも、UModel® 2012 は状態マシン図を作成するのに直感的で簡単に使用することのできるツールとなります。

UModel 状態マシン図から Java、C#、Visual Basic のソースコードプロジェクトを生成することで、プロジェクトの動作を更に加速させることもできます。



UML state machine diagram

Altova UModel 機能の概要

Altova UModel® 2012 は直感的でお手頃な、UML 状態マシン図の作成を行う機能を搭載したツールで、UML をベースにしたソフトウェア開発における利点を存分に活かすことができます。UModel では以下にあるような高度な機能がサポートされます:

Download ここをクリックして使用できる機能に制限のない30日間無料トライアルの Altova® UModel® 2012 をダウンロード!

状態マシン図の描画

UModel® 2012 状態マシン図ツールバーには、状態マシン図を記述するために必要な、全ての UML 2 要素が表示されます。



UML state machine diagram toolbar

UML 要素のシンボルは、部分的にアクティビティ図でも使用されているもので、固有のツールバーにより、ダイアログの描画時における混乱を避けることができます。

スパイラルモデルに従い開発を行っているのであれば、新たなアイデアやプロジェクトメンバーからのフィードバックによる修正や拡張などにより、状態マシン図は常に更新が必要になります。

UModel® 2012 を使うことで、既存のダイアグラムを簡単に修正することができます。状態を変更するよう選択すると、関連する遷移の矢印も適切に扱われ、必要無いステップが削除されます。例えば、最終状態の要素を選択、削除することで、接続されていた遷移の矢印も自動的に削除されます。



UML state machine diagram edit

その後、ある状態から別の状態へ新たな遷移を作成する必要が生じるかも知れません。UModel は状態間を最短のラインで結びつけます。



UML state machine diagram transition

状態を結びつけた後でも、新たな遷移の矢印は選択されたままであることに注目してください。新たな遷移の矢印に表示される、ウェイポイントと呼ばれる3つの小さなアイコンによりラインの特徴を変更することができ、レイアウトツールバーでは現在選択されているラインスタイルに関する警告が表示されます。



UML state machine diagram layout toolbar

単純にラインをドラッグすることで、好みの軌道に変更することもできます。



UML state machine diagram transition



UML state machine diagram transition

この例にある新たな遷移の矢印には、遷移を行うためのイベントや条件を表す Boolean ステートメントであるガードが必要です。ガードがない場合、新たな矢印はタンクが満杯になったときにストップして、直ちにセンサー状態に移ることを表します。しかし仮に湿度がまた高い場合はどうすれば良いのでしょうか?回路が再度起動され、タンクから水が溢れ出します。

ガードの追加は UModel ヘルパーウィンドウから簡単に行うことができます。



UML state machine diagram guard

ガードテキストには、UModel にて自動補完される括弧が必要になります。描画ペインからガードを選択して、好みの場所に移動することができます。プロパティウィンドウ内や、デザインペインから直接テキストの編集を行うことができます。



UML state machine diagram transition

除湿機の例には、もう1つロジックを加える必要があります。部屋の湿度が検出される湿度未満でも、それを超えるのでも無い、ピッタリ一致する値の場合はどうなるのでしょうか?このような状況下で起こるシステムの急速なオン/オフ切り替えを回避するためにある、最も簡単で対費用効果の高い方法は、センサー状態からの遷移に遅れを設けることです。

UML 構文では、任意の状態からの遷移に対してアクティビティを追加することができます。一見不適当に見えますが、この例で追加されるアクティビティは、しばらくの間何もしないというものになります。

UModel® 2012 では遷移の矢印を選択し、右クリックのコンテキストメニューにより新たなアクティビティを挿入することができます。



UML state machine diagram tranisiton activity

テキストの入力後目的の場所に移動して、この例にある状態マシン図は完成となります。



UML state machine diagram

遷移からのオペレーション作成

クラスまたはインターフェースの内部にある状態マシン図に新たな遷移を追加すると、メッセージ名を割り当てたり、プロパティヘルパーウィンドウのオペレーションプルダウンリストを使ってターゲットクラスから既存のオペレーションを割り当てることができます。

状態マシン図ツールバーにてオペレーションの自動作成を有効にすると、コミュニケーション図にて遷移のオペレーションを入力することで、ターゲットクラスのオペレーションを作成することができるようになります。

UML state machine diagram toolbar

合成状態マシン図

プロジェクトが除湿機単体の例より複雑なものである場合、UModel® 2012 の合成状態、直交状態、そしてサブマシン状態要素により、単純な状態を簡単に操作することができるようになります。

UML のジョインやフォークを1クリックで選択することができ、履歴要素や接続点参照はいつでも使える状態にあり、最上の状態図を組み立てるために必要なものは全て用意されています。

Altova UModel composite state machine diagram

クリックしてスクリーンショットを拡大

状態マシン図からコードを生成

UModel® 2012 では状態マシン図から実行可能なコードを生成することもでき、状態マシン図に描かれたロジックのテストを素早く始めることができます。コードの生成は、通常のプロジェクトコード生成の一部として、プロジェクトメニューから選択して、または状態マシン図のコンテキストメニューから直接行うことができます。

UModel state machine context menu

コンテキストメニューには、状態マシン図の構文をチェックするオプションも提供され、妥当ではないコードの生成を回避することができます。状態マシン図の生成ダイアログボックスでは、コード生成の設定やプロジェクトコード生成に状態マシン図を含めるかなどを指定することができます。

UModel Generate State Machine Code user settings

UModel® 2012 のサンプルには C# や Visual Basic に対応した Visual Studio ソリューションファイルや、状態マシンコードの実行をデモする Java テストアプリケーションが含まれており、独自の状態マシン図に対して簡単に適合させることができます。

UModel State Machine Code test application

状態マシンコードの自動更新

開発プロジェクトは複数の開発工程を経て進められます。UModel では以下にあるような便利な機能が用意されており、プロジェクトの進行に合わせて状態マシンコードの生成を管理することができます:

  • プロジェクトからコードを生成し、その後状態マシン図に変更がなされなかった場合、(結果として同一になる)コードは再度生成されず、特にコードがソース管理システムに格納されている場合、作業や時間の短縮を図ることができます。状態マシン図に対して変更がなされていない場合、コード生成の途中で、状態マシンコードが最新の状態だというメッセージが表示されます。
  • プロジェクトに対して中間コードを作成したいが、いくつかの状態マシン図がまだ完成していない場合、状態マシン図プロパティウィンドウの自動更新オプションを無効にすることができます。この設定により UModel は状態マシンコードを不完全な状態で出力しなくなります。このオプションはダイアグラム毎に設定することができるので、各ダイアグラムに対して個々に取り組むことができます。

Altova UModel state machine diagram properties

プロトコル状態マシン図

プロトコル状態マシンは状態マシン図の亜種で、特別なインターフェースを使用するデータベースのアクセスや TCP/IP に代表される複雑なプロトコルの記述を行うために最もよく使用されるダイアグラムです。UModel ではプロトコル状態マシン図は、固有のツールバーを持った独立したダイアグラムとして扱われます。UModel® 2012 のプロトコル状態マシン図に関する詳しい情報は、こちらを参照ください

SysML 状態図

UModel では SysML 状態図もサポートされており、SysML アロケーション要素が UML アクティビティ図に追加されます。UModel® 2012 でサポートされる SysML の詳細については、該当するページを参照ください。


UModel® 2012 を使って、UML 2 状態マシン図の作成がどれほど楽になるか体験してみてください!

Download ここをクリックして使用できる機能に制限のない30日間無料トライアルの Altova® UModel® 2012 をダウンロード!



transparent
Download
Pricelist
Buy
Video
Comparison
Datasheet
Print
Mail
Like It
.
.

UML logo

.
.

Altova Blog を読んで
製品についてもっと詳しく知る.. Read the Altova Blog!

.

Altova の技術者たちによる製品の紹介です!個々の機能に関する詳細な記事から、お客様のプロジェクトへの応用を行うことができます。今すぐ登録を!

.
.

transparent

transparent