预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

伪装交警

需要精心设计在StateMachine图中连接国家的过渡关系,以确保StateMachine代表Block改变其在现实世界中的状态所需要的自由。伪状态是用于沿过渡引导流的节点。节点可以出现在过渡路径的开始,结尾或结尾。伪状态的类型包括:

  • 初始 -用于启动StateMachine
  • Fork and Join-用于拆分和重新组合过渡
  • 终止 -用于终止StateMachine
  • 联接 -用于重新组合许多转换
  • 连接点 -用于拆分过渡
  • 入口和出口点 -在子机器状态的边界上使用
  • 深浅历史 -退出复合状态时用作纪念
我们将更详细地介绍每一个,并展示如何使用Enterprise Architect创建和管理这些重要节点。重要的是要理解,最终状态-具有与初始伪状态类似的图标-实际上是一个独立的状态。

初始

初始伪状态是所有节点中最普遍的状态,代表区域的起点。一个区域中只能有一个Initial ,并且只能从Initial伪状态中出现一个过渡。因为这是起点,所以没有触发器或保护装置是没有意义的-当进入该区域时,伪状态只是激活,因此建模者可以定义效果。一些系统工程师将保留所有这些重要的伪状态图,理由是隐含其位置,但是将它们包括在内被认为是一种很好的做法,因为正式地,没有它们的起点是不确定的 。但是,通常的做法是不命名Initial伪状态。

当建模者使用可执行状态机或运行模拟以可视化Block实例在其生命周期内将要过渡的状态时, Enterprise Architect也将依赖于状态机的结构良好,并且每个区域都定义了初始伪状态。

叉和加入

在StateMachine图中使用Regions时,通常需要将以State为目标的转换拆分为多个转换,以便每个传出转换以每个正交Region中的给定State为目标。 Fork伪状态的传出转换受到限制,不能定义防护或触发器,但可以定义效果。这确保了多个区域可以同时具有活动状态。

联接工作以类似但相反的方式进行,以统一来自多个区域的传入过渡。反向限制适用于,传入的过渡不能定义防护或触发器,但是可以定义效果。必须先完成所有传入转场的效果,然后才能触发传出转场。

终止

Terminate伪状态是确保关闭整个StateMachine的有用节点。无论节点位于状态层次结构中的哪个级别,层次结构的所有区域和所有级别都将终止。在拥有StateMachine会立即停止执行的意义上,它是最后一个节点。终止不是正常的,正在进行中的任何行为都将停止执行。没有退出行为将被执行。该图显示了一个具有单个区域的复合状态。如果存在压力泄漏 ,则必须立即终止高压釜的操作,因此存在从运行状态到“循环中止终止”伪状态的过渡。

Enterprise Architect允许将此节点放置在任何级别和任何区域,并在可执行StateMachine仿真中遵守其语义。

交界处

结伪状态用于对具有复合路径的转换进行建模。有入站转换和出站转换都连接到结,但是在状态机执行期间,只会触发入站转换和出站转换之一。出站转换受防护保护,只有带有防护的转换(其表达式首先评估为布尔值true)才会触发并携带输出令牌。

出入口

入口点和出口点伪状态用于允许StateMachine在多个上下文中重用为子计算机状态。它们也可以用于复合国。这些脓毒酮看起来像小圆圈,横跨复合状态或次机器状态的边界。入口点为空,而出口点在圆内有一个小的x。它们在边界上的位置很重要,因为从视觉语法角度看,它们允许在元素的内部和外部之间传递消息。

浅浅的历史

历史伪状态就像一个复合状态的书签或纪念品,仅存储退出该区域时处于活动状态的子状态的名称。随后重新进入该区域时,StateMachine将从历史记录指定的子州恢复其过渡。由于某种原因,可能会重新进入某个地区,而历史无法提供最后的州;建模者可以抢先创建从历史伪状态到目标默认子状态的过渡,以解决这种情况;只有在历史记录无法提供纪念品的情况下,才可以使用过渡。

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

浅历史状态和深度历史状态都以相同的方式工作,除了“浅历史”伪状态仅记住所属区域中的活动子状态,而“深历史”可以记住子状态层次结构中的任何级别。 “深层历史记录”由H *后面的星号直观显示。