介绍完模块的结构属性,这篇文章我们接着介绍模块的行为属性。
模块的行为属性就是模块能够执行的动作。
SysML提供了两种行为属性:操作和接收。
1、操作
图1 行为属性-操作
操作是模块被调用时所执行的动作,即操作是由调用事件触发的。
操作由4部分组成:操作名称、参数列表、返回值类型和多重性。
参数列表可以有0个或者多个参数,多个参数之间用逗号分隔。返回值类型必须是在系统中已经创建的值类型或者模块的名称。多重性是指调用模块后返回值类型的实例的数量。
参数列表中每个参数由4部分组成:参数方向、参数名称、参数类型和多重性。参数方向可以是输入、输出或者输入及输出。参数类型必须是在系统中已经创建的值类型或者模块的名称。多重性表示参数类型实例的数量。当操作被调用时,如果参数没有被赋予一个特定的值,则参数为默认值。
如图1所示,在调用“低压电源管理子系统”模块时,可以执行两个操作:1)电源模式切换,返回值类型为电源模式;2)唤醒线控制,返回值类型为唤醒线状态。
2、接收
图2 行为属性-接收
接收是模块在收到信号时所执行的动作,即接收是由信号事件触发的。
信号本身也是一种模型元素,它可以代表任意类型的能量或者数据,信号在系统中传递的目的一般是为了触发接收端执行动作。
信号和模块都可以有属性,信号的属性通常代表信号所传递的数据,当信号触发接收端执行动作时,信号的属性就是接收端所执行动作的输入。
信号由4部分组成:关键字signal、接收名称和参数列表。关键字signal必须总是作为接收名称的前缀,接收名称必须与系统中触发它的信号名称保持一致,参数列表与操作中的参数列表的组成部分是相同的。
如图2所示,“低压电源管理子系统”接收到信号“远程上电请求”后,执行远程上电动作。
这里需要注意,接收和操作不同,接收是没有返回值的,发送信号的模块不需要等待接收信号后所进行动作的反馈,因此接收一定是异步的。
未完待续。。。。。。