ブロック定義図の基礎:ゼロから学べる SysML入門【実践編】(1)(3/3 ページ)
SysMLの言語要素や表記方法について、モデルの具体例を挙げながら解説。第1回はSysMLの構造図「ブロック定義図」について。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
汎化
図4では、ロケットによって荷載部が運搬される場合と、ロケット(この場合、第2段ロケット)が運搬される場合があることを、図24のように表現している。ここで被運搬部は、ロケットによって運搬される部分を抽象的に表した概念である。
このように、相対的に具象的なブロックと抽象的なブロックとの関係を表現するためのモデル要素が「汎化(Generalization)」である。具象的なブロックのインスタンスは、そのブロックと汎化関係のあるより抽象的なブロックの特性を受け継ぐ。汎化はしばしば物事の体系的な分類のために利用される。
また図24では、被運搬部が抽象的な概念であり、実体はあくまでロケットや荷載部であることを表現している。このように、直接インスタンス(実体)の型になることのないブロックに対し、抽象指定 {abstract}を設定する。抽象指定されたブロックは、直接インスタンス化されない代わりに、汎化関係のあるより具象的なブロックがインスタンスの型となる。抽象指定されたブロックの名称はイタリック体で表記する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
値型
図4の中では図25のように、ロケットエンジンの推力の値を単位「kN」を表す型で扱っている。このように、値の型を定義するためのモデル要素が「値型(Value Type)」である。
値型で型付けられた情報は、参照を介して扱われることはなく、値としてのみ扱われる。このため値型は参照関連による参照先となることはない。
値型を定義する際には、図26のようにしばしば単位や次元を利用する。
図26では、値型kNを単位「キロニュートン」を使って定義している。このようにモデル要素「単位(Unit)」を使って、値型の定義で用いる単位を指定できる。
また図26では、単位「キロニュートン」が次元「力」を使って定義されている。このように、単位や値型がどのような種類の量を表すかを定義するためのモデル要素が「次元(Dimension)」である。
単位や次元は型ではないため、ブロックのプロパティや操作のパラメータのための型として直接利用することはできない。そのような目的には値型を定義して利用する。
図26の値型の定義では、ステレオタイプ<<valueType>>を修飾するための値を、「ステレオタイプ・プロパティ区画(Stereotype Property Compartment)」の中に名前と値の組で表記している。ここでは名前「unit」とその値「キロニュートン」を指定しているが、値型の定義にはこのほかに名前「dimension」とその値を指定することもできる。一方、単位の定義では「dimension」を指定している。これら「unit」や「dimension」の指定はいずれもオプションであり、省略することもできる。
図26の値型や単位の定義では、要素名のための最上位の区画でステレオタイプ名<<valueType>>や<<unit>>の表記を省略しているが、表記してもよい。
値型は、プロパティや操作を持つこともできる。
図27は、SysMLのモデルライブラリに含まれている実数や複素数を表す値型の定義である。SysMLの利用者は、これらの値型を使ってモデリングできる。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
UML Version 2との違い
SysML Version 1.1は、UML Version 2.1.1をベースとしている。ここでは、SysML Version 1.1とUML Version 2.1.1の相違点のうち、特にブロック定義図と関係する部分について解説する。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
UMLに対する追加点
SysMLのブロック定義図では、UMLにはなかった以下のような特徴やモデル要素が追加されている。
- ブロック
・クラスと異なり利用者が区画を追加できる点など - 制約区画
- 名前空間区画
- 構造区画
- 関連の以下の特徴
・多分岐表現
・デフォルト多重度 - 分布プロパティ
- 値型、単位、次元
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
除外されたモデル要素
SysMLでは、利用者がより理解しやすいようUMLに比べ、関連の表記法を減らして単純化している。
UMLで利用可能だったN項関連と限定子は、SysMLでは除外された。
UMLでは関連につながった分類子が関連端を所有することを、関連端の小さなドットで表現することもできたが、この表現はSysMLでは除外された。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
表記法の変更
誘導可能性の表記は、表4のように単純化された。
連載第1回では、ブロック定義図の基本的な部分について解説した。SysMLがUMLよりも言語仕様を単純化して理解しやすくしている点を感じてもらえただろうか。
ブロック定義図は、内部ブロック図と合わせてシステムの構造を表現するために有用な図であり、はじめに使い方を押さえておきたい図だ。しっかりと理解しておいてほしい。
今回は、ブロック定義図を使った型の定義に注力して説明したが、ここで定義した型をもう1つの構造図である内部ブロック図で活用することで、システムの構造を効果的に表現できる。
ブロック定義図は、内部ブロック図以外にもパラメトリック図などとも連携して利用される。ブロック定義図のこうした使い方については参考文献[4]を参考にしてほしい。(次回に続く)
参考文献:
Copyright © ITmedia, Inc. All Rights Reserved.