2

我之所以问,是因为 UML 用于非正式规范,并且在语义上有一些歧义。然而,我认为 OCL 可用于非常有效地指定前置/后置条件、不变量和其他约束。

我最近遇到了 Z 表示法和代数规范。我的问题是,UML 和 OCL 的组合足以满足正式规范吗?

4

1 回答 1

5

是的,对于您可以构建的大多数系统。

我的意思是,UML 和 OCL 只是半正式语言(它们的语法定义明确,但语义只是部分形式化,许多方面只是在标准文档规范中用自然语言描述)。因此,如果您正在构建一个关键系统并且您需要证明系统的正确性,那么 UML/OCL 可能会有所不足,但是对于许多其他类型的系统,UML/OCL 可以提供的那种形式已经足够好了

于 2010-05-12T03:24:13.507 回答