今天继续说调用动作。在UML规格中有如下类图。


EA&UML日拱一卒-活动图::SendSignalAction_UML

红框中的CallBehaviorAction和CallOperationAction已经讲过了,今天就来说明剩下的SendSignalAction。

红字部分有修改):

发送信号动作(SendSignalAction)

根据输入信息创建一个信号实例,并且把它传送到目标对象,在那儿它可以启动状态机的转换,或者一个行为的执行。参数值对于相关联的行为执行有效。请求者马上继续执行。任何应答消息被忽略,或者不被传送到请求者。

设定方法

准备信号

在ProjectBrower中选择适当的节点,打开上下文菜单,选择【New Element】


EA&UML日拱一卒-活动图::SendSignalAction_活动图_02

输入适当的名称,选择类型为【Signal】,按下【Save】按钮以后,可以得到以下的TestSignal信号。


EA&UML日拱一卒-活动图::SendSignalAction_活动图_03

为信号添加属性


打开TestSignal的上下文菜单,选择【Attributes】项目打开信号功能设定对话框。根据需要添加信号的属性。


EA&UML日拱一卒-活动图::SendSignalAction_EA_04

添加SendSignalAction

添加类型为【Send Signal】的动作到活动图,得到以下的SendSignalAction,它的形状为五边形。




EA&UML日拱一卒-活动图::SendSignalAction_EA_05



添加输入引脚



为Action1增加两个输入引脚,用于接收传送给TestSignal属性的数据。

设定动作名称

可以在Action1的属性对话框选择【General】分类中,然后修改动作名称。


EA&UML日拱一卒-活动图::SendSignalAction_活动图_06

选择信号

按下Signal栏右边的【...】为Action选择前面准备的TestSignal。


EA&UML日拱一卒-活动图::SendSignalAction_上下文菜单_07

按下【Add】按钮选择Action1的输入引脚,然后在Argument栏中为引脚选择对应的信号属性并指定缺省值。这样就建立起了Action1输入引脚和TestSignal的属性之间的联系。




阅读更多更新文章。请扫描下面二维码,关注公众号【面向对象思考】!


EA&UML日拱一卒-活动图::SendSignalAction_活动图_08