UML State Machines, Local vs. External Transition

As already asked in http://www.eclipse.org/forums/index.php/t/452409/ I am not sure I correctly got the meaning of local transition and I'd like to know whether I am using them with the right semantics or not

Are these two state machines equal?

状态机与本地过渡

没有本地过渡的状态机


Under UML 2.4.1, the first diagram shows a local transition from State1 on receipt of trigger where the second shows transitions between sub-states on receipt of trigger. An external transition from State1 would be shown by the arrow pointing out of State1 then curving back into it (Figure 15.48 of the superstructure specification).

Section 15.3.15 TransitionKind of the UML Superstructure 2.4.1 gives the semantics of internal, local and external transitions:

kind=local implies that the transition, if triggered, will not exit the composite (source) state, but it will apply to any state within the composite state, and these will be exited and entered.

As neither local nor transitions between sub-states will cause State1 to be exited, the diagrams show similar state machines - the difference being that from State1.3 the first machine will re-enter State1.3 (causing its exit and entry behaviours to be invoked) whereas the second will do nothing from State1.3 on trigger.

链接地址: http://www.djcxy.com/p/69132.html

上一篇: 如何在非抛出异常时保留堆栈跟踪

下一篇: UML状态机,本地与外部转换