10.3.1 Evaluations包概念的定义

该小节以字母序列举Evaluations包中的概念定义。

EvalEnvironment

EvalEnvironment是一个NameValueBindings的集合,它构成了OCL表达式计算的环境。EvalEnvironment有三个操作,它们在“Evaluations包的其它操作”小节中定义。

关联 说明
bindings 命名空间内的元素

IterateExpEval

IterateExpEval是一个表达式计算,它为集合值中的每个元素计算它的body表达式,并在result变量中对值进行聚集。它产生一个IterateExp。

IteratorExpEval

IteratorExp是一个表达式计算,它为集合中的每个元素计算它的body表达式。

ExpressionInOclEval

ExpressionInOclEval是一个OCL表达式的上下文的计算。它与第12章(UML模型中Ocl表达式的使用)中定义的ExpressionInOcl元类的对应的。把它包括在这里只是为了判定OCL表达式的环境。

LiteralExpEval

Literal表达式计算是对一个字面量表达式的计算。

LoopExpEval

循环表达式计算时对一个Loop表达式的计算。

关联 说明
bodyEvals 对源集合中每个元素都执行的body表达式对应的计算
iterators 循环表达式中迭代器变量的名称

ModelPropertyCallExpEval

模型属性调用表达式计算是对一个ModelPropertyCallExp的计算。图10.8展示了ModelPropertyCallExpEval的不同子类。

操作 说明
atPre 如果该属性调用被标记为在前置条件时间执行那么该操作返回真

OclExpEval

ocl表达式计算是对一个OclExpression的计算。它有一个结果值,它与一个称为环境的名值绑定集合相关联。这些绑定代表了该计算可见的值和它可以访问的名称。另一个名值绑定的集合被用来计算操作atPre返回真的任意子表达式,它称为beforeEnvironment

注意,正如在第9章(具体语法)和第12章(UML模型中的Ocl表达式的使用)中所解释的那样,这些绑定需要依据OCL表达式在UML模型中的位置进行构建。不变式的绑定不需要beforeEnvironment,并且它与用作前置条件的相同表达式具有不同的绑定。

关联 说明
environment 构成ocl表达式上下文的名称值绑定的集合
beforeEnvironment 为了计算操作atPre返回真条件下类型为ModelPropertyCallExp的任意子表达式,在该操作的前置条件时刻的名称值绑定集合
resultValue 计算OclExpression的结果值

OclMessageExpEval

ocl消息表达式的技术在子章节10.3.1.3 定义。

PropertyCallExpEval

属性调用表达式计算时一个PropertyCallExp的计算。

关联 说明
source source表达式计算的结果值是执行该属性调用的实例

VariableDeclEval

变量声明计算代表了一个变量声明的计算。注意,它不是OclExpEval的子类,因此没有结果值。

关联 说明
name 变量名
initExp 该计算名初始化要绑定到的值

VariableExpEval

变量表达式计算是VariableExp的计算,本质上它是在表达式的环境中寻找绑定到该变量名的值。

关联 说明
variable 指向该计算的结果值的名称

results matching ""

    No results matching ""