製造業を中心に近年「モデルベースシステムズエンジニアリング(MBSE)」に取り組む企業や組織が増えています。当社の見解では、2025年現在、日本のMBSEも「キャズムの壁」を超えて広く普及していると考えます。すなわちMBSEは"新しい物好きのお試し"ではなく、効果の最大化・効率化の取り組みや議論が活発に行われている状況だと考えています。そんな中、MBSEに使われるシステムモデリング言語SysMLの新バージョンv2が発表されました。SysML v2は我々のMBSEをどう変えて、どう良くなるのでしょうか?
この連載ではSysML v2のリリース後、業界での利活用に乗り遅れないために、基本的な情報や新しい構成要素の紹介、今まで使っていたSysML v1とv2の変換を紹介していきます。初回である今回は「SysML v2の登場背景やコンセプト」を説明します。
SysML v2の登場背景やコンセプトを知る
SysMLとは
SysMLとはOMG System Modeling Language™(OMG SysML®)の略称で、ハードウェア、ソフトウェア、情報、人員、手順、設備などを含む複雑なシステムの仕様化、分析、設計、検証を行うための汎用グラフィカル・モデリング言語です。最初のバージョンSysML v1.0は2007年に発行されました。 モデルベースシステムズエンジニアリング(MBSE)ではデファクトスタンダードとなっている言語で、多くのシステムモデリングツールが対応しています。言語仕様は、様々なモデル要素とその関係性の定義と、9種のダイアグラム(図)の定義等からなります。
システムモデルとは
SysMLで作られた「システムモデル」は、一般にシステムを複数の側面で抽象化し記述したもので、各側面のモデルは互いに整合するように記述します。例えば「自動車」のシステムモデルは、自動車の静的構造を記述した構造モデル、動的な制御フローや状態遷移を記述した振る舞いモデル、自動車の設計が満たすべき仕様を記述した要求モデル、そして要求や設計に表れるパラメータの関係性を整理したパラメトリックモデルなどから構成されます。これらのモデルは例えば以下のことに活用できます。
- システムズエンジニアリングプロセスの成果物として次の工程の入力
- 全体のトレーサビリティがとれた(モデルというデータベース上で)設計根拠
- 設計段階の検証に使用して品質課題を早期に摘み取り(検証のフロントローディング)
SysML,システムモデリングの概要はこちらの記事も参照ください。
SysML v2の登場背景
SysMLはシステムズエンジニアリングに使うためのモデリング言語ですが、その出自はソフトウェア開発で主に使われているUMLです。このためSysMLにはUMLをベースにしているがゆえの仕様変更上の制約がありました。また今日までSysMLを利用したMBSEの実践が10年以上進められ、MBSEに求められることが変化、もしくは明確化し、現状のSysMLでは表現しきれないシステムズエンジニアリングの要素の存在が明らかになってきました。
またSysML v2 RFP(API and services)の6.Specific Requirements on Proposals1 から読み取れる、SysML利用上の課題には以下のものがあります。
- ファイルベースの管理(ツール連携やプログラムからのアクセスが容易でない)
- 表現力の不足 (グラフィカル表現に依存)
- 言語仕様の一貫性の不足(振る舞いと構造に見られる一貫性の低さ)
- モデルの再利用性、バージョン管理の困難さ
こうしたSysML v1の課題を解決するためにv2の検討が開始されました。
SysML v2のコンセプト
表現力の向上
既存のプロファイルはUMLを拡張したものであり、UMLの制約を受けていました。
SysML v2では、UMLに依存しないメタモデル(KerML)を定義することで、UMLの制約を受けないようにしています。
またv2では、v1でサポートされていなかった要素・フィーチャーが追加されました。追加されたものはシステムズエンジニアリングの重要な観点を表現するものであり、筆者としてはここにSysML v2の活用のキモがあると考えています。
正確さの向上
SysML v2ではv1より仕様の曖昧さを減らす仕様が追加されています。最も象徴的なものはTextual Notationが定義されたことでしょう。SysML v2の表記法はテキストでモデルを記述するTextual Notationと、これを図示したGraphical Notationに大別されます。まるでプログラムのソースコードのようなTextual Notationでモデリングすることは表記の厳密さが増すだけでなく、各種ツールにとっても扱いやすく自動化しやすくなることが期待できます。
またv1ではあらゆるモデル要素を「割り当て≪allocate≫」で関連付けていましたが、v2では下例のように割り当てる要素の種類ごとに異なる関連が定義され利用可能です。
- Partがactionをperformする
- Accept actionはこのportから(via)入出力される
- Send actionはこのportへ(to)入出力される
振る舞いや構造に関するコンセプトの統合及び一貫性の確保
SysML v1では、振る舞いのモデル要素であるアクティビティ・ステートマシン・相互作用などと、構造のモデル要素であるブロック・パートプロパティはそれぞれ異なる構造のメタモデルであり一貫性がなく(これはUML由来のものと考えられます)、それぞれ理解してモデリングする必要がありました。 この点SysML v2では「Definition」と「Usage」の関係のもとにほぼ全てのモデル要素が定義されており、振る舞いや構造の違いに関わらず一貫したメタモデルで理解することが可能です。
他のツールやモデルとの相互運用性の向上
SysML v2では言語仕様としてAPIを定義します。SysML v1においてはモデル自体をマークアップ形式で記述するXMIが文法定義されていましたが、v2のAPIではモデルの操作に関しても規定されています。
SysML v2のスケジュール
SysML v2は2023年7月にβ版がリリースされ、現在は正式版の発行に向けて、仕様の課題に対応中です。2024年内に正式リリースの予定でしたが2025年2月現在でまだリリースの予定などが聞こえてこないため、2025年以降にずれ込んでいるようです。
次回予告
次回からはSysML v2の新しいフィーチャーを取り上げ、それぞれがシステムズエンジニアリングにどう役立つかを考察します。