SysML 2.0 概要紹介 (4)

その(3)の続きです。

さて、ここからは「System-Specific Metamodel」、これはSysMLを利用する人が実際に利用する要素や関係、つまりブロック要素や要求要素などの定義になります。ただし、多くの方が興味を持っているであろう、ダイアグラム上での表現(Notation)は含まれていません。

この仕様の大きな特徴として、DefinitionとUsageという概念があることです。これは、UMLのクラス要素とオブジェクト要素の関係と同じかと思います。このあたりを示した以下の内容が、イメージしやすいのではないかと思います。

一番下に位置するのが、SysML 1.xのブロック定義図・内部ブロック図でおなじみのブロック要素・パートプロパティ要素・参照プロパティ要素です。これらの要素が、DefinitionとUsageという概念を経由して、KerMLで定義されているTypeとFeatureの関係で結ばれています。結果的に、プロパティ要素はブロック要素で片付けされる必要があることを示しています。

バリュー型(バリュータイプ)要素・バリュープロパティ要素についても全く同様です。上のブロック要素の定義の構成と同じです。このあたりの定義をシンプルにするためにKerMLを定義したと理解しています。

ポート要素の定義は、SysML 1.xとは少し異なるように思います。定義の構成は下の図の通りで、ブロック要素やバリュー型要素と全く同じ構成です。ただし、例えばブロック要素がポート要素を持つような場合に、その持つ要素はPortUsageです。つまり、今までのSysML 1.xとは異なり、ブロック要素にポート要素を追加する場合には、ポート要素の定義(PortDefinition)要素がモデルとして生成され、対応するPortUsageがブロック要素に保持されます。さらに、共役(Conjugated)は属性ではなく汎化で定義されることになりますので、共役ポートを作成すると、さらにポート要素の定義が増えてしまいます。このあたりを仕様通りにツールで扱う場合、モデル要素(定義)の数が増えてがごちゃごちゃしそうです。

ブロック定義図・内部ブロック図に関係する内容の概要はこんな感じです。次の「その(5)」でいったん終了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です