我今天和一位教授討論了OCL。他認爲不變量,後置條件和前置條件在規定的功能範圍內是允許的。OCL - 需要澄清不變量?
我的軟件開發人員讓我想要相信OCL將允許將一般約束放在模型上。像這個模型中的Person類的所有對象都有男性的性別約束,或者所有類車的對象都有四個車輪似乎不可思議有用,並且使用對我的模型的聲明式範例感覺是對的。
我認爲它像物理世界一樣。如果我們將螺母擰在螺栓上,則允許螺母以一種方式安裝。這些都是物理限制,無論我們如何將螺母擰在螺栓上而採取的行動,都不能被違反,或者我們已經以基本方式使我們的模型失效。
他的觀點是,在OCL中我們只能在提供上下文的函數中定義約束條件(前後條件/不變量)。
有人可以幫我解決這個問題嗎?