如何在UML状态机中描述return语句?

时间:2017-05-09 20:15:46

标签: return uml specifications transitions statechart

是否可以在UML状态图中显示return语句作为转换的描述?

是否有任何已定义的语法或约定?

实施例: int doSomething()

状态1 ---返回doSomething()--->州2

我没有找到适合这个主题的任何内容,如果要写在那里,我也不会去阅读OMG UML规范。 我唯一发现的就是这个

Paper on Modelling Recursive Calls with UML State Diagrams

作者使用 Methode状态机来跟踪方法的状态。但我想知道如何将其编写为操作,例如使用具有返回值的函数,而不是跟踪方法所处的特定状态。

1 个答案:

答案 0 :(得分:1)

“正常”状态没有回报。一个州不记得它来自哪里。但是,有一个概念 State history (p.307,当前的UML 2.5规范):

  

国家历史的概念是由David Harel在原始状态图形式主义中引入的。它是与复合状态区域相关联的便利概念,其中区域跟踪其最后一次退出时的状态配置。如果需要,这允许在下次区域变为活动时(例如,在从处理中断返回之后)或者如果存在返回其历史的本地转换时容易地返回到相同的状态配置。这可以通过在Region中终止所需类型的历史Pseudostate上的Transition来实现。该工具提供的优势在于,它消除了用户在需要此类行为的情况下明确跟踪历史记录的需要,这可以使状态机模型显着简化。

以此为例:

enter image description here

当转换到State1时,会保存当前的State2子状态。转换为标记为H的小圈子将恢复上一个子状态(State34)。