优先级能够解决某些(但并非全部)过渡冲突。IBM® Rational® Rhapsody®
使用状态层次结构来定义有冲突的过渡之间的优先级。但是,级别较低的(嵌套)状态可以覆盖行为,这意味着优先级较高。
过渡的优先级基于它的源状态。接合过渡根据其较低的源状态被赋予优先级。
例如,如果过渡 t1 的源状态为 s1,而过渡
t2 的源状态为 s2:
- 如果状态 s1 是状态 s2 的后代,那么
t1 的优先级高于 t2。
- 如果状态 s1 与 s2 在层次结构方面不相关,那么
t1 与 t2 之间的相对优先级处于未定义状态。
除到达顺序以外,Rational Rhapsody
未在事件和过渡方面定义优先级。如果同一个正交组件中的两个过渡都处于活动状态(准备好触发,这是非正交警戒的可能情况),那么只有其中一个组件会真正触发,但状态图未指定将要触发的组件。