[レポート]
IBM ソフトウェアグループ
ラショナルソフトウェア
プリンシパル エンジニア
ブラン・セリック 氏ブラン・セリック氏は、リアルタイムシステム用プロファイル標準化のキーマンとして OMG で活躍されている方です。
講演の前半は、モデル駆動開発の概略的なところと、UML2 の重要な新機能について解説されていました。後半では、「リアルタイム UML プロファイル」について解説されていました。
モデルとモデル駆動開発
有用なモデルの特徴として、以下が挙げられます。
- 抽象化
物事の重要な側面を強調する- 意味深い(理解しやすい)
- 正確
- 予測に役立つ
対象システムの不明確な点について、正しい結論を導き出す- 安価
対象システムを構築するよりも、モデル化する方が非常に安価であるモデル駆動アーキテクチャ(MDA)によって、以下のことが可能となるはずです。
- モデルの実行
- 実装コードへの自動変換
- 異なる実装プラットフォームへの適応
- プラットフォームに依存しないモデル(PIM)
モデルから情報を学び取っていく上で、実際にモデルを実行することが重要です。こうしたところから、モデリング言語に求められる要件として、
- モデリング言語のセマンティックの土台が正確かつ明確でなければならない
- 特定のドメインにモデリング言語を特化することが容易であるべきである
といった点が挙げられます。
UML2 とその重要で新しいモデリング機能
UML 2.0 の主な特徴は、以下の通りです。
- モジュール構造
UML 2.0 の言語構造は、コアとオプションに分かれており、複数の準拠レベルがある。この中から適切なサブセットを選択することになる。- セマンティックの正確さの向上
- 新機能の数は多くない
大規模システム向けの拡張がある。UML 2.0 の重要な新モデリング機能には、下記についてのものがあります。
- 複雑なアーキテクチャ構造のモデリング
- 複雑な相互作用のモデリング
- アクティビティ
- 状態図の継承
構造化クラス (Structured Class) について
構造化クラスは、コネクタで相互に接続された部品(構造化または非構造化クラスのインスタンス)で構成されます。構造化クラスは、外部と複数のポートを介してのみ相互作用を行ないます。 構造化クラスでは、内部が外部から隠蔽されるだけでなく、外部も内部から隠蔽されます。構造化クラスを理解する上で重要な概念として、ポート、部品、コネクタが挙げられます。
ポートについて
ポートは、以下のようなインタフェースから構成されます。
- 提供インタフェース(オブジェクトは何ができるか?)
- 要求インタフェース(オブジェクトが必要なものは何か?)
階層的な相互作用図
相互作用図は、複数の相互作用フレームで表現されます。
相互作用フレームは、オブジェクトまたは部品間の相互作用を表現します。一つの相互作用フレームから、別の相互作用フレームを呼び出すことができます。また、ループ、選択肢といった断片 (Combined Fragment) を組み合わせて表現することが可能です。リアルタイム UML プロファイル
従来 UML はリアルタイムシステムにおける量的な側面を十分に捉えきれて いませんでした。欠点を克服するため、スケジューリング、パフォーマンス、 時間のための UML プロファイルリアルタイム UML プロファイル)が 定義されました。
これは、以下を記述するための記法を含みます。
- 物理時間
- タイミング仕様
- タイミングサービスとメカニズム
- リソースのモデリング(論理的と物理的)
- 並列性とスケジューリング
- ソフトウェアとハードウェア環境およびこれらのマッピング
サービス品質 (QoS)とは
特定のサービスが、どの程度うまく実行される(べきか)の、(通常、量的な)仕様。
以下の QoS がモデル要素の仕様に含まれます。
- 提供 QoS: クライアントに提供される QoS
- 要求 QoS: モデル要素自身の QoS をサポートするために、他のコンポーネントに要求する QoS
リアルタイム UML プロファイルは、以下を提供します。
- ステレオタイプ
- タグ付き値
- 制約
これらを使って、
- UML モデル中で、クライアントやリソース、リソースの使用法を特定する。
- 対応する提供 QoS、要求 QoS の値を指定する。
ブラン・セリック氏は、時差ボケのせいか、声に元気がない印象でした。
最後のQ&Aの時間がなくなってしまったこともあり、あとで個別に質問して確認した内容について記述します。
Q. 構造化クラスと、パッケージ/サブシステムとの関係や違いは? A. UML 2.0 では、サブシステムは単に構造化クラスの特別な種類です。 サブシステムは、外部のパッケージ/サブシステムを直接使用できる点が 違います。構造化クラスとサブシステムを混在させて使用することも できますが、混乱するので、止めたほうが良いでしょう。 Q. UML 2.0 の仕様確定の状況について教えてください。 A. UML2 の仕様は、'UML 2 Superstructure Finalization Task Force' で 仕上げ作業中です。このグループの仕事は、仕様の問題点や不整合を 修正することです。今後、(今回説明したような)仕様の大きな変更は ないと期待しますが、残念ながら保証はできません。
© 2003 OGIS-RI Co., Ltd. |
|