我在问,因为UML用于非正式规范,并且在语义上有一些含糊之处。但是,我认为OCL可以非常有效地用于指定前/后条件和不变量以及其他约束。
我最近遇到了Z符号和代数规范。我的问题是,UML和OCL的组合是否足以满足正式规范?
答案 0 :(得分:5)
是的,对于您可以构建的大多数系统。
我的意思是,UML和OCL只是半形式语言(它们的语法定义明确,但它们的语义只是部分形式化,许多方面仅在标准文档规范中用自然语言描述)。因此,如果您正在构建一个关键系统并且您需要证明系统的正确性,那么UML / OCL可能不足,但对于许多其他类型的系统,UML / OCL可以提供的形式是足够好的