我今天和一位教授讨论了OCL。他认为不变量,后置条件和前置条件在规定的功能范围内是允许的。OCL - 需要澄清不变量?
我的软件开发人员让我想要相信OCL将允许将一般约束放在模型上。像这个模型中的Person类的所有对象都有男性的性别约束,或者所有类车的对象都有四个车轮似乎不可思议有用,并且使用对我的模型的声明式范例感觉是对的。
我认为它像物理世界一样。如果我们将螺母拧在螺栓上,则允许螺母以一种方式安装。这些都是物理限制,无论我们如何将螺母拧在螺栓上而采取的行动,都不能被违反,或者我们已经以基本方式使我们的模型失效。
他的观点是,在OCL中我们只能在提供上下文的函数中定义约束条件(前后条件/不变量)。
有人可以帮我解决这个问题吗?