0

我们的目标是使用 fUML 参考实现来执行用 Papyrus 编写的 fUML 规范。这并不具有挑战性,因为包含单个类图和一个或多个活动图的 UML 模型可以通过调用 fUML 构造函数直接执行:

new Fuml(File);

但是,如果没有基本的整数运算,就很难指定复杂的行为。例如,“等于”、“大于”……

我知道有一些此类函数库可以使用 OpaqueBehaviors 进行选择。因此,我的问题是:在哪里以及如何找到这些“基本操作”?

4

1 回答 1

3

对不起,这个问题最近才向我指出。但是,如果你还没有弄清楚,我确实有一个答案给你。

您正在寻找的库是基础模型库,其中包含 IntegerFunctions、BooleanFunctions 等包。规范的 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,参考实现就会知道这些是标准库函数,它具有内置实现。

但是,实际上已经有一个可用于 Papyrus 的库的 .uml 版本。它包含在 Papyrus 的附加 Moka 模型执行组件中。如果您安装此组件,则 fUML 模型库将作为“注册库”提供,您可以将其导入您的模型并按上述方式使用。

请注意,Moka 还包括一个 fUML 执行引擎,您可以使用它直接在 Papyrus 中执行活动模型(请参阅https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecution)。但是,在 Papyrus 中创建的任何可以使用 Moka 执行的模型也可以使用参考实现从 Papyrus 外部执行,就像您之前所做的那样。

于 2016-01-05T00:24:02.557 回答