UMLを基礎から理解する ――UMLでできること,できないこと

藤倉俊幸

tag: 組み込み 半導体

技術解説 2003年3月23日

●UML 2.0で取り入れられた構造化クラス

 UMLの新しいバージョンであるUML 2.0は,2003年に公開される予定になっています.UML 2.0にはいくつかの新しい機能が取り入れられていますが,その一つである構造化クラスは,ハードウェアも含めた組み込みシステムのモデル表現として重要だと思うので,ここで紹介しておきます.

 哲学者の食事問題をモデル化したクラス図とオブジェクト図の違いに注目してください.クラス図(図6)のほうは,哲学者が右手と左手にフォークを持つという一般的なことを表しています.オブジェクト図(図7)のほうは,哲学者が5人いてフォークを共有していることを表しています.クラス図は概念を表すものなので,同一のクラスを二つ並べることができません.「哲学者というもの」と「フォークというもの」を表すので,一つ,二つと数えることができないのです.「哲学者」という概念は一つだけということです.英語で言えば,冠詞を付けない単語だけで文章を作るようなものです.

 そんなわけで,オブジェクト図のほうが問題に特有の状況を表現している気がしませんか?
これは,一般化されたクラス表現と具体化されたインスタンス表現の違いです.哲学者が6人になってもクラス図はそのまま再利用できますが,オブジェクト図はもう使えません.しかし,オブジェクト図(もしくはそれに対応するもの)がないと,何をしたいのかがわかりにくくなります.

 構造化クラスというのは,クラスの中にその内部構造を表現するためのインスタンス・ベースの表現を持たせたものです.ここでは,内部の構造を表すために持たせた図をクラス構造図と呼ぶことにします.クラス構造図は,オブジェクト図では具体的すぎるので,役割ベースのコラボレーション図(図8)を使用します.ただし,コラボレーション図のメッセージのやり取りを表す部分はやはり具体的すぎるので,ポートとコネクタという新しいモデリング要素を導入して,互いに通信し合うことを表現します.クラス構造図を使用することで,かなり直感的なモデリングが可能となります.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日