Translate

ラベル Architecture Contexts の投稿を表示しています。 すべての投稿を表示
ラベル Architecture Contexts の投稿を表示しています。 すべての投稿を表示

2021/10/01

UMLモデルからSysMLモデルへの変換

 Forum の記事

「UML model to SysML model(Change/migrate model with state machines from UML to SysML model)」

にあった話題ですが、Papyrus の UML として作成したステートマシンモデルを SysML のステートマシンモデルに変換するにはどうしたらよいのか、という話です。

Switch Architecture Context で出来るとのことです。

知らなかったので少し試してみました。

ステートマシンモデルの切り替え

まずはUMLモデルとしてステートマシンを作成してみました。


Properties の Diagram Kind から見て取れる通り、UML の State Machine Diagram になっています。

この状態で、Architecture Context の切り替えを行ってみます。操作は、Model Explorer のトップのモデルをマウスで選択し、ドロップダウンリストから Switch Architecture Context を選びます。


すると切り替えのダイアログが表示されます。SysML1.6 のアドオンがインストールされていることが前提ではありますが。


ここで SysML1.6 に切り替えます。


これでOKをクリックすると以下のような警告が表示されます。


了解して Yes をクリックすると以下のようになりました。


Diagram Kind を見ると、確かに SysML 1.6 State Machine Diagram に変わっていますね。

へーという感じです。細かには色々と気になること、例えば、図の変換なのかモデルの変換なのか、はありますが、UMLとしてモデルを作成した世界から、SysMLのモデルの世界に移りゆくことは可能そうですね。

その後、同じく Switch Architecture Context で UML に切り替えると無事に元に戻りました。

クラス図の変換

少なくとも図の変換は出来たということで「図の変換」という表現を使いますが、次に気になるのは「UMLのクラス図はどうなるか」です。

試してみました。

以下のようなクラス図を作成しました。


同じく Switch Architecture Context を実行してみると、以下のようになりました。


Diagram Kind を見ると UML :: Class Diagram のままですね。Model Explorer 上の State Machine Diagram の方のアイコンから分かる通り、こちらは SysML に変わっているのですが、SysML の Architecture Context でも、UMLのクラス図はそのままというわけなのですね。

前にも少し試していた UML と SysML の混在(その1,その2)に関しても、Architecture Context を切り替えて使った方が良さそうですね。

ただ使ったことがないので、問題等についてちゃんと把握はしていませんが。。。



2017/07/16

Project の作成

Papyrus で UML モデルを作る基本的な方法はモデルプロジェクト(Papyrus Project)を作成することになります.また,そのやり方は,通常の Eclipse におけるプロジェクト作成と同様です.メニューの File を選択し New → Papyrus Project を選択します



ある程度使っている中で,一般的なプロジェクトの一部として Papyrus のモデルを作成・登録したい場合も出てくると思います.その場合は素のプロジェクト(上図中リストの Project... から)を作成して,そこに適当なフォルダ(上図中リストの Folder)を作成し,そこに Papyrus Model (上図中リストの Papyrus Model)を作成することも出来ます.元のプロジェクトがソースベースの場合やドキュメントベースの場合には Papyrus Project ではなく Papyrus Model を使う方が便利です.僕も幾つかのプロジェクトではそうしています.

File → New → Papyrus Project の選択で New Papyrus Project Wizard が開きます


いきなり Papyrus 2.0系とは画面が異なっていますね :-)
Architecture Contexts や Architecture Viewpoints という選択肢があります.
因みに Papyrus 2.0.2 での New Papyrus Project Wizard は以下のような画面でした


シンプルに使用するモデリング言語を選べば良かったのですが,Papyrus 3.0 では Architecture Contexts や Architecture Viewpoints とは何かをちゃんと押さえておいた方がよさそうです.
因みに上記 Papyrus 2.0.2 の画面で SysML 1.4 が選択できるようになっているのは Additional Component として SysML 1.4 を追加しているためです.またボタンの文字表示が日本になっていますが,これも日本語化対応のプラグインをいれているためです.
それらについては,また紹介できればと思います.

今回は Papyrus 2.0 から Papyrus 3.0 への変更調査もしたいので,じっくり確認していこうと思います.
このように不明点に出会ったら,あせらずに画面左したのヘルプマークをクリックします.そうすると以下のようにヘルプ付き画面に変わります.


Eclipse ヘルプと連動しており Papyrus のヘルプも辿ることができます.この表示上の「Search for Select Architecture Context」をクリックしてみます.


Local Help に 7つほどアイテムが出てきました.一番上の architecture が近そうですね.クリックしてみます.


Papyrus Guide > Toolsmith  Guide > Architecture Contexts のページの様です.
これを読んでみた方がよさそうですね.それについてはまた別記事にまとめるとして,まずは デフォルトの UML を選択して進めます.


プロジェクト名とモデルファイル名を入力する表示に変わりました.
基本的には Papyrus 2.0 系と同じなのですが一点だけ違う所があります.
Papyrus 2.0 系 ではモデルファイル名は "model" という文字列でデフォルトで入っていました.もちろん修正可能ではあったのですが,デフォルトである model という名前で使うことが多かったです.Papyrus 3.0 ではモデルファイル名は空欄になっています.
実はここ,プロジェクト名を入れると連動してモデルファイル名に同じ名前が入力されます.


このような感じです.とりあえず先に進みます.


ここも Papyrus 2.0 系と基本的には同じですが,幾つかの違いがあります.
まず Root model Element name が前は "RootElement" がデフォルト設定だったのですが,今回は モデルファイル名が入っています.実は一度 Back ボタンで戻り,プロジェクト名と異なるファイル名にしてみたのですが,Root model Element name に表示される名前はモデルファイル名の方でした.因みに Root model Element name は,その名の通り,UMLでモデル化する対象のルートとなる Model パッケージの名前です.この名前は,他のモデルを Import したり UMLプロファイルを読み込んだりする際のルート名となるため,実は Papyrus 2.0 系の共通的なデフォルト名だと,その際に名前がわかりづらく,後々変更するなどの面倒くさいこともあったので,今回のモデルファイル名(また大元となるプロジェクト名)に連動させるというのは良い感じに思えます.
また別の違いとしては,Select a Diagram Kind に表示される Diagram/Table の数が増えています.プロジェクトやモデル作成時に選ばなくても後で選べますし,いつも数多くのダイアグラムを作成するため,この初期画面で選択することはほぼないのですが.
因みに増えているのは

  • Generic Table
  • Relationship Generic Matrix
  • View Table

の3つみたいですね.
これらについても,またおいおい.
その下のチェックは,後で対応できるので,ここでは何も指定せずに進みます.
それで Finish を押すと


となります.
Papyrus の見慣れたトップ画面となりました.

とりあえず今回はここまで.
今回の内容でも,いくつか宿題が出来てしまいました...