状态机图
状态机图描述了一个单一对象的行为,并阐述了对象在其生命周期中对事件的响应过程中经历的事件序列。
元素介绍
|
元素名 |
图标 |
含义 |
|---|---|---|
|
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元素的规格。

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

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

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

- 参考示例创建元素完成状态机图。
此状态机图用于描述车辆制动过程中的状态。Initial使车辆从Off状态过渡到Operate(on)状态的触发器。

















