预订演示
前页 后页

伪国家 - 交警

转移

关系状态机图中的状态需要进行编排,以确保状态机代表一个块在物理世界中必须改变其状态的自由。伪状态是用于引导流沿转换的节点。节点可以出现在开头、过渡路径上或结尾处。伪状态的类型包括:

  • Initial - 用于启动状态机
  • 分叉和汇合——用于分裂和重聚一个转移
  • 终止——用来结束一个状态机
  • 汇合- 用于重新组合多个转换
  • 连接点-用于分割一个转移
  • 入口和出口——用于子机状态边界
  • Deep and Shallow History - 当复合状态退出时用作纪念品
我们细节详细地研究每一个,并展示如何使用Enterprise Architect创建和管理这些重要节点。重要的是要了解状态终端的终点状态- 它具有初始伪状态图标,状态它本身就是一个。

最初的

Initial 伪状态是所有节点中使用最广泛的,代表一个区域的起始点。一个区域中只能有一个Initial ,并且允许从 Initial 伪状态出现一个转换。因为它是起点,所以有一个触发器或一个守卫是没有意义的——当进入区域时,伪状态只是变得活跃,但是建模者可以定义一个效果。一些系统工程师将把这个最重要的伪状态从图表中删除,理由是它的位置是隐含的,但将它们包括在内被认为是一种好的做法,因为没有它们,起点是不确定的。但是,通常的做法是不命名 Initial 伪状态。

Enterprise Architect还将依赖于结构良好的机器,并且每个区域都有定义的初始伪状态,当建模者使用可执行状态机状态机运行模拟以可视化状态时,一个块实例将在其生命周期中转换。

分叉和汇合

当区域用于状态机图中时,通常需要将一个以状态为目标的转换拆分为多个转换,以便每个传出转换以每个正交区域中的给定状态为目标。来自分叉伪状态的传出转换受到限制,不能定义保护或触发器,但可以定义影响。这确保了多个区域可以同时具有活动状态。

汇合以类似但相反的方式工作,以联合来自多个区域的传入转换。应用反向限制,使得传入的转换不能定义保护或触发器,但可以定义影响。必须先完成所有传入过渡的效果,然后才能触发传出过渡。

终止

终止伪状态是确保整个状态机关闭的有用节点。无论节点位于状态层次结构中的哪个级别,层次结构的所有区域和所有级别都将终止。它是最终节点,拥有状态机将立即停止执行。终止不是“优雅的”,当前正在执行的任何行为都将简单地停止;不会执行任何退出行为。该图显示了具有单个区域的复合状态;如果有压力泄漏,则必须立即终止高压灭菌器的操作,因此存在从操作状态到循环中止终止伪状态的过渡。

Enterprise Architect允许将此节点放置在任何级别和任何区域中,并将在可执行状态机模拟中遵守其语义。

连接点

连接点伪状态用于具有复合路径的模型转换 连接到连接点的入站和出站转换都有,但在状态机执行期间,只有一个入站和一个出站转换会触发。出站转换受守卫保护,只有表达式首先评估为布尔真的守卫的转换才会触发并携带传出令牌。

出口

入口点和出口点伪状态用于允许状态机在多个上下文中被重用为子机状态;它们也可以用于复合状态。这些伪状态显示为跨越复合状态或子机状态边界的小状态;入口点是空的,而出口点在圆圈内有一个小 x。

它们在边界上的位置很重要,因为从视觉语法的角度来看,它们允许在元素内部和外部之间传递消息。

深刻和浅薄的历史

History 伪状态就像一个书签或复合状态的纪念品,它只是存储退出区域时处于活动状态的子状态的名称。当随后重新进入该区域时,状态机从历史指定的子状态恢复其转换。有可能由于某种原因重新进入某个区域,而历史无法提供最后的状态;这种情况可以由建模者先发制人地创建一个转移

来处理转移

从历史伪状态到目标默认子状态;转移

只有在历史无法提供纪念品的情况下才会使用。

在此管式离心机示例中,系统工程师在运行复合状态中放置了一个浅历史状态,表示如果在给定状态处于活动状态时退出该启动,然后随后重新进入该状态,执行将在活动子状态恢复。退出历史记录的过渡表明,如果重新进入拥有状态并且机器不知道要激活哪个状态,则将选择冲洗

浅历史状态和深层历史状态的工作方式相同,只是浅历史伪状态只记住拥有区域中的活动子状态,而深层历史可以记住子状态层次结构中的任何级别。深度历史通过放置在 H* 之后的星号直观地表示。