预订演示
前页 后页

在仿真中创建对象

在仿真模型中,您可以创建类并创建它们的实例(全局对象)来表示过程中存在的对象,或者定义行动以在过程中的任何时间点生成一个或多个对象。

在仿真模型中创建对象有三个选项:

  • 手动创建物件
  • 通过 CreateObject行动元素动态创建物件
  • 使用JavaScript函数使用("name") 作为行动元素的“影响”,再次动态创建物件
动态创建一个物件后,您还可以实例化该物件的任何内部对象,例如类上的活动属性,并对该内部object执行操作。

手动创建一个物件

只需通过以下方式在模型的图表上创建一个物件元素:

  • 从工具箱的“物件”页面图表一个物件元素并设置其分类器,或
  • 从浏览器窗口拖动一个分类器元素并将其作为实例粘贴到图表中
在仿真模型中,您可以自行设置物件属性(例如设置运行状态以重新设置属性的初始值)或动作的行动以作用于物件(例如将其沿流程传递) )并观察仿真中的物件会发生什么。

通过 CreateObject行动创建一个物件

如果您的流程在运行时生成对象,您可以使用仿真行动来模拟这一点。

行动

也见

1

在您的活动图表上,从工具箱中图表一个“行动”图标,然后选择“其它| CreateObject 的上下文菜单选项将其定义为 CreateObject行动元素。

行动

2

将 CreateObject行动的分类器设置为物件将成为实例的类。这是在属性窗口 > CreateObjectAction >分类器中设置的,使用 [...] 按钮。

行动销

3

在行动上创建一个行动销,种类输出。

行动销

4

在处理行动中创建或选择下一个行动序列,并添加一个行动销类输入。

用控制器流量连接器连接两个行动,用控件物件流连接器连接两个行动销。

CreateObject in uml simulation

控件流程 物件流

5

在图上进行仿真。当创建对象行动被执行时,它创建一个具有分类器属性的物件,并将其存储在其输出销中。物件本身通过物件流连接传递到行动2的输入销,其属性可以在本地窗口窗口中列出,用于仿真。

使用JavaScript创建物件

您还可以在行动元素的“影响”字段中使用JavaScript命令动态创建仿真对象。命令是:

sim.newObject = sim.CreateObject("ClassName");

或者

sim.newObject = new SimObject("ClassName"); (自然的JavaScript )

即:“仿真基于类<名称>的物件创作”。分类类将与行动存在于同一个包中。

至于CreateObject行动元素,该物件是在仿真过程中创建的,可以被“下游”元素传递和处理。在这个例子中,创建的物件被标识为物件,并且在行动2 中它被访问,并且它的一个属性被赋予了不同的值(也被JavaScript作为行动的影响)。

Use of Javascript in simulation

实例化内部对象

如前所述,您可以使用JavaScript或 CreateObject行动创建一个物件。同样,您可以使用JavaScript或行动来实例化内部对象。

在这个例子中,使用JavaScript ,仿真首先创建了一个基于 Class1 的测试object 。类1有一个活动元素和图表,活动参数1设置为整数 5,活动参数2 设置为string “test”。活动参数1的值被捕获为缓冲区值“buf”。

Instantiation of inner objects in model simulation

了解更多