Systems Modeling Language

Systems Modeling Language（SysML）は、システムズエンジニアリングのためのドメイン固有モデリング言語である。各種システムや「システムのシステム」の仕様記述、分析、設計、検証、評価に使うことができる。SysML は本来オープンソースのプロジェクトとして開発され、オープンソースとしての配布および利用ライセンスもある。SysML は統一モデリング言語(UML)のサブセットにUMLのプロファイル機構を使って拡張したものと定義できる。

 概要 
SysML はソフトウェア向きの傾向がある UML にシステム工学向けの改善を施している。改善点には以下のようなものがある:
 SysML の意味論はより柔軟で表現豊かとなっている。SysML は UML のソフトウェア向けの制限を撤廃し、新たな2種類の図（リクワイアメント図とパラメトリック図）を追加した。リクワイアメント図は要求管理に使われ、パラメトリック図は性能分析と定量的解析に使われる。この結果、SysML は様々なシステム（ハードウェア、ソフトウェア、情報、製造ライン、人員管理、設備管理）のモデル化に利用可能となっている。
 SysML は小型の言語であり、学習も利用も容易である。SysML は UML のソフトウェア向けの構成要素を省いてあるので、言語全体としては小型化している。
 SysML のアロケーションテーブルは様々な割り当てを表現するのに使える。UML は表をほとんど使わないが、SysML はアロケーションテーブルを使って要求仕様割り当て、機能割り当て、構造的割り当てなどを記述できる。これによって自動的な検証と評価、ギャップ分析などが可能となる。
 SysMLモデル管理はモデル、ビュー、ビューポイントをサポートする。これは UML をIEEE 1471向けに拡張したものである。

SysML は UML 2.0 の13種類の図のうち 7 種類を利用し、2種類の図（リクワイアメント図とパラメトリック図）とアロケーションテーブルを追加している。アロケーションテーブルは他の図から動的に導き出すことが可能である。SysML と UML 2.0 の比較表が SysML FAQ にある。

SysML の UML に対するシステム工学上の優位性は、自動車システムなどの具体例を考えれば明らかとなる。SysML では、機能や性能やインターフェイスに関する要求仕様をリクワイアメント図で効率的に記述できるが、UML ではユースケース図しかない。また、SysML では、最大加速/総重量/空調機能/車内の雑音レベルといった値の制限をパラメトリック図で記述できる。UML はこのような性能や機構についての情報を直接的に扱う機構を持たない。

自動車システムの例をさらに使用すると、SysMLではアクティビティ図や状態遷移図を拡張して車載コンピュータの組み込みソフトウェアのロジックを記述できる。他にもSysMLの図で自動車工場をモデル化したり、各工場の組織の相互関係をモデル化したりすることができる。

 歴史 
2001年1月、International Council on Systems Engineering (INCOSE) の Model Driven Systems Design ワークグループが UML をシステム工学向けにカスタマイズするために SysML イニシアティブを組織することを決定した。その後 INCOSE と UML 仕様を管理する Object Management Group (OMG) は共同でワークグループ(SE DSIG)を2001年6月に発足させた。SE DSIG は INCOSE および ISO AP 233 ワークグループと協力してモデリング言語の要求仕様を策定し、OMG がこれを UML for Systems Engineering Request for Proposal として2003年3月に公表した。

2003年、Cris Kobryn と Sanford Friedenthal は SysML Partners という非公式な業界団体を組織した。独自の技術貢献者やSysMLの1.0aの仕様の共著者はLaurent Balmelli、Conrad Bock、Rick Steiner、Alan Moore と Roger Burkhartでした。ここで、OMG の UML for Systems Engineering Request for Proposal に従ってSysMLのオープンソース仕様策定を行った。SysML Partners は2004年にオープンソースのSysML仕様ドラフト版を公開し、2005年11月に OMG に SysML 1.0a を送った。

 OMG SysML 
SysML仕様に関するいくつかのプロポーザルを検討したうえで、2006年4月、"SysML Merge Team" の案が OMG に提出されたOMG document ad/06-03-01。この案に対して OMG で投票が行われ、2006年6月に OMG SysML として採用され、元となったオープンソース版と区別するためにOMGの商標とされた。現在の OMG SysML仕様は Final Adopted Specification というステータスであるOMG document ptc/06-05-04。OMG Finalization Task Force は OMG SysML の最終版を2007年4月に完成させることを計画しており、その後さらに投票が行われて公式な仕様となる予定である。

OMG SysML は本来のオープンソースのSysMLから派生したものであるため、配布と利用に関してオープンソースライセンスもある。

 ツール 
一部ツールベンダーは既に SysML サポートを表明しており、OMG SysML 仕様に適合するようツールを更新中である。OMG SysML サポートを表明しているツールベンダーのリストは Official OMG SysML Website にある。

 モデル交換 
OMG UML 2.0 のプロファイルとして、SysMLモデルは最新のXML Metadata Interchange(XMI)を使って交換可能である。さらに SysML は策定中のISO 10303（Standard for the Exchange of Product model data）の AP-233 とも整合するようになっている。これは、システム工学ソフトウェアアプリケーションやツールでの情報交換と情報共有のための標準規格である。

 参考文献 

 外部リンク 
SysML Open Source Specification Project SysML オープンソース仕様関連情報など
Official OMG SysML Website OMG SysML 仕様関連情報
SysML Forum SysMLコミュニティ。ツールなど各種情報がある。
SysML Forum mailing list モデレータ付きメーリングリスト
Visio Stencil and Template for SysML 1.0
記事 "SysMLに関する＠ITの記事（2006年9月22日）"

*
Category:統一モデリング言語
Category:システム工学
Category:モデリング言語