UML状态机,本地与外部转换

正如http://www.eclipse.org/forums/index.php/t/452409/中已经提到的,我不确定我是否正确地获得了本地转换的意义,并且我想知道我是否正在使用它们正确的语义与否

这两个国家机器是平等的吗?

状态机与本地过渡

没有本地过渡的状态机


在UML 2.4.1下,第一个图显示了从接收到触发器时的状态1的本地转换,其中第二个图显示了在接收到触发器之后的子状态之间的转换。 从状态1开始的外部转换将通过指出状态1的箭头显示,然后弯曲回来(上层结构规范的图15.48)。

第15.3.15节UML上层结构的TransitionKind 2.4.1给出了内部,本地和外部转换的语义:

kind = local意味着如果触发,转换不会退出复合(源)状态,但它将应用于复合状态内的任何状态,并且这些状态将退出并输入。

由于本地和子状态之间的转换都不会导致State1退出,所以这些图表显示了类似的状态机 - 区别在于从State1.3开始,第一台机器将重新进入State1.3(导致它的退出和进入行为为被调用),而第二个将不会从State1.3触发。

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

上一篇: UML State Machines, Local vs. External Transition

下一篇: NSUserDefaults NSObject with NSArray Object