您的位置:首页 > 其它

EA&UML日拱一卒-活动图::数据区

2017-06-20 19:52 232 查看
流程说到底是在处理数据,一般情况下一个活动或动作结束执行后输出数据,下一个活动或动作收到数据后开始执行。但也有另外一种情形,产生的数据先放到某处暂存,等后续处理使用。对于这种情况,UML提供了两种方法:中央缓冲节点和数据存储节点。

中央缓冲节点(central buffer node)

语义

中央缓冲节点可以同时从多个对象节点接收输入,并可以为多个对象节点产生输出。和对象流不同,中央缓冲节点提供的数据不作为活动或动作的启动条件。

中央缓冲节点中的数据输出是以数据移动的形式进行的。

表示法

中央缓冲节点表示为带有关键字《centralBuffer》的对象节点符号。

示例

下图是复印流程中使用中央缓冲节点的例子。





扫描单元完成一次扫描以后,将ImageData保存在centralBuffer中

打印单元从centralBuffer中取得数据以后打印输出。

数据存储节点(data store node)

语义

数据存储节点就是带有数据持久化功能的中央缓冲节点。

数据存储节点可以同时从多个对象节点接收输入,并可以为多个对象节点产生输出。数据的输入流和输出流是不相连的,也就是说数据的存储和使用要求可以来自不同的线程。

到这里为止,内容没有本质的区别,可以看作是相同点。接下来是不同点。

数据存储节点和中央缓冲节点输出数据的行为是不同的。中央缓冲节点输出的是数据本身,而数据存储节点输出的是数据的拷贝,数据本身是在包含该数据存储节点的活动结束以后才会被销毁的。

表示法

数据存储节点表示为带有关键字《datastore》的对象节点。

示例

以下是某数据采集系统的例子。



三个流程分别

以0.1S周期采集模拟信号并存储在SystemData中

接受中断请求后采集数字信号并存储在SystemData中

从SystemData中取得数据并表示

数据表示以后,还需要保留在系统中以供将来使用,因此这里使用数据存储节点。

以上就是今天的文章,如果它能给您带来些许收获,欢迎推荐给您的朋友!
阅读更多更新文章,请扫描下面二维码,关注公众号【面向对象思考】!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EA UML 活动图 数据区