一内部过渡是不退出源状态的转换。当为具有排他(或)分解的超级状态定义时,内部转换非常强大。使用内部转换可以大大简化状态流®图表,如以下示例所示:
此图表是如何使用内部转换简化逻辑的示例。
任何事件发生并唤醒状态流程图。到连接连接的默认转换是有效的。转换的目标由[c1>0]
和[c2>0]
. 如果[c1>0]
是真的,过渡到A1
这是真的。如果[c2>0]
是真的,过渡到A2
这是有效的。如果两者都没有[c1>0]
也没有[c2>0]
是真的,过渡到A3
这是有效的。三者之间的转换A1
,A2
和A3
决定于E
,[c1>0]
和[c2>0]
.
此示例使用到连接连接的内部转换简化了前面的示例。
发生事件并唤醒图表。到连接连接的默认转换有效。转换的目标由[c1>0]
和[c2>0]
.
您可以使用内部转换来代替原始示例中所有状态之间的转换,从而简化图表。如果状态A.
已激活,内部转换用于重新评估状态的哪个子状态A.
就是要积极主动。当事件E
发生时,内部转换可能是有效的。如果[c1>0]
是真的,过渡到A1
这是有效的。如果[c2>0]
是真的,过渡到A2
这是有效的。如果两者都没有[c1>0]
也没有[c2>0]
是真的,过渡到A3
有效。此图表设计比上一个简单。
笔记
当使用到连接连接的内部转换时,活动子状态可以在该子状态的转换条件有效时退出和重新进入。例如,如果子状态为A1
活跃且[c1>0]
是真的,过渡到A1
这是有效的。在这种情况下:
退出操作A1
执行并完成。
A1
变得不活跃。
A1
变得活跃。
进入行动A1
执行并完成。
看见处理第一个事件,内部转换为连接连接有关此符号的语义的更多信息。
此示例显示了到历史连接的内部转换。
状态电源开高
最初是活动的。当事件重置
发生时,到历史连接的内部转换有效。因为内部转换是有效的,所以当前处于活动状态,电源开高
,则退出。当处理到历史交叉点的内部转换时,最后一个激活状态,电源开高
,变为活动状态(重新输入)。如果电源开低
在同样的情况下也很活跃,电源开低
将因此退出并重新进入。本例中的内部转换相当于在两个面上绘制外部自循环转换电源开低
和电源开高
.
看见历史交叉点示例例如,使用历史连接的另一个示例。
看见向历史交汇点的内在过渡有关此符号的语义的更多信息。