模型OCL评估与对象评估

时间:2016-11-10 16:01:30

标签: java emf ocl

我需要检查模型是否触发一个或多个OCL约束。 模型存储在XMI中,加载EMF。 OCL约束自动生成(String等)。

我找到了一种检查EObject上约束的方法

helper.setContext(ecClass);
query = helper.createQuery(expression);
Object o = ocl.check(eo, invariant);
然后

o包含结果:true或false。

我是否必须“手动”检查模型的每个对象,或者是否有方法,方法或类可以直接(并且可能更有效)?

请注意:   - 没有建模信息是硬编码的:元模型,模型和OCL以最通用的方式操作,   - 我在独立软件上工作:所有罐子都是专门添加的。我曾尝试使用DresdenOCL,但我不知道为什么注册包很麻烦。

1 个答案:

答案 0 :(得分:0)

根据您的要求(检查对象的时间和地点),您可以尝试使用通知和/或向您自己的扩展EMF EObject的EObject实现添加一些逻辑。