诸如“一种属性具有特定值”之类的条件就是约束的示例。在设计系统时必须强制施加约束。在约束的主体中指定条件或限制。
通常,约束没有名称。它们由其主体的内容来标识。但是,某些常用约束由名称来标识,因此,不必重复它们的主体的内容。当多个关联连接至同一个类时,就会应用 XOR 约束。
有关 OCL 的更多信息,请阅读对象管理组 (OMG) Web 站点上提供的“统一建模语言”(UML) 规范。通常,并不会强制实施主体的语法或主体语言属性。
约束是通过用花括号({})将文本括起来的形式来表示的,并且包含在右上角被折叠的一个矩形中。
可以对模型添加约束以达到下列目的:
模型中的约束可以存在于任何类型的 UML 图和自由格式的图中。
可以验证约束。执行的验证级别取决于所验证的约束类型。存在三种类型的约束:
如果对约束应用了 «metaConstraint» 构造型或者约束是在概要文件中定义的,那么会验证该约束的语法和表达式是否正确。
如果没有对约束应用 «metaConstraint» 构造型并且它也不是在概要文件中定义的,那么将只验证该约束的语法是否正确。