ObjectSquare

[レポート]


UML2 を用いた組込みソフトウェア開発

講師:

IBM ソフトウェアグループ
ラショナルソフトウェア
プリンシパル エンジニア
ブラン・セリック 氏

ブラン・セリック氏は、リアルタイムシステム用プロファイル標準化のキーマンとして OMG で活躍されている方です。
講演の前半は、モデル駆動開発の概略的なところと、UML2 の重要な新機能について解説されていました。後半では、「リアルタイム UML プロファイル」について解説されていました。

内容:

モデルとモデル駆動開発

有用なモデルの特徴として、以下が挙げられます。

モデル駆動アーキテクチャ(MDA)によって、以下のことが可能となるはずです。

モデルから情報を学び取っていく上で、実際にモデルを実行することが重要です。こうしたところから、モデリング言語に求められる要件として、

といった点が挙げられます。

UML2 とその重要で新しいモデリング機能

UML 2.0 の主な特徴は、以下の通りです。

UML 2.0 の重要な新モデリング機能には、下記についてのものがあります。

構造化クラス (Structured Class) について

構造化クラスは、コネクタで相互に接続された部品(構造化または非構造化クラスのインスタンス)で構成されます。構造化クラスは、外部と複数のポートを介してのみ相互作用を行ないます。 構造化クラスでは、内部が外部から隠蔽されるだけでなく、外部も内部から隠蔽されます。構造化クラスを理解する上で重要な概念として、ポート、部品、コネクタが挙げられます。

ポートについて

ポートは、以下のようなインタフェースから構成されます。

階層的な相互作用図

相互作用図は、複数の相互作用フレームで表現されます。
相互作用フレームは、オブジェクトまたは部品間の相互作用を表現します。一つの相互作用フレームから、別の相互作用フレームを呼び出すことができます。また、ループ、選択肢といった断片 (Combined Fragment) を組み合わせて表現することが可能です。

リアルタイム UML プロファイル

従来 UML はリアルタイムシステムにおける量的な側面を十分に捉えきれて いませんでした。欠点を克服するため、スケジューリング、パフォーマンス、 時間のための UML プロファイルリアルタイム UML プロファイル)が 定義されました。

これは、以下を記述するための記法を含みます。

サービス品質 (QoS)とは

特定のサービスが、どの程度うまく実行される(べきか)の、(通常、量的な)仕様。

以下の QoS がモデル要素の仕様に含まれます。

リアルタイム UML プロファイルは、以下を提供します。

これらを使って、

感想:

ブラン・セリック氏は、時差ボケのせいか、声に元気がない印象でした。
最後のQ&Aの時間がなくなってしまったこともあり、あとで個別に質問して確認した内容について記述します。

Q. 構造化クラスと、パッケージ/サブシステムとの関係や違いは?
A. UML 2.0 では、サブシステムは単に構造化クラスの特別な種類です。 サブシステムは、外部のパッケージ/サブシステムを直接使用できる点が 違います。構造化クラスとサブシステムを混在させて使用することも できますが、混乱するので、止めたほうが良いでしょう。
Q. UML 2.0 の仕様確定の状況について教えてください。
A. UML2 の仕様は、'UML 2 Superstructure Finalization Task Force' で 仕上げ作業中です。このグループの仕事は、仕様の問題点や不整合を 修正することです。今後、(今回説明したような)仕様の大きな変更は ないと期待しますが、残念ながら保証はできません。




© 2003 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP