将使用Papyrus创建的UML类图转换为.ecore文件

时间:2011-05-21 15:41:39

标签: java uml eclipse-emf-ecore

以下是我使用eclipse做的事情:

  1. 创建一个新的Papyrus项目
  2. 在Papyrus中创建一个类图
  3. 创建新的EMF空项目
  4. 使用EMF生成器模型将我的.uml文件(使用Papyrus创建)转换为.ecore文件
  5. 现在我想用Java做到这一点。我找到了post here where someone is doing it from XSD。我想用UML做同样的事情。 User565300正在使用名为Xsd2Ecore的东西,但我找不到Uml2Ecore。你们知道eclipse用来转换UML文件吗?

2 个答案:

答案 0 :(得分:1)

我最近遇到了这个问题并找到了一个简单的解决方案,以为我会分享。

除了Papyrus之外,我还安装了Obeo UML Designer 6.1插件。

1)UML Designer添加了“建模项目”的概念。从File-> New子菜单中创建一个。

2)找到要转换为ECore的Papyrus模型。在其根节点下,您通常会看到两个标有“notation”和“uml”的子节点。标记为“uml”的节点对应于名为“model.uml”的文件。单击它并将文件路径复制到剪贴板。

3)返回您的建模项目。将剪贴板粘贴到其中,您应该会看到“model .uml”。打开它。

4)打开“根资源节点”并选择其单个子节点,下面将称之为“根模型节点”。 - 这应该是一个UML模型对象,表示要移植的模型的根。 - 如果您看到其他内容,请检查您是否未覆盖预先存在的文件或复制了错误的模型源。

5)确保您处于Modeling透视图并看到“UML Editor”菜单。在根模型节点仍然突出显示的情况下,导航到“转换为” - > “Ecore模型......”

6)完成向导。纠正任何错误并在必要时重新发送。

Obeo Designer是GitHub上的一个开源项目,所以我想可以选择Manifest文件来识别“To Ecore ...”的菜单贡献,然后通过GitHub找到实际的源代码。 / p>

答案 1 :(得分:0)

Papyrus是一个UML编辑器,需要其他插件。您需要使用另一个插件(如accelero)来生成代码,但说实话,似乎自Eclipse 3.5以来,这个插件并没有真正使用最新版本。 最好的方法是交换到Topcased,它是建模开发环境,包括代码生成。唯一的问题是Topcased已经被放弃以便在Papurus MDT中合并,所以最好不要在今天投资这个工具并坚持使用Papyrus MDT。

从纸莎草纸创建生态模型是不可能的,因为它适用于GMF模型,而不是直接来自Ecore模型。自从Eclipse 3.5以来GMF也被废弃了我不知道该说什么... 祝你好运,