Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我之所以问,是因为 UML 用于非正式规范,并且在语义上有一些歧义。然而,我认为 OCL 可用于非常有效地指定前置/后置条件、不变量和其他约束。
我最近遇到了 Z 表示法和代数规范。我的问题是,UML 和 OCL 的组合足以满足正式规范吗?
是的,对于您可以构建的大多数系统。
我的意思是,UML 和 OCL 只是半正式语言(它们的语法定义明确,但语义只是部分形式化,许多方面只是在标准文档规范中用自然语言描述)。因此,如果您正在构建一个关键系统并且您需要证明系统的正确性,那么 UML/OCL 可能会有所不足,但是对于许多其他类型的系统,UML/OCL 可以提供的那种形式已经足够好了