はじめに
UML(統合モデル化言語)のタイミング図は、相互作用のタイミング制約に焦点を当てる相互作用図の一種です。特定の期間内でのオブジェクト間の相互作用を示し、時間の経過に伴う状態の変化に注目します。本ガイドでは、UMLタイミング図の目的、主要な要素、作成方法および解釈の仕方について詳しく紹介します。

UMLタイミング図の目的
UMLタイミング図は以下の目的で使用されます:
- タイミングに関する考察:オブジェクト間の相互作用におけるタイミングの側面を分析し、理解すること。
- タイミング制約を示す:特定の時間間隔内に満たされなければならない条件を示すこと。
- リアルタイムシステムをモデル化する:タイミングが重要な要因となるシステム、たとえば組み込みシステム、通信プロトコル、パフォーマンス分析などを表すこと。
使用例:
- 医療分野:疾患の段階と介入のタイミングをモデル化する。
- ユーザーエクスペリエンス:ウェブサイトやアプリケーションの遅延とパフォーマンスを分析する。
UMLタイミング図の主要な要素
ライフライン
ライフラインは相互作用における個別の参加者を表します。オブジェクト、アクター、または相互作用に参加する任意のエンティティが該当します。ライフラインは、参加者の時間経過にわたる存在を示す水平バーとして描かれます。
状態または条件のタイムライン
状態または条件のタイムラインは、オブジェクトの状態または満たされなければならない条件を表します。時間の経過に応じた異なる状態や条件を示すセグメントを含む水平バーとして表示されます。
期間制約
期間制約は、条件が満たされるべき期間を指定します。開始と終了を示す2本の垂直線を含む水平バーで表されます。
時間制約
時間制約は、条件が満たされるべき特定の時刻を指定します。その時刻でライフラインと交差する垂直線で表されます。
破壊発生
破壊発生は、オブジェクトが破壊される時刻を表します。ライフラインの終端に「X」で示されます。
表記法
UMLタイミング図の表記法には、タイミング制約や条件に関する追加情報を提供するラベルや注釈が含まれます。
UMLタイミング図の作成
UMLタイミング図を作成する手順
- 参加者を特定する:相互作用に参加する対象、アクター、またはエンティティを決定する。
- ライフラインを定義する:参加者のライフラインを表すために水平バーを描く。
- 状態または条件を追加する:時間の経過に伴う異なる状態や条件を表すためにライフラインをセグメントに分割する。
- 期間制約を指定する:条件を満たすべき期間を示すために、垂直線を伴う水平バーを追加する。
- 時間制約を指定する:条件を満たすべき特定の時刻を示すために、ライフラインと交差する垂直線を追加する。
- 破壊の発生を追加する:対象の破壊を表すために、ライフラインの終端に「X」を配置する。
- ラベル付けと注釈を追加する:タイミング制約や条件に関する追加情報を提供するために、ラベルと注釈を追加する。
UMLタイミング図の解釈
ライフラインの理解
- 水平バー:参加者の時間的な存在を表す。
- セグメント:時間の経過に伴う異なる状態や条件を示す。
期間制約の理解
- 垂直線を伴う水平バー:条件を満たすべき期間を表す。
- 開始点と終了点:期間の開始と終了を示す。
時間制約の理解
- 垂直線:条件を満たすべき特定の時刻を表す。
- ライフラインとの交差:ライフライン上の特定の時刻を示す。
破壊の発生の理解
- 「X」記号: オブジェクトの破壊を表す。
- ライフラインの終端: 破壊の発生はライフラインの終端に配置される。
表記法の理解
- ラベルと注釈: 時間制約や条件に関する追加情報を提供する。
- 追加情報: インタラクションの時間的側面を理解するのに役立つ関連する詳細を含める。
例:ウェブサイトのタイミング
このUMLタイミング図は、ウェブインタラクションに関与するイベントの順序と時間制約を示しており、特にウェブリクエストとレスポンスサイクルの時間的側面に焦点を当てている。図のタイトルは「sd ウェブサイトのタイミング」であり、インタラクションに参加する4つの参加者を表す4つのライフラインを含んでいる:ウェブユーザー、ウェブブラウザ、DNSリゾルバ、ウェブサーバ。水平軸は時間を表しており、秒単位で目盛られている。

ライフラインと状態
- ウェブユーザー
- 状態/条件:
- アイドル: ユーザーはウェブに対して積極的に操作していない。
- URL: ユーザーがURLをウェブブラウザに入力する。
- 待機中: ユーザーはウェブページの読み込みを待っている。
- 閲覧中: ユーザーはウェブページを閲覧している。
- 状態/条件:
- ウェブブラウザ
- 状態/条件:
- アイドル: ブラウザはリクエストの処理を積極的に行っていない。
- 処理中: ブラウザはユーザーの入力またはサーバーの応答を処理しています。
- 待機中: ブラウザはサーバーからの応答を待機しています。
- イベント/刺激:
- URLの解決: ブラウザはURLをIPアドレスに解決しています。
- HTTPリクエスト: ブラウザはHTTPリクエストをウェブサーバーに送信しています。
- ページの表示: ブラウザはウェブページをユーザーに表示しています。
- タイミング制約:
- URL解決プロセスは0〜400ミリ秒の間で完了する必要があります。
- URLの解決後、HTTPリクエストは50〜200ミリ秒の間に送信されるべきです。
- HTTP応答を受けた後、ページは100〜500ミリ秒の間にユーザーに表示されるべきです。
- 状態/条件:
- DNSリゾルバ
- 状態/条件:
- アイドル: DNSリゾルバはドメイン名の解決を積極的に行っていません。
- 処理中: DNSリゾルバはドメイン名の解決リクエストを処理しています。
- タイミング制約:
- DNS解決プロセスは0〜400ミリ秒の間で完了する必要があります。
- 状態/条件:
- ウェブサーバー
- 状態/条件:
- 待機中:Webサーバーは着信要求を待機しています。
- 処理中:Webサーバーは着信要求を処理しています。
- 応答の送信:Webサーバーは応答をWebブラウザに送信しています。
- タイミング制約:
- Webサーバーは要求を受け取ってから200〜800ミリ秒の間に応答を送信する必要があります。
- 状態/条件:
相互作用とタイミング制約
- WebユーザーからWebブラウザ:
- ユーザーはURLをWebブラウザに入力し、「アイドル」から「URL」に移行します。
- WebブラウザはURLを解決し、0〜400ミリ秒かかる必要があります。
- WebブラウザからDNSリゾルバ:
- Webブラウザは同期メッセージをDNSリゾルバに送信し、URLをIPアドレスに解決します。
- DNSリゾルバは要求を処理し、0〜400ミリ秒かかる必要があります。
- WebブラウザからWebサーバー:
- WebブラウザはHTTPリクエストをWebサーバーに送信し、URLの解決後50〜200ミリ秒の間に送信する必要があります。
- Webサーバーはリクエストを処理し、Webブラウザに応答を送信します。
- Webサーバーはリクエストを受け取ってから200〜800ミリ秒の間に応答を送信する必要があります。
- WebブラウザからWebユーザー:
- WebブラウザはユーザーにWebページを表示し、HTTP応答を受け取ってから100〜500ミリ秒の間に表示される必要があります。
- ユーザーは「待機」から「閲覧」に移行します。
タイミング制約
- URL解決:URL解決プロセスは0〜400ミリ秒かかる必要があります。
- HTTPリクエスト:URLの解決後、50~200ミリ秒の間にHTTPリクエストを送信する必要がある。
- Webサーバーの応答:Webサーバーはリクエストを受け取ってから200~800ミリ秒の間に応答を送信する必要がある。
- ページ表示:HTTP応答を受け取ってから100~500ミリ秒の間に、Webページをユーザーに表示する必要がある。
状態の変化
- Webユーザー:「アイドル」から「URL」へ、次に「待機」へ、そして「表示中」へと遷移する。
- Webブラウザ:「アイドル」から「処理中」へ、次に「待機」へ、そして「ページ表示」へと遷移する。
- DNSリゾルバ:「アイドル」から「処理中」へ、その後「アイドル」へと戻る。
- Webサーバー:「待機」から「処理中」へ、次に「応答送信中」へ、その後「待機」へと戻る。
同期メッセージ
- WebブラウザはURLを解決するためにDNSリゾルバに同期メッセージを送信し、ブラウザが次の処理を進める前にDNSリゾルバが解決を完了することを示している。
イベントまたは刺激
- WebブラウザがWebサーバーに送信するHTTPリクエストは、Webサーバーがリクエストを処理し応答を送信するように引き起こすイベントである。
このタイミング図は、Webインタラクションのタイミング的側面を効果的にモデル化しており、すべてのタイミング制約が満たされ、指定された時間間隔内で想定通りにインタラクションが進行することを保証している。
タイミング図
- ユーザーのライフライン:
- ユーザーがウェブサイトとやり取りする様子を表す水平バー。
- ユーザーのインタラクションの異なる状態を示すセグメント(例:リクエスト送信済み、リクエスト受信済み、応答送信済み)。
- 各状態における期間制約。
- 特定のイベントにおける時間制約(例:リクエスト送信、応答受信)。
- サーバーのライフライン:
- ユーザーのリクエストの処理を表す水平バー。
- サーバーの処理の異なる状態を示すセグメント(例:リクエスト受信済み、処理中、応答送信済み)。
- 各状態における持続時間制約。
- 特定のイベント(例:リクエスト受信、応答送信)における時間制約。
- 表記法:
- ユーザーのインタラクション状態およびサーバーの処理状態を示すラベル。
- インタラクションの時間制約および条件を説明する注釈。
結論
UMLのタイミング図は、オブジェクト間のインタラクションの時間的側面をモデリングおよび分析する上で不可欠です。主要な要素を理解し、作成および解釈の手順に従うことで、時間に関する推論を行い、リアルタイムシステムを効果的にモデル化できます。
参考文献
- タイミング図とは何か?
- Visual Paradigm. (n.d.).タイミング図とは何か? .
- 12. タイミング図 – Visual Paradigm Community Circle
- Visual Paradigm Community Circle. (2018年5月11日).タイミング図 – Visual Paradigm Community Circle .
- タイミング図の描き方
- Visual Paradigm. (n.d.).タイミング図の描き方 .
- 時間制約 タイミング図 – UML – Visual Paradigmについて議論
- Visual Paradigmフォーラム. (2019年7月19日).時間制約 タイミング図 – UML – Visual Paradigmについて議論 .
- Visual ParadigmにおけるUML図の紹介 – ArchiMetric
- ArchiMetric. (2024年8月23日).Visual ParadigmにおけるUML図の紹介 – ArchiMetric .
- タイミング図、UML図の例:状態/条件のタイムライン – Visual Paradigm Community Circle
- Visual Paradigm Community Circle. (2018年9月24日).タイミング図、UML図の例:状態/条件のタイムライン – Visual Paradigm Community Circle .
- UML実践ガイド – UMLモデリングについて知っておくべきすべて
- Visual Paradigm. (n.d.).UML実践ガイド – UMLモデリングについて知っておくべきすべて .
- タイミング図 – UML 2 図 – UMLモデリングツール
- Visual Paradigm. (n.d.).タイミング図 – UML 2 図 – UMLモデリングツール .
- タイミング図 – Visual Paradigm Community Circle
- Visual Paradigm Community Circle. (n.d.).タイミング図 – Visual Paradigm Community Circle .












