动作(Action)

动作是一种可以存在于活动之中的节点,他是为活动基本的功能单元建模的节点,一个动作代表某种类型的处理或者转换,他会在系统操作过程中活动被执行的时候发生。

动作的标识法,一般为圆角矩形,有很多种特殊类型的动作,每个都有其自身的标识法。

Contents

  1. 动作(Action)
    1. 不透明动作(OpaqueAction)
    2. 调用行为动作(CallBehaviorAction)
    3. 发送信号动作(SendSignalAction)
    4. 接受事件动作(AcceptEventAction)
    5. 等待时间动作(WaitTimeAction)

不透明动作(OpaqueAction)

使用某种语言描述的一个动作。可以使用正式的编程语言,也可以使用自然语言。一般将动作写成一个动词短语。SysML把这样的声明叫做不透明表达式。

名称:说明动作的动词短语;

语言:使用花括号来指定语言,位于主体之前(例如:编程语言,像C、Java等)

主体:使用花括号中的语言来对动作的进一步描述。

调用行为动作(CallBehaviorAction)

调用行为动作是一种特定的动作,他会在启用的时候触发另一种行为,调用行为动作可以把一个高层次的行为分解成一系列低层次的行为。

调用行为动作所调用的行为可以是,交互,状态机,或者其他活动。

调用行为动作的标识法,圆角矩形。

调用行为动作的语法格式为:

英文:<action name>:<Behavior Name>

中文:<动作名称>:<行为名称>

行为名称必须和你在模型层级关系中某处定义的交互、状态机或者活动的名称匹配。

调用行为动作的右下角出现分支符号。表示被调用的行为是一种活动,被调用的行为;没有那种符号的调用行为动作是模糊的,可能是一种交互,可能是一种状态机。

设置行为:选择节点,然后右键菜单“设置行为”,在弹出的窗口中选择一个行为元素,作为动作调用的行为。

打开行为图:右键菜单“打开行为图”会打开行为定义的图。

在活动图的“仿真”中,如果运行到调用行为动作,而且这个动作关联的行为有对应的图,则打开这个图继续运行。

发送信号动作(SendSignalAction)

为了满足可伸缩性和性能要求,系统工程师经常会设计分布式和并发系统。这样的系统会使用并发机制来传递事件,能量和数据,并同步那些以并行的方式操作的各种动作,使用发送信号动作,接收事件动作为这种类型建模。

发送信号活动是一种特定的动作,启用的时候会异步地生成信号实例,并把它发送到目的地。发送信号动作的标识符,类似于路标地五边形。在发送信号动作内部显示的字符串必须在模型层级关系某处定义的信号的名称相匹配,信号是一种模型元素,和模块一样,信号可以拥有属性,属性一般会代表信号实例从发送方到目标方传递的数据。

设置信号类型:选择节点,右键菜单“设置信号类型”,在弹出的窗口选择一个信号元素,作为发送信号动作发送的信号。

设置发送目标:选择节点自动生成的输入节点,右键菜单“选择类型”,在弹出的窗口选择一个 ,作为发送信号动作的发送方。

接受事件动作(AcceptEventAction)

接收事件动作在异步行为中是发送信号的动作的好搭档,接受事件动作是在活动中使用的元素,他表示活动在继续执行之前,必须等待发生一个异步的事件,异步事件通常是接受信号实例,接受事件动作不仅限于(从发送信号动作)接受信号实例,它还可以接受异步的时间事件的发生、调用事件的发生、改变事件的发生或者是任何接受事件。

接受事件动作的操作:

  1. 创建接受事件动作:直接从图形工具栏中将接受事件动作拖至图中相应的位置,或者在图形工具栏中点击接收事件动作,在图中相应位置按下鼠标左键画出合适大小的接收事件动作。

为接受事件动作添加输出栓:鼠标右键菜单“添加”--“输出栓”

添加分配到:鼠标右键菜单“添加”--“分配到”

设置触发器:鼠标右键菜单“设置触发器”在弹出的窗口中点击左上角加号添加触发器,选中新添加的触发器,在右侧属性栏中设置触发器的事件类型。

等待时间动作(WaitTimeAction)

等待时间事件发生的接受事件动作也叫做等待时间动作。

等待时间动作的标识法,是一个沙漏形状的符号,在元素的下面显示时间表达式。 

沙漏下面的时间表达式可以指定绝对时间事件,也可以指定相对时间事件,绝对时间事件表达式以关键字at开始,相对时间事件表达式以关键字after开始。

等待时间动作是一种特殊类型的接受事件动作,即便在事件第一次发生之后,没有任何输入边的接受事件动作还会保持有效,可以为持续的周期性行为建模。

MBSES用户使用说明书