1

我有一个 emf 模型,我想制作一个 GMF 编辑器来创建这个元模型的实例。我还想要一些实时约束来避免我的 EMF 模型的组件之间的一些连接。例如:我的 EMF 由 A 组成, B、C、D 组件派生自一个名为 F 的通用类,并且在 F 中存在连接 F-> F 的引用,因此这能够为我提供 A、B、C、D 组件之间的连接。但是当我在 GMF 编辑器中时,我想要一种机制来避免连接 A->B 并只允许连接 A->C。我读到这可以通过 OCL 语言和可以在 gmfmap 文件中添加的链接约束来实现。但是我找不到任何包含 OCL 词汇的教程和进行实时验证的示例 有人有什么指示吗?

4

1 回答 1

2

经过更深入的搜索,我发现了一个非常有用且快速的验证框架。它被称为 Epsilon 组的 Eugenia。

Eugenia 允许您通过单个文件为最终的 GMF 编辑器创建所有适当的文件(非常棒,因为否则您必须自己声明 gfmtool、gmfgraph 等),然后您可以创建一个新的 EVL 文件来保存约束和您的模型的不变量。通过在您的元模型 URI 上提供和扩展点,映射很容易完成,您所要做的就是在最终的 Eclipse 配置中包含包含 evl 文件的新插件。http://www.eclipse.org/gmt/epsilon/doc/articles/evl-gmf-integration/

(请注意,不要将图表代码生成为 RPC 应用程序,因为 RPC 无法正常工作。有关更多信息,请查看此处: http: //giampow.blogspot.com/2010/06/eclipse-rcp-应用程序自定义问题.html

于 2010-11-19T15:29:57.890 回答