UMLの現状とSysMLの最新動向
SysMLの概要
OMGは、INCOSE(International Council on Systems Engineering)などの団体と協力し、ハードウエア/電気回路/ソフトウエアを組み合わせてシステム構築を行うシステム工学の分野に向けたモデル表記法の制定/標準化も推進しています。このような活動の成果としてまとめられたものの1つが「OMG SysML」(OMG SYStems Modeling Language)です。
SysMLは、(UMLと同様に)モデルを表現するために用いられる各種ダイアグラムの表記法と、その意味付けを定義したものです。できるだけUMLを流用する、というコンセプトで標準化されています。
SysMLは、システム全体のバランスを見てアーキテクチャを検討するシステム・エンジニアのためのモデリング言語として役に立つのはもちろんですが、組み込み開発などにおいて、専門分野が異なるエンジニア同士の意思疎通の用途としても効果が期待されています。
具体的には、メカ(機械工学系)/エレキ(電気/電子工学系)/ソフト(ソフトウエア系)に属するエンジニア間の共通言語としてSysMLを用いることにより、専門分野をまたがったコミュニケーションの効率化、抜け/漏れ/勘違いの削減、設計品質の向上、などの効果が期待できます。
業界動向としても、米Lockheed Martinや米IBMなどが中心となってSysMLの普及活動を展開しているほか、SysMLをベースとしているEAST-ADL2は、車載電子システム開発向けのドメイン特化アーキテクチャ記述言語として注目を集めています。
また、OMGとINCOSEが、共同でSysML関連の資格認定プログラム(OCSMP: OMG Certified Systems Modeling Professional)の開発を進めるなど、今後、システム工学分野における標準的な技術要素の1つとして普及していく可能性が高い、と注目されています。
SysMLの特徴
本記事では十分なページ数がないので、SysMLで定義されている具体的な表記法については触れません。以下では、「UMLと比べてどのような点が強化されているのか」という観点に立って、SysMLの特徴を簡単に説明します。
図2: SysML図の一例(アイテム・フローを含む内部ブロック図) |
- システム全体を俯瞰(ふかん)的に把握するための「地図」として有効
-
SysMLでは、ソフトウエア・モジュールやハードウエア要素の構造を俯瞰的/階層的に把握できるようにするために、ブロック図や内部ブロック図といった図を使います。また、要求や機能を特定のシステム構成要素に割り当てるアロケーション(Allocation)という仕組みを導入しています。これらによって、メカ/エレキ/ソフトといった分担/分類を超えた、システム全体としてのバランスを俯瞰的に捉えることができます。
- 要求の表現とトレーサビリティの強化
-
SysMLには、「要求図(Requirement Diagram)」という図が追加されています。これによって、UMLでは表現が難しかった非機能要求についても、モデルの一部として明示的に表現して取り扱い、各要求とそれを満たすためのモデル要素との間の依存関係も記述できるようになりました。要求の追加/変更に対して影響を受ける範囲の特定が容易になることが期待できます。
- 物理的なモノの流れ(ItemFlow)の表現
-
システムを構成する要素間の、物理的なモノ(水、油、空気、など)、エネルギ(電力、トルク、風力、光、など)、データ、などの流れを表現することができるように強化されています(図2)。
- パラメトリック図によるプロパティ間制約の明示
-
パラメトリック図および制約ブロックという概念が追加されています。これらによって、複数の構成要素をまたがった特性間の制約条件を、モデルの一部として明示することができます。
- アクティビティ図の拡張(連続的なデータ/アイテムの入出力表現の強化)
-
SysMLのアクティビティ図では、連続的なデータ/アイテムの入出力表現や、データ/アイテムがフロー上を流れる頻度(レート)の表現などが強化されています。
SysMLが持つ以上のような特徴を活用し、ソフトウエア開発分野で大きな効果を上げてきたモデル・ベース開発の考え方をシステム全体に拡大適用していくことによって、モデル・ベース・システム工学(MBSE: Model-Based Systems Engineering)という開発スタイルの実現を狙えるようになります。