前页 | 后页 |
内部转移
如果需要定义内部转移
在一个状态下,您可以通过创建外部自转换连接器(其中源和目标是相同的状态)然后更改连接器的“种类”属性来实现。然后将自转换连接器从图中移除,内部转移
显示在状态元素里面的一个隔间里。
定义内部转移
Step |
Action |
See also |
---|---|---|
1 |
在浏览器窗口中,双击包含状态元素的状态机图将其打开。 |
|
2 |
在状态元素上,创造一个转移 连接器从元素发出和终止于元素(一个'自我转移 ')。 在图表工具箱中,选择转移 连接器,然后单击并释放状态元素。 |
|
3 |
右键单击连接器并选择“属性”选项以显示“属性”对话框。 |
|
4 |
选择“约束”选项卡并为转移 定义任何守卫、效果和触发器转移 . |
Transition |
5 |
选择“常规”选项卡,然后选择子选项卡“高级”。单击类型属性值字段中的下拉箭头并选择“内部”。 |
|
6 |
点击确定按钮。转换与内部活动(exit/、do/、entry/)显示在同一隔间中。 |
注记
- 查看或编辑内部转移
的属性转移
, 双击状态的条目 - 如果您需要多个内部转换,包括那些具有触发器但不同保护的转换,您可以使用每个转移
单独创建它们转移
拥有自己的警卫 - 您可以通过单击状态元素、在“内部触发器”选项卡上显示特征窗口、右键单击选项卡并选择“新内部触发器”选项来创建进一步的转换和内部触发器
OMG UML规范:
OMG UML规范( UML Superstructure Specification, v2.4. 1 , p.362)指出:
[ A TransitionKind of internal ] 暗示着转移
,如果触发,则在不退出或进入源状态的情况下发生(即,它不会导致状态变化)。这意味着不会调用源状态的进入或退出条件。内部转移
即使区域位于一个或多个嵌套在关联状态中的区域中,也可以采用