前页 | 后页 |
内部过渡
如果需要在一个状态中定义一个内部过渡,则可以通过创建一个外部的自我过渡连接器(其中源和目标是相同的状态)然后更改连接器的“种类”属性来实现。然后,将自过渡连接器从图中移除,内部过渡显示在State元素内部的隔离专区中。
定义内部过渡
步 |
行动 |
也可以看看 |
---|---|---|
1个 |
在浏览器窗口中,双击包含State元素的StateMachine图以将其打开。 |
|
2 |
在State元素上,创建一个从该元素发出并终止于该元素的过渡连接器(“自我过渡”)。 在“图工具箱”中,选择“过渡”连接器,然后单击并释放“状态”元素。 |
|
3 |
右键单击连接器,然后选择“属性”选项以显示“属性”对话框。 |
|
4 |
选择“约束”选项卡,并为过渡定义任何防护,效果和触发器。 |
过渡 |
5 |
选择“常规”标签,然后选择子标签“高级”。单击种类属性的值字段中的下拉箭头,然后选择“内部”。 |
|
6 |
单击确定按钮。转换与内部活动(退出/,执行/,进入/)显示在同一格中。
|
笔记
- 要查看或编辑内部Transition的属性,请双击State内隔离专区中的条目
- 如果您需要多个内部过渡,包括具有相同触发器但保护装置不同的内部过渡,则可以分别创建每个过渡都具有自己的保护装置的过渡
- 您可以通过单击State元素,在“ Internal Triggers”选项卡上显示“ Features”窗口,右键单击该选项卡并选择“ New Internal Triggers”选项,来创建更多的过渡和内部触发器
OMG UML规范
OMG UML规范( UML上层结构规范,v2.4.1,第583页)指出:
内部转换的执行不会退出或重新进入其定义状态。即使状态机在此状态下处于嵌套状态,也是如此。