検索
連載

内部ブロック図の基礎と共通要素ゼロから学べる SysML入門【実践編】(2)(2/2 ページ)

前回はSysMLの構造図の1つ「ブロック定義図」について解説した。第2回ではもう1つの構造図である「内部ブロック図」を紹介する。

Share
Tweet
LINE
Hatena
前のページへ |       
※本記事はアフィリエイトプログラムによる収益を得ています

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

区画

 ブロック定義図中のブロックと同様、内部ブロック図中のプロパティにも、「区画(Compartment)」を表記することができる。プロパティの区画の種類としては、SysMLで規定された標準の区画以外に、利用者が定義した区画を利用することができる。

 区画に表記する各種情報は、プロパティを型付けするブロックや値型などの型の定義に沿ったものでなければならない。ただし、前述のプロパティ固有型の場合は、型が別途定義されるわけではないため、この限りではない。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

初期値区画

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

初期値区画
図12 初期値区画

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

プロパティのデフォルト値
図13 プロパティのデフォルト値

 図2では、液体酸素タンク内の液体燃料の重量が83tであることを図12のように表現している。一方、液体酸素タンクの型である「液体燃料タンク」ブロックでは、図13のように「液体燃料重量」プロパティのデフォルト値を90tと定義している。このように、ブロックの定義において指定された値を上書きして、プロパティの値を指定するための区画を「初期値区画(Initial Values Compartment)」と呼ぶ。

 複数段階ネストされたプロパティの中で初期値区画を設定した場合、最も外側のブロックにおける特定の利用方法を表現したことになる。すなわち図2図12の例では、液体燃料重量が83tであることは、最も外側のブロックであるロケットに特有の事柄であることを意味する。液体水素タンクやコア機体などで常に成立する事柄ということではない。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

型の区画の表記

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

型の区画の表記
図14 型の区画の表記

 図2では、第1段推進部に制約が対応付いていることを、図14のように「推進部」ブロックの制約区画を使って表現している。このようにプロパティには、そのプロパティの型の区画を表記することができる。このとき、その区画が型の区画であることを明示するために、区画名の先頭にコロン「:」を付加する。図14の例では制約区画のラベル「constraints」の前にコロンを付加して表記している。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コネクタ

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コネクタ
図15 コネクタ

 図2では、第1段推進部と第2段ロケットの間が接手と呼ばれる機構で接続されていることを、図15のように表現している。このように、プロパティの間の関係を定義するためのモデル要素を「コネクタ(Connector)」と呼ぶ。

 コネクタの型は、ブロック定義図の中で関連として定義される。

 関連が、関連名や関連端名といった情報を伴うのと同様に、コネクタはコネクタ名やコネクタ端名といった情報を伴う。

 コネクタ名を表記する際には、コネクタ名とコロンに続いてコネクタの型である関連の関連名を記載する。ただし、コネクタ名や関連名を省略して表記することもできる。例えば以下のような表記方法がある。

コネクタ名の記法のバリエーション:

        コネクタ名 : 関連名

        :関連名

        コネクタ名



 関連と同様、コネクタにも多重度を指定できる。ただしコネクタの多重度は、関連の多重度ほど一般的に使われるわけではない。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コネクタ・プロパティ

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コネクタ・プロパティ
図16 コネクタ・プロパティ

 図2では、液体水素タンクと主推進の間の接続関係を、図16のように表現している。図16の関係に対応するブロック定義図は、図17のように関連ブロックを用いて表現する。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

関連ブロック
図17 関連ブロック

 このように、関連ブロックのインスタンスであるコネクタを「コネクタ・プロパティ(Connector Property)」と呼ぶ。

 コネクタ・プロパティは、図18のように<<connector>>を付加してブロックの区画の中に表記することができる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コネクタ・プロパティのブロック区画表記
図18 コネクタ・プロパティのブロック区画表記

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

参加プロパティ

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

関連ブロックの構造
図19 関連ブロックの構造

 図19は、図2に示した「液体水素供給」コネクタ・プロパティの型である、「液体燃料供給」関連ブロックの内部構造を表現している。このような構造を持った関連ブロックを、複数のコネクタの型として再利用できる。

 図19では、液体燃料タンクやロケットエンジンが「液体燃料供給」関連ブロックの端に接続されていることを示している。このように、関連ブロックの内部構造の表現の中で、その関連ブロックの関連端に接続された対象を表すプロパティを「参加プロパティ(Participant Property)」と呼ぶ。

 参加プロパティを表記する際には、型の情報は省略できる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

ダイアグラム共通要素

 本章では、ダイアグラムの種類によらず共通して利用できるモデル要素について解説する。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

フレーム

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

フレーム
図20 フレーム

 図2では、ダイアグラム全体を図20のような矩形で囲むことで、ダイアグラムの範囲を示している。このように、ダイアグラムの範囲を示すための矩形を「フレーム」と呼ぶ。

 図20のように、フレームの左上の部分には「ヘッダ」と呼ばれる箇所があり、ここにダイアグラムの名称などの情報を記載する。ヘッダには以下のような形式で情報を記載する。

記述例:

        ダイアグラム種別 [モデル要素種別] モデル要素名 [ダイアグラム名]



 ダイアグラム種別には、表1に示すような名称または略称を指定できる。ダイアグラム種別はボールド体で表記する。

ダイアグラム種別 名称 略称 日本語名称
activity diagram act アクティビティ図
block definition diagram bdd ブロック定義図
internal block diagram ibd 内部ブロック図
package diagram pkg パッケージ図
parametric diagram par パラメトリック図
requirement diagram req 要求図
sequence diagram sd シーケンス図
state machine diagram stm 状態マシン図
use case diagram uc ユースケース図
表1 ダイアグラム種別

 モデル要素種別やモデル要素名は、そのダイアグラムで記述するモデル要素を特定するために指定する。例えば図20の例では、ダイアグラムが「ロケット」ブロックの構造を表現していることを示している。

 各種ダイアグラムで記述できるモデル要素の種類の例を表2に示す。

ダイアグラム種別 表現できるモデル要素の種類
アクティビティ図 アクティビティ
ブロック定義図 ブロック、パッケージ、制約ブロック
内部ブロック図 ブロック、制約ブロック
パッケージ図 パッケージ、モデル
パラメトリック図 ブロック、制約ブロック
要求図 パッケージ、要求
シーケンス図 インタラクション
状態マシン図 状態マシン
ユースケース図 パッケージ
表2 ダイアグラムで記述可能なモデル要素の種類の例

 ヘッダの情報のうち、ダイアグラム種別とモデル要素名の指定は必須である。モデル要素の型やダイアグラム名は、曖昧(あいまい)さをなくすために必要に応じて指定する。例えば1つのモデル要素に対して複数のダイアグラムがある場合に、ダイアグラム名を指定することでダイアグラムを一意に特定できるようになる。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コメント

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

コメント
図21 コメント

 図2では、固体燃料ブースタの噴射が完了すると、ブースタとコア機体の間の接続が切り離されることを図21のように示している。このように、モデル要素に対して任意の文字列を付加することで、モデルに情報を追加するためのモデル要素を「コメント(Comment)」と呼ぶ。

 図21のようにコメントは「ノート」と呼ばれる右上の角の曲がった矩形の中に文字列を記載して表現する。コメントの対象となるモデル要素を示すために、そのモデル要素とノートの間を破線で接続して表現できる。

 ノートは制約や根拠(Rationale)、問題(Problem)などを表現するためにも使用される。これらの要素については、参考文献[4]を参考にしてほしい。



 今回は内部ブロック図の基礎的な部分について解説し、またフレームやコメントといったSysMLダイアグラムに共通する要素について解説した。前回解説したブロック定義図と併せ、内部ブロック図を使ってシステムの構造を表現する方法をご理解いただけただろうか。

 内部ブロック図には、ここで解説したモデル要素の他にポートなどがあり、ブロックをカプセル化した表現が可能になっている。このような表現方法についても、連載の中で今後解説していきたい。(次回に続く


参考文献:

[1]Object Management Group, "OMG Systems Modeling Language(OMG SysML)Version 1.2", 2010-06-02, 2010
[2]Object Management Group, "Unified Modeling Language: Superstructure, Version 2.3", formal/2010-05-05, 2010
[3]株式会社オージス総研 オブジェクトの広場編集部, "その場でつかえるしっかり学べるUML2.0", 2006
[4]鈴木茂;山本義高, "実践SysML", 2013


【 筆者紹介 】
鈴木 茂(すずき しげる) 株式会社オージス総研

東北大学 工学部 電気工学科を卒業後、沖電気工業、日本オラクルを経て、1998年より現職。オブジェクト指向やモデリング技術、アーキテクチャ構築技術を活用し、組み込みシステム開発現場の技術支援コンサルティングやR&D支援を手掛ける。また、2006年より情報処理学会ソフトウェア工学研究会 運営委員、2007年よりMDDロボットチャレンジ モデル審査員を務める。

主な著書は「その場でつかえるしっかり学べるUML2.0」(秀和システム、共著)。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る