10.2.1 Values包的概念定义

本子章节以字母序列举Values包中的概念定义。

BagTypeValue

bag类型值是一个多值集合的集合值,其中每个值可以出现多次。值是无序的。在元模型中,这些值表示为从CollectionValueBagTypeValue的泛化)到Element的关联。

CollectionValue

collection值是一个值列表。在元模型中,值列表表示为从CollectionValueElement的关联。

关联 说明
elements 集合中的元素值

DomainElement

领域元素是OCL表达式域中的一个元素。它是本章中定义的所有类的超类,包括Value和OclExpEval。它与UML元模型中的ModelElement发挥着同样的作用。

Element

一个元素代表了一个元组值或集合值的一个成员。元素由一个索引值和一个值。索引值的目的是唯一的鉴别每个元素在属主内的位置,比如在用作SequenceValue的一个元素时。

LocalSnapshot

一个本地快照是一个持有某个对象值在某一时刻的子值(subvalues)的领域元素。它总是一个对象值的有序快照列表的一部分,这在元模型中表示为关联pred、succhistory。一个对象值还可以持有两个OclMessageValues序列,一个是它发送的,一个是它接收的。两个序列都可以随时间改变,因此它们被包含在一个本地快照中,这通过元模型中的inputQoutputQ关联来体现。

本地快照有两个属性,isPostisPre,它们用于指示该快照是在操作执行的前置还是后置条件时刻。在一个对象值的历史中,总是可以找到与某个给定的后置条件快照相对应的前置条件时刻的本地快照。关联pre(显示在图10.4中)是冗余的,但很方便。

关联 说明
bindings 持有所关联对象值补充时刻的子值名称值绑定集合
outputQ 所关联对象值在特定时刻已发送但还未在目标上执行的OclMessageValues序列
inputQ 所关联对象值在特定时刻已接收但还未执行的OclMessageValues序列
pred 该本地快照在对象值历史中的前趋
succ 该本地快照在对象历史中的后继
pre 如果该快照是某个操作执行的后置条件时刻的快照,那么pre是对象值历史中相同操作在前置条件时刻关联的快照

NameValueBinding

名称值绑定是一个把名称绑定到值的领域元素。

ObjectValue

对象值是一个有标识和一个特定子值结构的值。它的子值可能随时间改变,但其结构式相同的。它的标识不能随时间改变。在元模型中,结构表示为一个NameValueBindings集合。因为这些绑定可以随时间改变,ObjectValue与一个LocalSnapshots序列关联,后者持有在某个特定时刻的NameValueBindings集合。

关联 说明
history 本地快照序列,它持有该对象值随时间变化的子值

OclMessageValue

ocl消息值是一个值,它有一个目标对象值和一个源对象值。一个ocl消息值有一些属性。name属性对应调用的操作或发送的信号的名称。属性isSyncOperation, isAsyncOperationisSignal分别指示对应消息的是一个同步操作、异步操作还是一个信号。

关联 说明
arguments 持有消息实参的名称值绑定的序列
source 发送该信号的对象值
target 信号好发送到的对象值
returnMessage 持有同步操作调用结果和输出参数值的ocl消息值。只在同步操作调用时它才出现

OclVoidValue

代表任意类型中的一个void或未定义值。

PrimitiveValue

是一个预定义的静态值,没有任何相关的子结构(即,没有成员)。

SequenceTypeValue

序列类型值是一个集合值其中值列表中的每个值在序列中可以出现多次。值在序列中按位置排序。在元模型中,值列表表现为一个从CollectionValueSequenceTypeValue的泛化)到Element的关联。列表中元素的位置由Element的属性indexNr表示。

SetTypeValue

set类型值是一个集合值其中每个值只能在集合中出现一次。元素是无序的。在元模型中,值列表表现为一个从CollectionValueSetTypeValue的泛化)到Element的关联。

StaticValue

静态值是一个不会随时间进行变化的值。

因为在抽象语法中StaticValueDataType概念是对应的,因此可能取名为DataValue更合适。使用StaticValue是考虑UML旧版本历史原因造成的。

TupleValue

元组值(也称为记录值)把不同类型的值聚合到一个值中。元组值成员每个都有一个名称和值。在元模型中,这体现为从TupleValueNameValueBinding的关联。

关联 说明
elements 元组值中元素的名称和值

Value

语义域的一部分。

results matching ""

    No results matching ""