10.2 Values包

OCL是一门对象语言。一个值可以是一个对象(它的状态随时间改变)或是一个数据类型(状态无法改变)。图10.2的模型展示了构成OCL表达式语义域的值。基本类型是Value,它包括对象和数据类型。Value有一个特殊的子类称为UndefiedValue,后者用于表示抽象语法中任意类型的未定义的值。

图10.2 The kernel values in the semantic domain

图10.3展示了一些特殊的数据值,集合和元组值。为了区分在标准库中定义的Set、Bag和Sequence类型的实例和这个包中代表语义域中实例的类,使用了名称SetTypeValue, BagTypeValue和SequenceTypeValue,而非SetValue, BagValue和SequenceValue。

图10.3 The collection and tuple values in the semantic domain

从ocl表达式产生的值展示在图10.4中。它把一个ocl消息值链接到一个对象的快照。

results matching ""

    No results matching ""