ブロック定義図中のブロックと同様、内部ブロック図中のプロパティにも、「区画(Compartment)」を表記することができる。プロパティの区画の種類としては、SysMLで規定された標準の区画以外に、利用者が定義した区画を利用することができる。
区画に表記する各種情報は、プロパティを型付けするブロックや値型などの型の定義に沿ったものでなければならない。ただし、前述のプロパティ固有型の場合は、型が別途定義されるわけではないため、この限りではない。
図2では、液体酸素タンク内の液体燃料の重量が83tであることを図12のように表現している。一方、液体酸素タンクの型である「液体燃料タンク」ブロックでは、図13のように「液体燃料重量」プロパティのデフォルト値を90tと定義している。このように、ブロックの定義において指定された値を上書きして、プロパティの値を指定するための区画を「初期値区画(Initial Values Compartment)」と呼ぶ。
複数段階ネストされたプロパティの中で初期値区画を設定した場合、最も外側のブロックにおける特定の利用方法を表現したことになる。すなわち図2や図12の例では、液体燃料重量が83tであることは、最も外側のブロックであるロケットに特有の事柄であることを意味する。液体水素タンクやコア機体などで常に成立する事柄ということではない。
図2では、第1段推進部に制約が対応付いていることを、図14のように「推進部」ブロックの制約区画を使って表現している。このようにプロパティには、そのプロパティの型の区画を表記することができる。このとき、その区画が型の区画であることを明示するために、区画名の先頭にコロン「:」を付加する。図14の例では制約区画のラベル「constraints」の前にコロンを付加して表記している。
図2では、第1段推進部と第2段ロケットの間が接手と呼ばれる機構で接続されていることを、図15のように表現している。このように、プロパティの間の関係を定義するためのモデル要素を「コネクタ(Connector)」と呼ぶ。
コネクタの型は、ブロック定義図の中で関連として定義される。
関連が、関連名や関連端名といった情報を伴うのと同様に、コネクタはコネクタ名やコネクタ端名といった情報を伴う。
コネクタ名を表記する際には、コネクタ名とコロンに続いてコネクタの型である関連の関連名を記載する。ただし、コネクタ名や関連名を省略して表記することもできる。例えば以下のような表記方法がある。
コネクタ名 : 関連名
:関連名
コネクタ名
関連と同様、コネクタにも多重度を指定できる。ただしコネクタの多重度は、関連の多重度ほど一般的に使われるわけではない。
図2では、液体水素タンクと主推進の間の接続関係を、図16のように表現している。図16の関係に対応するブロック定義図は、図17のように関連ブロックを用いて表現する。
このように、関連ブロックのインスタンスであるコネクタを「コネクタ・プロパティ(Connector Property)」と呼ぶ。
コネクタ・プロパティは、図18のように<<connector>>を付加してブロックの区画の中に表記することができる。
図19は、図2に示した「液体水素供給」コネクタ・プロパティの型である、「液体燃料供給」関連ブロックの内部構造を表現している。このような構造を持った関連ブロックを、複数のコネクタの型として再利用できる。
図19では、液体燃料タンクやロケットエンジンが「液体燃料供給」関連ブロックの端に接続されていることを示している。このように、関連ブロックの内部構造の表現の中で、その関連ブロックの関連端に接続された対象を表すプロパティを「参加プロパティ(Participant Property)」と呼ぶ。
参加プロパティを表記する際には、型の情報は省略できる。
本章では、ダイアグラムの種類によらず共通して利用できるモデル要素について解説する。
図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つのモデル要素に対して複数のダイアグラムがある場合に、ダイアグラム名を指定することでダイアグラムを一意に特定できるようになる。
図2では、固体燃料ブースタの噴射が完了すると、ブースタとコア機体の間の接続が切り離されることを図21のように示している。このように、モデル要素に対して任意の文字列を付加することで、モデルに情報を追加するためのモデル要素を「コメント(Comment)」と呼ぶ。
図21のようにコメントは「ノート」と呼ばれる右上の角の曲がった矩形の中に文字列を記載して表現する。コメントの対象となるモデル要素を示すために、そのモデル要素とノートの間を破線で接続して表現できる。
ノートは制約や根拠(Rationale)、問題(Problem)などを表現するためにも使用される。これらの要素については、参考文献[4]を参考にしてほしい。
今回は内部ブロック図の基礎的な部分について解説し、またフレームやコメントといったSysMLダイアグラムに共通する要素について解説した。前回解説したブロック定義図と併せ、内部ブロック図を使ってシステムの構造を表現する方法をご理解いただけただろうか。
内部ブロック図には、ここで解説したモデル要素の他にポートなどがあり、ブロックをカプセル化した表現が可能になっている。このような表現方法についても、連載の中で今後解説していきたい。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.