我有一个emf模型,我想创建一个GMF编辑器来创建这个元模型的实例。我也想要一些实时约束来避免我的EMF模型的组件之间的某些连接。我:我的EMF包括A,B,C,D组分来自称为F的通用类,并且在F中有引用连接F-> F,因此这能够为我提供A,B,C之间的连接, D组件。 但是当我在GMF编辑器时,我想要一种避免连接A-> B并且仅允许连接A-> C的机制。 我读到这可以通过OCL语言和链接约束来实现,这些约束可以在gmfmap文件中添加。 但我找不到任何带有OCL词汇的教程和实例验证的示例 某人的任何指示?
答案 0 :(得分: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-application-custom-problems.html)