【问题标题】:Converting a UML class diagram created using Papyrus into an .ecore file将使用 Papyrus 创建的 UML 类图转换为 .ecore 文件
【发布时间】:2011-08-30 06:41:49
【问题描述】:
这是我使用 eclipse 所做的:
- 创建一个新的 Papyrus 项目
- 在 Papyrus 中创建类图
- 新建一个 EMF 空项目
- 使用 EMF 生成器模型将我的 .uml 文件(使用 Papyrus 创建)转换为 .ecore 文件
现在我想在 Java 中做到这一点。我找到了post here where someone is doing it from XSD。我想做同样的事情,但来自 UML。 User565300 正在使用名为 Xsd2Ecore 的东西,但我找不到 Uml2Ecore。你们知道eclipse用什么来转换UML文件吗?
【问题讨论】:
标签:
java
uml
eclipse-emf-ecore
【解决方案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) 确保您处于建模透视图并查看“UML 编辑器”菜单。在根模型节点仍然突出显示的情况下,导航到“转换为”->“Ecore 模型...”
6) 完成向导。更正任何错误并在必要时重新发送。
Obeo Designer 是 GitHub 上提供的一个开源项目,因此我想可以将 Manifest 文件拆开来识别“To Ecore...”的菜单贡献,然后通过 GitHub 找到实际的源代码。
【解决方案2】:
Papyrus 是一个需要其他插件的 UML 编辑器。您需要使用另一个插件(例如 accelero)来生成代码,但老实说,自从 Eclipse 3.5 以来,这个插件似乎并不能真正与最新版本一起使用。
最好的办法是切换到 Topcased,它是建模开发环境,包括代码生成。唯一的问题是 Topcased 已被放弃以便合并到 Papurus MDT 中,因此最好不要今天投资此工具并坚持使用 Papyrus MDT。
从纸莎草纸创建 ecore 模型是不可能的,因为它适用于 GMF 模型,而不是直接从 Ecore 模型。自 Eclipse 3.5 以来 GMF 也被放弃了我不知道该说什么......
祝你好运,