前页 后页

可执行状态机器工件

可执行StateMachine工件是生成可以相互交互的StateMachines的关键。它指定模拟中将涉及的对象,它们的状态以及它们如何连接。使用可执行StateMachine工件的一大优势是,工件中的每个部分都可以代表一个StateMachine实例,因此您可以使用每个StateMachine的多个实例来设置仿真并观察它们如何相互作用。 示例可执行状态机帮助主题中提供了一个示例

创建可执行状态机的属性

每个可执行StateMachine方案都涉及一个或多个StateMachines。包含的StateMachines由UML属性元素指定;每个属性将具有一个UML分类器(类),该类确定该类型包括的StateMachine。作为多个属性包含的多种类型最终可能包含许多StateMachines,它们都是在代码中创建并在执行时初始化的。

行动

描述

将类从“浏览器”窗口拖放到<< Executable StateMachine >>工件

在Executable StateMachine上定义属性的最简单方法是从“浏览器”窗口将类拖放到Executable StateMachine上。在显示的对话框中,选择创建属性的选项。然后,您可以指定一个名称,以描述可执行状态机将如何引用此属性。

注意:根据您的选择,您可能必须按住Ctrl键才能选择创建属性。可以随时使用“按住Ctrl键显示此对话框”复选框更改此行为。

使用和连接多个UML属性

可执行状态机描述了多个状态机的交互。这些可以是同一StateMachine的不同实例,同一实例的不同StateMachines,或者是来自不同基本类型的完全不同的StateMachines。要创建将使用相同StateMachine的多个属性,请将相同的Class多次拖放到Artifact上。要使用不同的类型,请根据需要从“浏览器”窗口中删除不同的类。

定义属性的初始状态

由可执行StateMachine运行的StateMachines将全部在其自己的Class实例的上下文中运行。可执行状态机允许您通过将属性值分配给各种Class属性来定义每个实例的初始状态。例如,如果这些属性与正在运行的场景相关,则可以指定玩家的年龄,身高,体重或类似情况。通过这样做,可以设置详细的初始条件,这将影响场景的播放方式。

行动

描述

设置属性值对话框

可以通过右键单击属性并选择“功能|属性”来打开分配属性值的对话框。设置属性值”,或使用键盘快捷键Ctrl + Shift + R。

赋值

“设置属性值”对话框允许您为原始类中定义的任何属性定义值。为此,选择变量,将运算符设置为“ =”,然后输入所需的值。

定义属性之间的关系

除了描述分配给每个属性所拥有的变量的值外,Executable StateMachine还使您可以定义每个属性如何基于它们作为实例的Class模型来引用其他属性。

行动

描述

创建一个连接器

使用“组合”工具箱中的“连接器”关系连接多个属性。

Connector connector

或者,使用快速链接器在两个属性之间创建关系,然后选择“连接器”作为关系类型。

映射到类模型

一旦两个属性之间存在连接器,就可以将其映射回它在类模型中表示的关联。为此,请选择连接器,然后使用键盘快捷键Ctrl + L。显示“选择关联”对话框,该对话框允许生成的StateMachine在执行期间将信号发送到实例,以填补关系中指定的角色。

学到更多