0

fUMLリファレンス実装を用いてPapyrusで書かれたfUML仕様の実行を目指します。単一のクラス図と 1 つ以上のアクティビティ図を含む UML モデルは、fUML コンストラクターを呼び出すことで直接実行できるため、これは難しいことではありません。

new Fuml(File);

ただし、基本的な整数演算なしで複雑な動作を指定することは困難です。たとえば、「等しい」、「より大きい」...

OpaqueBehaviors を使用して選択できるそのような関数のライブラリがいくつかあることを認識しています。したがって、私の質問は次のとおりです。そのような「基本的な操作」はどこで、どのように見つけることができますか?

4

1 に答える 1

3

申し訳ありませんが、この質問は最近指摘されたばかりです。しかし、まだわからない場合は、答えがあります。

探しているライブラリは、IntegerFunctions、BooleanFunctions などのパッケージを含む Foundational Model Library です。規範的な fUML 仕様には、このライブラリの標準 XMI ファイルが含まれています ( http://www.omg.org/spec/FUML )。 /20121019/fUML_Library.xmi、fUML 1.1 の場合)。ただし、Papyrus でライブラリを使用するには、Eclipse .uml バージョンが必要です。

必要に応じて、規範的な XMI を自分で変換できます。ファイルをダウンロードして、Eclipse UML エディター ( Papyrusではありません) で開きます。[ファイル] > [名前を付けて保存] を選択し、.uml 拡張子 ( ) を付けてファイルを保存しますfUML_Library.uml。その後、この .uml ファイルを Papyrus にインポートして、その中の関数をアクティビティ モデルから参照できるようになります。元の XMI ファイルの規範的な要素 ID を保持している限り、参照実装は、これらが組み込み実装を持つ標準ライブラリ関数であることを認識します。

ただし、実際には、このライブラリの .uml バージョンがすでに Papyrus で利用可能です。これは、Papyrus 用の追加の Moka Model Execution コンポーネントに含まれています。このコンポーネントをインストールすると、fUML モデル ライブラリが「登録済みライブラリ」として利用可能になり、モデルにインポートして上記のように使用できます。

Moka には、Papyrus 内でアクティビティ モデルを直接実行するために使用できる fUML 実行エンジンも含まれていることに注意してください ( https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecutionを参照)。ただし、Moka で実行できる Papyrus で作成されたモデルは、以前と同様に、参照実装を使用して Papyrus から外部で実行することもできます。

于 2016-01-05T00:24:02.557 に答える