更新时间:2026-02-03 GMT+08:00
分享

状态机图

状态机图描述了一个单一对象的行为,并阐述了对象在其生命周期中对事件的响应过程中经历的事件序列。

元素介绍

表1 状态机图元素

元素名

图标

含义

Initial

用来指明其默认起始位置的伪状态。

Choice

选择。

Trigger

触发器。是转换的发起者,并被映射到触发的事件。

Junction

( 结合状态)作为一个综合转换一部分的伪状态。它在转换执行中不打断运行至完成步骤。

Fork/Join

(Fork)复杂转换中,一个源状态可以转入多个目标状态,使活动状态的数目增加。

(Join)状态机活动图或顺序图中的一个位置,在此处有两个或以上并列线程或状态归结为一个线程或状态。

Deep History

历史状态可以记忆浅历史和深历史。深历史状态记忆组成状态中更深的嵌套层次的状态。要记忆深状态,转换必须直接从深状态中转出。

Shallow History

浅历史状态保存并激活与历史状态在同一个嵌套层次上的状态。

Entry Point

进入某一状态时执行的动作。

Terminate

结束。

State

对象的生命中的满足一定条件,执行一定操作,或者等待某事件的条件或者情况。

Signal

对象之间异步通讯的声明。信号可以带有表示为属性的参数。

StateMachine

状态机是展示状态与状态转换的图。通常一个状态机依附于一个类,并且描述一个类的实例对接收到的事件所发生的反应。

Final

组成状态中的一个特殊状态,当它处于活动时,说明组成状态已经执行完成。

Synch

一个特殊的状态,它可以实现在一个状态机里的两个并发区域之间的控制同步。

Exit Point

离开某一状态时执行的动作。

Transition

转换用实线箭头表示,从一个状态(源状态)到另一个状态(目标状态),用一条转换线标注。

关键元素

状态

状态(State)是关于行为的集合,在与当前时间相关行为完成之前,不会接收和处理新的事件。三种行为包括:

  • entry(进入):进入状态时马上执行的行为。
  • do(执行):当系统处于状态中时执行的行为或直到状态自然结束。
  • exit(退出):当系统离开这个状态时马上执行的行为。

在State元素的属性 > 状态,选择绑定工程树中的活动(Activity)、交互(Interaction)、状态机(StateMachine)三种元素。

触发器

触发器(Trigger)是转换的发起者,并被映射到触发的事件,有四种类型:

Call:选择绑定方法。

Change:自定义文本。

Signal:选择绑定Signal元素。

Time:自定义文本。

连线关系

转换

转换(Transition)是对关联事件的响应,使对象从一个对象转换到另一个状态。配置后页面格式为:触发器[守卫条件]/触发效果。

  • 约束配置

    守卫条件:转换发生需满足的条件,自定义文本。

    触发效果:选择绑定工程树中的活动(Activity)、交互(Interaction)、状态机(StateMachine)三种元素。

  • 触发器

    触发状态转换的事件。

    名称:选择绑定Trigger元素。

    类型:显示Trigger元素的类型。

    规格:显示Trigger元素的规格。

建模步骤

  1. 在状态机图工具栏拖动State元素到画布中命名为Off,拖动Initial元素到图中并使用Transition连接。

  2. 创建State元素命名Operate,使用Transition进行连接。

    创建Trigger元素命名为start,Transition连线右键属性,触发器选择绑定start。

  3. 参考示例创建元素完成状态机图。

    此状态机图用于描述车辆制动过程中的状态。Initial使车辆从Off状态过渡到Operate(on)状态的触发器。

相关文档