【发布时间】:2015-11-26 18:19:36
【问题描述】:
所以,我大约在 3 小时前开始学习 OCL。我对何时可以使用inv 以及何时需要使用pre 和post 感到非常困惑。
所以我想知道你是否可以在这种情况下使用inv?
context Service :: cost(d : double)
inv result = workDone.cost -> sum()
这是对一个问题的回答: 编写一个 OCL 不变量,说明服务的总成本是成本的总和 对于在汽车上完成的所有工作,您必须假设存在一种方法 Service::cost() 并指定结果。
你可以看到它要求 ocl 不变量声明,这是否意味着我必须使用inv?
干杯
【问题讨论】:
-
我会用
<<invariant>>来定型约束。我仍然不会写 OCL,而且由于没有真正的 OCL 编译器,我想没有真正需要跟进。