约束模块(ConstraintBlock)

约束模块用于表示一些可复用的数学关系。这个数学关系用一个或多个约束(Constraint)元素来表示。约束用一个约束表达式(Constraint Expression)来定义数学关系,这个数学表达式可以是等式或不等式。如果约束表达式成立,则约束返回值真(true);否则返回假(false)。这些数学关系中的参数取自这个约束模块的“约束参数”(Constraint Parameter);换句话说,就是这个数学关系中的变量只能使用约束模块中的约束参数。当约束模块被使用的时候,这个约束模块的约束参数通过“绑定连接器”(Binding Connector)关联到具体系统的属性参数,从而间接的定义了系统的属性参数之间的数学关系。因为在不同的系统中,可以定义具体的绑定关系,从而这种数学关系可以在不同系统中进行复用。

约束模块是一种“模块”(Block)元素,它从模块继承而来。但是约束模块只有“约束属性”(Constraint Property)、“约束参数”两类属性,以及把约束参数绑定到更深一层约束表达式的绑定连接器。

约束模块的构造型名称是“约束”(constraint)。一个质量计算的约束模块,定义如下:

当约束模块用作约束属性的类型的时候,使用绑定连接器将约束参数和约束属性所在那个模块的属性进行绑定,实现属性值之间的约束关系。例如在下面一个“箱子”模块中使用这个约束模块作为约束属性,在“箱子”的参数图中绑定“箱子”的属性和这个约束模块的约束参数。“箱子”模块的定义和参数图如下:

箱子的参数图如下:

更详细的说明,见参数图