前页 后页

动作类型

动作元素极为灵活。 Enterprise Architect支持各种特定的操作类型,您可以使用它们来表示或制定离散的对象,操作或行为。如图所示,大多数类型的动作都显示为包含动作类型和动作名称的圆角矩形。

A UML ClearStructuralFeatureAction element.

动作元素符号

某些类型的Action元素具有自己的特定符号;例如:

动作种类

符号

也可以看看

接受事件

UML Receive element for Activity model using Sparx Systems Enterprise Architect.

动作类型

AcceptEventTimer

UML Set Time Event element for an Activity model in Sparx Systems Enterprise Architect.

通话行为

UML CallBehavior Action set with a Behavior Call in Sparx Systems Enterprise Architect.

动作类型

呼叫操作

UML Call Operation Action used in Activity model ing in Sparx Systems Enterprise Architect.

图中的类操作

发送信号

A UML SendSignal Action used in Activity model in Sparx  Systems Enterprise Architect

动作类型

AcceptEvent操作

AcceptEvent Action元素具有分配给它的可选输出结果Action引脚,以及一个或多个触发器以表示Action接受的事件的类型。您可以在“属性”窗口的“触发器”选项卡上定义触发器。在模拟中,没有触发器的AcceptEvent动作将在Action元素处阻止模拟。

领域

行动

也可以看看

名称

输入触发器的名称。

类型

单击下拉箭头,然后选择触发类型:呼叫,更改,信号或时间:

  • Call-指定事件为CallEvent,该事件通过调用操作将消息发送到关联的对象
  • 更改-指定事件为ChangeEvent,这表明过渡是属性值更改的结果
  • Signal-指定事件为SignalEvent,它对应于异步信号实例的接收
  • 时间-对应一个TimeEvent;它指定了时间
StateMachines的代码生成当前仅支持Change和Time触发事件,并且需要指定值。

在仿真中,每个触发器应有一个信号。结果将是“接受”信号。

规范

指定引发过渡的事件。

对于AcceptEventTimer操作,您可以在此字段中键入一个JavaScript表达式,以评估要等待的滴答声数量。

SendSignal操作和BroadcastSignal操作

SendSignal操作具有分配的目标ActionPin和信号。 Signal可以具有将其属性参数绑定为参数的输入ActionPins。例如:

::发件人:sig.binding_To_s1:整数

在模型仿真中,SendSignal操作会将参数的值传输到创建的Signal实例的属性中。目标ActionPin可以有一个空对象,以将Signal发送到模拟空间的根。如果没有目标ActionPin,则模拟将在Action处停止。如果目标具有对象,则信号将发送到该对象。您必须在对象的分类器中指定目标ActionPin的Pin类型。

除了没有目标ActionPin之外,BroadcastSignal Action与SendSignal Action相似。在仿真中,它总是将其信号发送到仿真数据的根。

您可以使用元素的“属性”窗口的“信号”选项卡来对要发送的信号和要传递的相关参数进行建模。

字段/按钮

行动

信号

单击Browse.然后从“选择信号”对话框中选择所需的信号。

属性

单击下拉箭头,然后选择要与参数关联的属性(如先前在Signal元素中创建的属性)。

为属性键入适当的值。

单击此按钮,然后从“选择引脚”对话框中选择适当的ActionPins,以标识信号的参数。

要分配多个ActionPin,请在选择每个ActionPin时按Ctrl键。

保存

单击此按钮保存更改。

通话行为

CallBehavior Action具有诸如Activity之类的行为,以及可选择的ActionPin结果(将放置返回值)。如果将它们的参数ActionPins绑定在一起,则CallBehavior Action也可以将其参数ActionPins的值转换为其行为。在模拟中,如果“动作”没有行为,则模拟被阻止。

SendObject动作

SendObject操作将对象的副本从发出请求的ActionPin发送到目标ActionPin。在模拟中,SendObject动作必须同时具有两个ActionPins,否则模拟将在该动作处被阻止。

结构特征动作

StructuralFeature动作作用于建模结构特征,例如在Action元素中标识的Activity或Object的分类器的Port,Part或属性。 Enterprise Architect支持以下类型的结构特征动作:

行动

描述

AddStructuralFeatureValue

需要一个将在其中输入目标对象的对象输入ActionPin,以及一个用于保存读取结果的结果输出ActionPin。如果对象Port在运行时没有值,则该过程将在Action处暂停。

在模型设计中,端口应连接到对象的端口或活动的对象节点。必须正确设置端口或对象节点的属性,并且必须设置值端口以在操作生效时捕获输入值。

结果ActionPin可以连接到输入消耗端口或ActionPin。例如,可以在下一个WriteStructuralFeature Action处将其用作输入值。

清除结构特征

清除对象或活动的结构属性或结构端口的单个值,并将结构特征的值设置为null。

阅读结构特征

与AddStructuralFeatureValue相似,只是不需要端口值。

在仿真中,如果对象的端口在运行时没有值,则仿真将在操作处暂停。

RemoveStructuralFeatureValue

与ClearStructuralFeature相似,不同之处在于它调用ActionPin值来输入值,并且如果该值与指定结构特征的值匹配,则将其设置为null。

如果值不匹配,则操作不会清除结构特征值。

WriteStructuralFeature

与AddStructuralFeatureValue相同。在模拟中,必须将值Port设置为在模拟运行Action时捕获输入值。

设置结构特征

行动

1个

右键单击“动作”元素,然后选择“高级|设置结构特征:添加'。

2

在“选择属性”对话框(“选择<Item>”对话框的变体)上,浏览或搜索适当的结构特征,然后双击它。

要素名称和位置显示在“设置结构要素”对话框的“ structuralFeature”字段中。

3

单击确定按钮以保存设置。

自读

ReadSelf操作将其自身的主机对象名称读入其结果端口。您必须为结果设置输出ActionPin。

A UML ReadSelfAction element with OutputPin.

操作必须在运行时实例化的类中。当模拟通过操作时,它将类实例的名称放入结果端口。

ReadSelf是一组具有CreateObject和DestroyObject的对象操作之一。

学到更多