アジャイルモデリング(AM)
公式サイト
モデリング成果物>UML 2 タイミング図

UML 2 タイミング図の概要

by Scott W. Ambler, Copyright 2003

 

タイミング図はUML2で新たに追加された成果物の1つです。ある期間を通して1つ以上のオブジェクトがどう振る舞うかを検討するための図です。タイミング図には大きく分けて、図1の簡略な記法と図2の堅牢な記法の2種類があります。タイミング図は、自動車の燃料噴射システムの制御ソフトウェアなど、組み込みソフトウェアの設計でよく使われますが、ビジネスソフトウェアでも役に立つことがあります。

図1は、あるゼミのライフサイクルを表したもので、時間に沿った変化が明確に表現されています。「:ゼミ」というラベルが付いていることから、表されている生存線が「ゼミ」のインスタンスのものであることが分かります。ゼミの重要な状態、つまり「計画済」、「スケジュール済」、「学生登録中」、「講義中」、「終了試験」、「終了」という状態が横に並んでいます。状態を囲んでいる2本の線を概略値生存線 (general value lifeline) と呼びます。この図ではこの線でゼミの状態の値を表しましたが、必要なら、オブジェクトの1つの属性の値について調査することもできます。2本の線が交差するのは状態間の遷移が発生するところです。図の下部に書かれているのはタイミング制約です。この図ではゼミが各状態にある期間が示されています。

 

図1 タイミング図(簡略な記法)

 

図1のタイミング図と状態マシン図の違いに着目すると面白いでしょう。状態マシン図の状態のいくつかは、タイミング図の「学生登録中」の状態に含まれます。これはまったく問題ありません。それぞれの長所によって図を使い分けているからです。簡略記法のタイミング図はある期間における1つ以上のオブジェクトについて考えるのに役立ちますし、状態マシン図は(内部または外部)イベントが発生した結果の状態間の遷移を詳しく調べるのに便利です。AMの「適切な成果物を使おう」のプラクティスを適用して、自分の作業にもっとも適したモデルを使ってください。

図2は、ゼミの講義が行われている期間中に何が起きるかを詳しく記したタイミング図です。このいつもの例では、教授がゼミを実施し、学生の課題を採点し、助手が授業に間に合うようにコース教材を用意します。UMLの枠 (frame) によって2本の(教授と講義助手の)生存線が区切られています。モデルに生存線を追加する場合には、枠にセクションを追加すればよいだけです。直角に折れ曲がった線は状態タイムラインと呼ばれます。この図では、状態間で不連続な遷移が起きるため、線は直角に折れ曲がっていますが、遷移が本来連続的に発生する場合(温度変化など)にはこの線は曲線になるでしょう。生存線に適用される「学生の課題を採点する」や「待機」などの状態/条件は、図の左端に並べます。オプションで「感謝祭休暇」や「休暇終了」などのイベント/刺激を遷移の発生点に付けて、変化の理由を示します。タイムライン間の矢印は、オブジェクト間のメッセージです。

図2には時間の示し方が何種類か含まれています。まず、「{10月5日...10月10日}」というタイミング制約と、「T=11月25日」や「T=12月1日」のような時間観測 (time observations) があります。タイミング制約と時間観測は、シーケンス図やコミュニケーション図をはじめとする相互作用図など、UMLのさまざまなダイアグラムに適用することができますが、私はタイミング図で使うのが一番有効だと思います。タイミング図でのみ使うのは、図の一番下に時間の目盛りの値として書かれたタイミング目盛り (timing ruler) です。

 

図2 タイミング図(堅牢な記法)

アジャイルさを保つ

どちらの表記法にもそれぞれに用途がありますが、この2つの内では、特にさまざまな状態の間を行き来するようなオブジェクトの場合には、堅牢な記法の方が役に立つようです。一度にモデリングする生存線の数を増やすほど図を書くのが難しくなるので、複雑さを考えて私はできるだけ生存線を2本に抑えるようにしています。この種のダイアグラムをサポートしているビジネスアプリケーション開発用の主要なモデリングツールはまだ見たことがないので、私はホワイトボードでタイミング図を作成しています。

私個人の意見では、UMLタイミング図を必要だと考える開発者はほとんどいないので、実際のところこの図について学ぶのに時間をかけることは勧められません。タイミングの問題について考えたいことがあったとしても、おそらく自由形式の図で十分でしょう。

 

 

注: この成果物の説明は『The Object Primer 3rd Edition: Agile Modeling Driven Development with UML 2』より抜粋しました。本ではより詳しく説明しています。


推奨文献

 

その他の文献

アジャイルモデリング(AM)について詳しく知るにはこの本をお薦めします。

 アジャイルモデリング

 

Let Us Help (以下、北米での話ですのでご注意ください)

Ronin International, Inc. continues to help numerous organizations to learn about and hopefully adopt agile techniques and philosophies.  We offer both consulting and training offerings.  In addition we host several sites - Agile Modeling, Agile Database Techniques, UML Modeling Style Guidelines, Enterprise Unified Process (EUP) - that you may find of value.

You might find several of my books to be of interest, including The Object Primer, Agile Modeling, The Elements of UML Style, and Agile Database Techniques.

For more information please contact Michael Vizdos at 866-AT-RONIN (U.S. number) or via e-mail (michael.vizdos@ronin-intl.com).

 

visits since June 8, 2004.