前页 | 后页 |
结构活动仿真
行为模型中更复杂的结构之一是结构活动,它对嵌套结构或评估和执行过程中的一系列动作进行建模。结构活动的评估类型有Conditional节点和Loop节点,你可以很容易地模拟这两种节点。
条件节点
A条件节点基本上由一对或多对测试/体分区组成,每一对被称为一个子句。测试分区由测试条件的活动图元素组成,如果满足该条件,则执行体分区中的进一步活动图元素以产生结果。
如果有一个子句,条件节点要么输出体分区的结果,要么不输出结果。如果有多个子句,则控制从一个测试流向下一个测试,直到满足某个条件并执行一个体分区以产生结果,或者所有测试都失败。
仿真目前支持在属性窗口的“条件”选项卡中使用“确定”复选框设置。其他两个复选框设置被忽略。如果 'Is Assured' 复选框是:
- 选中,至少要满足一个测试,所以执行它的体并输出一个结果;如果没有满足测试并且没有结果输出,则条件节点被阻塞并且处理不能继续超出它
- 未选中,可以满足一个测试并输出一个结果,但是如果没有满足测试并且没有结果输出,超出条件节点仍然可以继续处理
if (sim. Person .age >=65)
sim.AgeCondition.Clause1.Decider1=true;
else
sim.AgeCondition.Clause1.Decider1=false;
条件节点称为AgeCondition ,测试在Clause1中,该测试的 OutputPin 是Decider1 。
Loop节点
循环结构活动节点通常表示 While、Repeat 和 For 循环语句A建模等价物。每个 Loop节点有三个分区:
- 设置 - 启动要在循环退出条件中使用的变量;它在进入循环时执行一次
- 测试——定义循环退出条件
- 体- 重复执行,直到测试产生False值
Loop节点有多个行动销:
- 循环变量(输入) - 要通过循环处理的初始值
- 循环变量(输出) - 执行测试的变化变量
- Decider -测试分区内的一个输出销,每次执行测试后都会检查其值,以确定是否执行循环体
- 体输出-体分区中处理的输出值,为循环的下一次迭代更新循环变量输出销,以及
- Result -测试分区最后一次执行的值(也就是最后一次执行体分区传回来的值)
sim.LoopNode1.decider = (sim.LoopNode1.loopVariable>0);