《软件建模与设计: UML、用例、模式和软件体系结构》一一2.8 并发通信图

本节书摘来自华章计算机《软件建模与设计: UML、用例、模式和软件体系结构》一书中的第2章,第2.8节,作者:(美)Hassan Gomaa,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.8 并发通信图

在UML表示法中,一个主动对象可用于描绘一个并发对象(concurrent object)、进程(process)、线程(thread)或任务(task)。可以用一个左右两边带有两根垂直线的方框表示一个主动对象。主动对象(active object)拥有自己的控制线程,并且能与其他对象并发执行。与此相反,被动对象(passive object)不具有控制线程。被动对象只在其他对象(主动或被动)调用其方法时才会执行。
主动对象在描绘系统并发视角的并发通信图中描绘(Douglass 2004)。在UML 2的并发通信图中,主动对象用左右两边带有两条相互平行的垂直线的矩形框表示,被动对象则用常规的矩形框表示。在UML 1.x表示法中用粗黑线矩形框表示主动对象的方式已经不再采用。图2-10是并发通信图的一个示例,它也展示了当同一个类的多个对象被实例化时对于多对象(multiobject)的表示法(在UML 2中不再使用的UML 1.x标记)。
image

图2-10 UML表示法中的主动对象和被动对象
并发通信图中的消息通信
并发通信图中任务之间的消息接口可以是异步的(松耦合),也可以是同步的(紧耦合)。
图2-11总结了UML对消息通信的表示法。图2-12描绘了一个并发通信图,并发通信图
  
image

是通信图的一个版本,它展示了主动对象(并发对象、进程、任务或线程)以及这些对象之间不同种类的消息通信。同步的消息通信存在两种可能:(1)带回复的同步消息通信(黑色箭头代表请求,带箭头的虚线代表回复);(2)不带回复的同步消息通信(黑色箭头代表请求)。需要注意,从UML 1.4开始,UML对异步通信的表示从一个半箭头改变为一个全箭头。同时,用全箭头表示一个简单消息的方式是UML 1.3与更早版本中的使用惯例。在分析建模阶段,当消息通信的类型还未确定时,使用简单消息是一种有用的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值