我正在通过 EMF 中的 Ecore 定义领域特定建模语言的元模型。因此,我从相关的 genmodel 生成一个编辑器,我可以使用它来创建符合元模型的模型。 我想对元模型的某些元素可以假定的值指定一些 OCL 约束。如果我可以在 Ecore 模型中指定这些约束并让相关检查自动生成编辑器 Java 代码,那就太好了。
有没有标准的方法来做到这一点?
最佳答案
第一步是决定您希望如何向您的 ecore(元)模型添加约束。目前我知道有两种方法,您可以这样做:
1- 将 ocl 表达式嵌入到 ecore 模型的注释元素中。
2- 在 ecore 旁边的单独文件中有 OCL 表达式。
要获得有关第一种方法的更多信息,请参阅 OCLInEcore ,第二个看OCLComplete .似乎他们正在提供一些 API 来检查给定模型的 OCL 约束(一致性检查)。
为了你的目的,OCLInEcore 似乎是合适的。您可以将 ocl 嵌入到 ecore 中,并且可以使用 OCLInEcore 提供的 API 来检查给定模型是否满足 ocl 约束。
希望这对您有所帮助。
关于eclipse - Ecore、genmodel 和 OCL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492455/