Ecore,genmodel和OCL

时间:2011-03-30 21:10:13

标签: eclipse model mda eclipse-emf eclipse-emf-ecore

我通过EMF中的Ecore定义领域特定建模语言的元模型。因此,我从相关的genmodel生成一个编辑器,我可以使用它来创建符合元模型的模型。 我想对元模型的某些元素可以采用的值指定一些OCL约束。如果我可以在Ecore模型中指定这些约束并且相关检查自动生成编辑器Java代码,那将是非常好的。

有没有标准的方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

您应该查看Eclipse中带有"OCL in Ecore"的OCL项目的最新工作,或者您可以尝试使用另一种方法将OCL与OCL Juno documentation中指定的Ecore集成。

答案 1 :(得分:1)

第一步是确定如何为ecore(元)模型添加约束。我现在有两种方法可以做到这一点:

1-将ocl表达式嵌入到ecore模型的注释元素中。

2-在ecore旁边的单独文件中包含OCL表达式。

要获得有关第一种方法的更多信息,请查看OCLInEcore,第二种方法请查看OCLComplete。似乎他们提供了一些API来检查给定模型的OCL约束(一致性检查)。

出于您的目的,似乎OCLInEcore是合适的。您可以将您的ocl嵌入到ecore中,并且可以使用OCLInEcore提供的API来检查给定模型是否满足ocl约束。

希望这会有所帮助。