WEBマガジン

「SysMLを活用した構造の検討」

2011.02.03 株式会社オージス総研  青木 淳

1.SysMLを活用した構造の検討

 前回に引き続き、下図の電光掲示板を例題にSysMLを活用して「構造の検討」を実施してみます。

コンテキスト図
図 1 コンテキスト図

1.1.電光掲示板の物理構成と部品仕様の検討

 ここではブロック定義図を用いて電光掲示板の物理構成階層構造と、個々の部品仕様を記述します。図 2と図 3は共にブロック定義図です。

物理構成階層構造
図 2 物理構成階層構造

 電光掲示板はCPU基盤とCPLD基盤から構成され、CPU基盤にはLEDが2つ、CPLD基板には1つ付いています。CPU基盤には他にDIPスイッチとCPUユニットがあり、以下同様に構成が階層的に記述されています。1箇所、CPLD基板からDRAMに黒菱形が付いていない矢印が伸びています。これは、DRAMはCPUユニットの付属品ですがCPLD基板が参照することを表しています。

部品仕様<
図 3 部品仕様

 今回の例では図 2では階層構造、図 3では部品仕様と分けていますが、図 2と図 3をまとめて1つの図として記述する事も可能です。ブロック定義図は表現の自由度が高い図なので、「何を記述したいのか」が重要になります。

<<SysML解説>>

 ブロック定義図はUMLにおけるクラス図を拡張した図で、SysMLの中で中核をなす図です。クラスの概念を拡張したものがブロックで、様々なプロパティ(ユーザー定義も可能)を専用の区画に設定できます。代表的なプロパティは以下の通りです。

表 1 ブロックの主なプロパティ
ブロックの主なプロパティ<

 なお、プロパティは振る舞いに関する記述に対してではなく、構造に関する記述に対して用います。振る舞いは、操作で表現します。

 ブロック定義図はブロックの構造を表現するとともにブロックの内容を定義するのに用いる図です。UMLのクラス図に比べると使用可能な関連が大幅に制限され、基本は黒菱形のパート関連と実線矢印で表される参照関連の2種類となります。他に白菱形の共有関連や白三角形の汎化も利用可能となっています。
 パート関連で関連づけられるブロックは、黒菱形がついている集約元のブロックに黒菱形がついていない集約先のブロックが含まれる包含関係を表していて、たとえば機能を構造展開する場面で利用出来ます。
 参照関連で関連づけられるブロックは、矢印の元のブロックが、矢印の先のブロックを所有してはいませんが参照する事を表しています。
 ブロック内部のパーツ区画や参照区画に現れるブロックは、ブロックを具体化したパーツと共に「パーツ名:ブロック名」で表現されます。
 図 2ではブロック「CPU基板」にブロック「LED」が多重度2で関連づけられていますが、図 3のブロック「CPU基板」のparts区画に表現されているブロック「LED」要素はled_g,led_rという2つのパーツに具体化しています。

1.2.電光掲示板の内部構造の検討

 ここでは内部ブロック図を用いて1.1で検討したブロックがどのように接続されるかを検討します。下図がCPLD基板の内部ブロック図です。

PLD基板の内部ブロック図<
図 4 CPLD基板の内部ブロック図

 CPLDユニットからLED及びMatrixLEDユニットへは、出力しかされない事が矢印の向きから判ります。DRAM及びバッファICはバスで接続されます。DRAMの枠が点線なのは、 図 2で黒菱形がついていない参照関連となっている為です。

<<SysML解説>>

 内部ブロック図はUMLにおける複合構造図を拡張した図で、ブロック定義図がブロックの仕様を記述するのに対し、内部ブロック図はブロック内部でのプロパティ間の接続関係を記述する図と言えます。ブロック定義図で使用可能な関連が大幅に制限されているのも、ブロック定義図ではブロック間の階層構造およびブロックの定義を目的とし、接続関係は内部ブロックで記述する意図があります。同じ部品であっても使用場所によって様々な接続が考えられるので妥当な考え方だと思います。
 内部ブロック図で利用されるブロックのプロパティは、主に(仕様上制限は無いですが)パーツとパーツ上の標準/フローポート、ポート間の接続とポートを流れるアイテムフロー(図 4では不使用)です。
 標準ポートはUMLのポートと同じ仕様で、SysMLでは新たにフローポートという概念が加わったために混同を避けるために名称が変更されました。
 フローポートはSysMLで追加された概念で、標準ポートがInterfaceで定義されるサービス授受(Interfaceには利用側と提供側がある)に用いられるのに対し、フローポートは情報や資源の流れを表現するのに用いられます。たとえば加工のための原料がフローポートを通してインプットされ、加工後の製品がアウトプットされるなどです。
 標準ポートは四角に矢印はありませんが、フローポートには入力か出力かを規定する属性が存在し、図中の矢印の向きが方向を表しています。両方向の矢印がついているフローポートは入出力両用です。

2.まとめ

 SysMLを用いた構造の検討では、ブロック定義図が中心となります。システムモデリングにおいて「構造」はさまざまな視点で必要になります。今回は物理構成の検討を例示しましたが、実際には機能を実現するための論理構成の検討も必要になります。又、前回の振る舞い検討でもブロック定義図によりアクティビティ図の振る舞い構造を記述していますし、状態図における状態の階層構造もブロック定義図で記述できます。
 システムの様々な視点で「構造」を早い段階から見極める事は、ハード・ソフトの具体的アーキテクチャを変化に対して耐性のある堅牢なものにします。

 図 3ではブロックの仕様を記述していますが、この形式は性能の検討で制約ブロックの記述にも使用されます。次回はこの性能の検討にSysMLを活用してみます。

*本Webマガジンの内容は執筆者個人の見解に基づいており、株式会社オージス総研およびさくら情報システム株式会社、株式会社宇部情報システムのいずれの見解を示すものでもありません。

『WEBマガジン』に関しては下記よりお気軽にお問い合わせください。

同一テーマ 記事一覧

「SysMLを活用した性能の検討」

2011.04.06 製造 株式会社オージス総研  青木 淳

「SysMLを活用した振る舞い検討」

2010.12.04 製造 株式会社オージス総研  青木 淳

「SysMLを活用した要求分析」

2010.10.05 製造 株式会社オージス総研  青木 淳

「SysMLとは何か」

2010.08.06 製造 株式会社オージス総研  青木 淳

「何故システムモデリングが必要か」

2010.06.11 製造 株式会社オージス総研  青木 淳