我需要确定 UML 2.5 状态机图的所有基本元素。不幸的是,这些图表的符号似乎有很多歧义,因为网上有很多不同的变体。
我的解释是,每个状态机图都由许多状态和许多转换组成。
每个州都有:
- 一个可选的进入动作
- 可选的做动作
- 一个可选的退出动作
每个过渡都有:
- 一个触发事件,
- 一个可选的前提条件
- 转换动作(后置条件)。
我对符号如何工作的理解可以在图 1(符号[precondition] Event / [Transition Action]之后的电动门功能示例)和图 2 中进行总结。
示例:当触发事件时(例如按下关闭按钮),评估前提条件(如果有)(例如门口是否空),如果满足前提条件,则触发转换动作(例如关闭门)。
我的问题:
- 过渡动作是过渡的实现还是仅仅是过渡期间发生的动作。简单来说,如果转换动作出错,转换(新状态)会成功吗?我的问题基本上源于这样一个事实,即许多消息来源建议您可以在到达新状态时使用entry 操作,而不是使用转换操作。在我的理解中,虽然过渡动作是过渡的实现,因此在进入新状态之前发生,与进入动作相比这在到达新状态后立即发生。因此,就过渡本身和时间而言,这是两种完全不同类型的动作。了解这些行动的时机对我来说至关重要。
- 我的一般解释正确吗?(例如,我对图 1 中的事件、后置条件和转换动作的理解可能是什么)
我知道状态机图有十几种变体,因此有不同的表示/解释,但我对 UML 2.5 很感兴趣。