開発
PR

【MBSE】システムモデリング言語SysML v2をインストールする方法【モデルベースシステムズエンジニアリング】

えりる
記事内に商品プロモーションを含む場合があります

この記事ではシステムモデリング言語であるSysML-v2の開発環境を構築する方法を解説します。

SysMLって何?

SysMLは、OMG (Object Management Group) によって開発された、汎用的なシステムモデリング言語です。
システムをモデリングするというのは、システム全体を「見える化」し、その構造、振る舞い、要件などを明確に記述するということです。
これを行う学問をモデルベースシステムズエンジニアリング
MBSE = Model-Based Systems Engineering)といいます。
簡単に言うと、MBSEをするための道具がSysMLというわけですね。

SysMLは以下のような図を使って、システムの構成を定義したりふるまいを分析したりします。この記事ではSysMLの開発環境を作って、以下のようにシステムの構成をモデリングするところまでを解説します。

もっと詳しく勉強したい方向けにいくつかおすすめの書籍を載せておきます。
ぜひ参考にしてみてください。

「A Practical Guide to SysML: The Systems Modeling Language」はSysML公式の解説書です。英語で書かれているので少しハードルが高いかもしれませんが、ちゃんと学習するならこれがおすすめです。

一方で「実践に活かす モデルベースシステムズエンジニアリングの基礎」は最近出版された日本語の本です。モデルベースシステムズエンジニアリング(MBSE: Model-Based Systems Engineering)を基本からしっかり学びたいと考える方に向けた書籍です。

推奨環境

WindowsやMac上でインストールできるのですが、環境によってはインストーラが途中でエラーになって止まってしまったりするので、
Linux またはWSL2(WindowsでLinuxを仮想的に動かす機能)を推奨します。

えりるさんはWSL2上で動いているUbuntu 24.04にインストールしました。

インストール手順

Anaconda またはminicondaのインストール

SysML-v2のインストールにはconda環境が推奨されています。
まずはconda環境を整えましょう。

ここでは、インストールやアンインストールが楽なのでpyenv経由でインストールしてみます。
pyenvのインストールは以下の記事で解説していますので、よければこちらを参考にインストールを進めてみてください。

あわせて読みたい
【Python仮想環境構築】pyenv+venvの開発環境の作り方【Linux】
【Python仮想環境構築】pyenv+venvの開発環境の作り方【Linux】

pyenvがインストールできたら、minicondaをインストールします。
インストールは以下のコマンドで行うことができます。
(pyenvでインストールできるものの中で一番新しいバージョンがインストールされます)

pyenv install miniconda3-latest

インストールができたら以下のコマンドでminicondaをグローバルとして(優先的に使うように)設定します。
ローカル設定で進めるとSysML本体のインストール時に途中で止まってしまい進みませんでした。

pyenv global miniconda3-latest

設定後、以下のコマンドでcondaを初期化します。(初回だけでOK)

conda init

その後、いったんログアウトするかシェルを再起動しましょう。

これで最低限の設定は完了ですが、このままだとシェルを起動したら自動でcondaのbase環境が起動した状態になってしまいます。
そのままでもよいですが、ほかのところでトラブルになる可能性もあるので、以下のコマンドで自動起動を無効化します。

conda config --set auto_activate_base False

condaを起動する場合は以下のコマンドで行います。

conda activate

javaのインストール

まず、以下のコマンドでシステムのパッケージリストを更新しておきましょう。

sudo apt update

その後、利用可能なOpenJDKバージョンを確認します。
以下のコマンドで、apt でインストールできるパッケージリストを取得できます。

apt-cache search openjdk

この中から、openjdk-**-jdk というのを探して、**に入る数字が一番大きいもの(最新のバージョン)をインストールします。
2025年6月時点では openjdk-21-jdk が最新みたいです。インストールは以下のコマンドで行います。

sudo apt install openjdk-21-jdk

インストールが完了したら、以下のコマンドでJavaのバージョンを取得できるか確認します。

java -version

これでバージョン情報が表示されればインストール完了です。

SysML-v2 のGitHubリポジトリの取得→インストール

次にSysML v2 のGitHub からSysMLのカーネルを取得します。
Git のインストールがまだの場合は以下のコマンドでインストールしておきましょう。

sudo apt install git

Gitのインストールができたら、以下のコマンドでリポジトリをクローンします。

git clone https://github.com/Systems-Modeling/SysML-v2-Release.git

取得が完了したらSysML-v2-Release というディレクトリができていると思います。

SysMLのインストールの前にcondaでSysML開発用の仮想環境を作成します。
仮想環境名は何でもよいですが、この記事ではsysml-v2 としておきます。
仮想環境の作成は以下のコマンドで行います。

conda create -n sysml-v2

その後、仮想環境 sysml-v2 を有効化します。

conda activate sysml-v2

次にリポジトリをクローンしたときに作成されたSysML-v2-Releaseディレクトリ内にある
SysML-v2-Release/install/jupyter というディレクトリに移動します。
カレントディレクトリの直下にSysML-v2-Release がある場合は以下のコマンドで移動できます。

cd ./SysML-v2-Release/install/jupyter 

このディレクトリ内にinstall.shというファイルがあるのでこれを実行します。
まず、以下のコマンドで実行権限を付与します。

chmod +x ./install.sh

これで実行できるようになるので、以下のコマンドで実行します。

./install.sh

あとは待つだけです。環境によっては時間がかかることもありますが、えりるさんは一瞬で終わりました。

確認

スクリプトの処理が終わったらJupyter Labを起動します。sysml-v2の仮想環境が有効化されている状態で、以下のコマンドを実行するとJupyter Labが立ち上がります。

jupyter lab

コマンドラインにURLが表示されていると思うので、そこにアクセスします。
デフォルトでは http://127.0.0.1:8888 にアクセスしても立ち上がります。
Jupyterを起動すると以下のような画面が立ち上がればインストール完了です。

使い方とサンプルコード

SysMLの仕様書や使い方はdoc というフォルダ内にpdfファイルがあり、そこにまとめられています。
えりるさんも勉強中なので偉そうなことは言えませんが、サンプルコードと可視化の方法を書いておきますね。

ここでは例としてゲーミングパソコンの構成をモデリングしてみましょう。
一般にゲーミングパソコンは以下のような要素で構成されています。

  • CPU
  • GPU
  • マザーボード
  • メモリ
  • ストレージ(SSDなど)
  • 電源ユニット
  • CPUクーラー
  • ケース

これをSysMLで記述すると以下のようなコードになります。

package computer_model {
    // パソコンの構成のサンプルコード
    
    // 型のインポート
    public import ScalarValues::*; // StringやRealなどを変数定義時に指定できるようになる

    
    // part def で構成要素を定義=型
    part def 'Elir PC';
    part def CPU;
    part def GPU;
    part def Motherboard;
    part def 'Power Supply Unit';
    part def DRAM;
    part def Storage;
    part def Cooler;
    part def Chassis;
    
    // パソコンの構成を記述
    // part '名前': 「part def で定義した構成要素(型)」
    part 'elir pc': 'Elir PC' {
        part cpu: CPU {
            attribute name: String = "Core Ultra 9 285K"; // CPUが持つ変数を定義。ここではCPU名
        }
        part gpu: GPU {
            attribute name: String = "GeForce RTX 5080";
        }
        part motherboard: Motherboard;
        part psu: 'Power Supply Unit';
        part dram: DRAM;
        part ssd: Storage;
        part cooler: Cooler;
        part chassis: Chassis;
    }
}

これを記述してJupyterで実行してみましょう。
すると、このモデルがビルドされます。
これだけだと何も可視化されないのであまり意味がないですよね。

可視化などのコマンドも用意されていて、Jupyter Lab上で以下を実行するとコマンド一覧を取得できます。

%help

するといろいろコマンドが出てきますが、構成の可視化は%viz で行います。
-h をつけて実行するとヘルプが見られるので一度確認しておくとよいと思います。

// 可視化コマンドのヘルプ
%viz -h

では、パソコンの構成を定義したpartプロパティである’elir pc’ を可視化してみましょう。
Jupyter上で以下を実行すると可視化されます。

%viz --view tree computer_model::"elir pc"

これを実行すると以下のようにモデリングしたパソコンの構成が図で表されます。

まとめ

この記事ではシステムモデリング言語であるSysML-v2の開発環境を構築する方法を解説しました。
システム開発をする方や個人で何か開発をしている方にはおすすめで、SysMLを使って開発をすることで、あいまいな部分をなくしてきっちり設計を進めることができます。

記事中にも書きましたが、もっと詳しく勉強したい方は以下の書籍も参考にしてみてください。

えりるについて
えりる
えりる
日本のどこかに生息する平成生まれの研究者。とっても理論家と思いきや気分屋さんでもある。基本的にめんどくさがり。修士(工学)を持っている。 Windows, Mac, Linuxの三刀流。
記事URLをコピーしました