SysML
システムの要求、構造、振る舞いなどを図で表し、システムの設計及び検証を行うためのグラフィカルなモデリング言語。UMLの仕様の一部を流用し、システム工学向けに機能を拡張したもの。
イマシルちゃんの解説
UMLは、ソフトウェアを設計するための「図の描き方のルール」だったよね。
でも、車やロボット、人工衛星みたいなシステムは、ソフトだけじゃなくて、機械や電気の部品も組み合わさってできている。
SysMLは、UMLをもとに、そういう「システム全体」を図で表せるように拡張した言語なんだ。
要求からつくりまで、つながりを図で追いかけられるんだよ!
より深い解説
定義
SysML(Systems Modeling Language)は、OMG(Object Management Group)が標準化した、システムズエンジニアリングのためのモデリング言語である。ソフトウェアだけでなく、ハードウェア、人、手順などを含むシステム全体の要求、構造、振る舞い、制約を表現し、分析、設計、検証に用いる。UML 2のサブセットを再利用し、システム工学に必要な図を追加している。
主なダイアグラム
| 種類 | ダイアグラム | 内容 |
|---|---|---|
| 要求 | 要求図 | システムへの要求と、要求同士や設計要素との関係(満たす、検証するなど) |
| 構造 | ブロック定義図 | システムの構成要素(ブロック)と、その関係 |
| 構造 | 内部ブロック図 | ブロックの内部の部品と、部品の間の接続(流れるもの) |
| 構造 | パッケージ図 | モデルの整理 |
| 振る舞い | アクティビティ図、シーケンス図、状態機械図、ユースケース図 | システムの動作 |
| パラメトリック | パラメトリック図 | 性能や物理的な制約を式で表し、解析と結び付ける |
要求図とパラメトリック図は、UMLにはない、SysMLで追加された図である。また、UMLの「クラス」の代わりに、ソフトウェアに限らない構成要素を表す「ブロック」を使う。
MBSE
設計の情報を文書ではなくモデルとして一元的に管理し、要求から設計、検証までをモデルでつないで進める手法を、MBSE(Model-Based Systems Engineering)という。SysMLは、MBSEで使われる代表的な言語であり、自動車、航空宇宙、防衛などの複雑なシステムの開発で使われている。
似た言語との区別
| 言語 | 用途 |
|---|---|
| SysML | システムの設計及び検証のための、UMLを拡張したグラフィカルなモデリング言語 |
| UML | ソフトウェアの設計のための、グラフィカルなモデリング言語 |
| MathML | Webページに、画像を使わずに数式を表示するためのXMLのマークアップ言語 |
| SystemC | ハードウェアとソフトウェアの協調設計のための、C++を基にしたシステムレベル記述言語 |
| VHDL、Verilog HDL | 論理合成してFPGAなどで動かすハードウェア論理の記述に使う、ハードウェア記述言語 |