问题描述
好的,请帮助我对 OCL 书面约束没有太多了解。在下图中,我试图对 J 类施加一个约束,即它的属性在它之后应该为真,但它给了我一个错误 解析错误:1:1:4“inv:”错位的构造。 我不知道如何解决这个错误,在下一个类中,anonymous key=".0" 我也试图设置一个约束,如果 J 类“State”的属性为真,那么这个类是可见的,请帮忙如果有人知道 ocl 约束并指导我了解状态机 谢谢。
解决方法
(我不熟悉 RSA,除非我可以从 10 年过时的 Eclipse OCL 行为中推断出来。)
OCL 本身几乎没有用,因为它没有可操作的模型;它需要嵌入到模型提供程序中。
一个这样的提供者是 OCL-in-UML,其中 Essential OCL 表达式由 OpaqueExpression 封装。 self.state=true 或者实际上只是 self.state 将是布尔值约束/不变量的一个看似合理的基本 OCL 表达式。
另一种提供者是一个完整的 OCL 文档,它补充了元模型。
您在本应使用 Essential OCL 的地方使用了 Complete OCL 语法。