fUML,纸莎草纸和基本操作

时间:2015-07-17 09:21:37

标签: eclipse uml diagrams papyrus

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

new Fuml(File);

但是,如果没有基本的Integer操作,很难指定复杂的行为。例如,'等于','更大' ...

我知道有一些这样的函数库可以使用OpaqueBehaviors选择。因此,我的问题是:这些"基本操作"被发现?

1 个答案:

答案 0 :(得分: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)。但是,任何可以使用Moka执行的Papyrus中创建的模型也可以使用参考实现从Papyrus外部执行,就像您之前一样。