时序图

更新时间:2023-02-10 15:16

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件

简介

组成元素

时序图中包括如下元素:角色,对象,生命线,控制焦点和消息。

1、角色(Actor)

系统角色,可以是人或者其他系统,子系统

2、对象(Object)

对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表

类角色。

对象一般包含以下三种命名方式:

第一种方式包含对象名和类名。

第二种方式只显示类名不显示对象名,即为一个匿名对象。

第三种方式只显示对象名不显示类名。

3、生命线(Lifeline)

生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。

4、控制焦点(Activation)

控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{ }”中的内容。

5、消息(Message)

消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信。

结构

时序图描述对象是如何交互的,并且将重点放在消息序列上。也就是说,描述消息是如何在对象间发送和接收的。时序图有两个坐标轴:纵坐标轴显示时间,横坐标轴显示对象。每一个对象的表示方法是:矩形框中写有对象和 / 或类名,且名字下面有下划线;同时有一条纵向的虚线表示对象在序列中的执行情况(即发送和接收的消息对象的活动) , 这条虚线称为对象的生命线。对象间的通信用对象的生命线之间的水平的消息线来表示,消息线的箭头说明消息的类型,如同步,异步或简单。 浏览时序图的方法是,从上到下查看对象间交换的消息,分析那些随着时间的流逝而发生的消息交换。

时序图中的消息可以是信号、操作调用或类似于C++ 中的RPC( Remote Procedure Call,远程过程调用)或Java中的RMI( Remote Method Invocation ,远程方法调用)。当对象接收到一个消息时,该对象中的一项活动就会启动,我们把这一过程称做激活 ( Activation )。 激活会显示控制焦点,表明对象在某一个时间点开始执行。一个被激活的对象或者是执行它自身的代码,或者是等待另一个对象的返回(该被激活的对象已经向另一个对象发送了消息)。在图形上,激活被绘制为对象生命线上的一个瘦高矩形。

消息可以用消息名及参数来标识。消息还可带有条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排斥的,即在某一时刻仅可发送分支中的一个消息。消息也可以有顺序号,但是在时序图中,消息的顺序号很少使用,因为时序图已经将消息的顺序显式地表示出来了。

创建步骤

1、确定交互过程的上下文

2、识别参与过程的交互对象;

3、为每个对象设置生命线;

4、从初始消息开始,依次画出随后消息;

5、考虑消息的嵌套,标示消息发生时的时间点,则采用FOC(focus of control);

6、说明时间约束的地点。

大规模时序图影响力最大化的算法

时序图影响力最大化问题,即在时序图上寻找K个顶点使得信息最大化的传播。传播模型的选择和节点间传播概率的计算是影响力最大化问题的基础,由于基于静态图的IC(Independent Cascade model)传播模型无法应用于时图,因此首先对 IC 模型进行改进提出了ICT(Independent Cascade model on Temporal Graph)传播模型,使信息可以通过ICT传播模型在时序图上进行传播。而后通过改进PageRank算法来进行计算节点间的传播概率。然后在此基础上将时序图影响力最大化问题分为两步来进行实现。

动态图最大化算法

通过对基于静态图的影响力最大化算法的研究并改进,从而将影响力最大化问题的研究对象由静态图转移到动态图上去,并提出了可以解决动态图影响力最大化问题的算法。

首次在动态图上进行了影响力最大化问题的研究。其中对SKIM 算法进行改进将其适用于动态图的影响力最大化问题的实现。其采用反向可达采样方法首先采样处多个采样集合,通过采样集合来找出种子节点集合,而后图中会有节点的添加或删除操作,通过计算节点的删除或添加对当前采样集合的影响来重新计算种子节点集合。由于其完全没有考虑节点间联系的因素,且是以全局的角度来研究时序图影响力最大化问题,其间并无节点增删的操作,所以研究方法无法解决所研究的问题。则是使用的一种新的窗口滑动的模型来研究动态图上的实时影响力最大化问题,其研究思路为设置一个时间窗口w,将节点间的联系看作一个action,并将这些 action 按照时间的先后顺序存放在w中。窗口w会随着时间向下滑动,此时便涉及到新的action的进入和旧的action的退出(因为窗口的大小是可以人为设定的),根据节点的进入和退出,来判断是否需要对在上一个时间段所求出的窗口中的种子节点进行重新计算。而由于是从全局的角度在时序图上研究影响力最大化问题,所以研究思路也无法解决所要研究的问题。

时序图与静态图的区别

时序图和静态图的本质上的不同是时序图在边的权重上加入了时间戳这一因素。静态图上的边一旦存在便不会因时间的变化而改变,而在时序图中,边会因时间的变化在两种状态下相互转化:激活状态和非激活状态。时序图中顶点间只在边处在激活状态下时是存在联系的。

在现实生活中有很多常见的网络都可以描述为时序图。(1)点对点通信网络:如电子邮件手机短信等。(2)一对多的消息传播网络:在这种网络中注重的是单一用户对其余多个用户的信息传播。(3)生物信息网络:如代谢网络蛋白质互作用网络等。研究表明,在生物信息网络中,各节点间的交流是时间相关的,所以Teresa M. Przytycka等人认为对于生物信息网络的分析是需要借助于动态网络来实现的,且在对蛋白质互作用和基因调控网络的研究工作中已经有研究者开始分析时间对网络的影响。

时序图影响力最大化基本算法

基本的时序图影响力最大化算法的思想是:将时序图影响力问题分为两步解决,首先第一步计算节点影响力,然后第二步是根据第一步所得出的实验结果使用贪心算法逐次寻找出边际效应最大的那个节点作为种子节点,直到找出k个种子节点为止。

首先提出了时序图节点影响力计算算法SIC算法以及其改进算法ISIC算法,然后在此基础上计算节点的边际效应,并由此提出基本的可以解决时序图影响力最大化问题的基本算法BIMT算法。

时序图的医疗风险预测

为每位病人构建一个医疗时序图,时序围的表示形式压缩了原始数据使其更紧凑,从而有效解决了医疗数据的稀疏性问题,并且为每位病人的分散数据提供了一种全景概括视图。

病人时序图

疾病风阴预测方法MTPGraph中病人时序图将每位病人原始EHRs数据中的时序临床事件转变为时序图,为所有病人提供了一种一致性表示形式,并考虑了不同临床事件之间的时序关系。在形成图的过程中,将用药进行了粗粒度划分,例如,'地高辛(Digoxin)'和万爽力(Vasorel)'可归类为’抗心绞痛药物(AntianginalAgents)'。画像图的节点表示粗粒度医疗事件(即,疾病名称,粗粒度用药,化验名称等);根据临床事件的时间戳来形成有向边,可以捕捉任意两个医疗事件之间的时序关系;边权重反映出相邻两个医疗事件之间的平均时间间隔,边越粗权重越大,则平均时间间隔越短,这种表示形式简便直观,易于捕捉到不同临床事件之间时序关系的强弱。

从疾病风阴预测方法MTPGraph中可为各种分析任务捕捉到综合全面的信息。在构建时序图时,与文献不同的是需要根据实际的数据格式进行以下几方面考虑:首先需要从病人电子健康档案记录中抽取临床事件,根据中国药典(ChinesePharmacopoeia)将其划分为粗粒度医疗事件,基于相对应的时间戳形成时序序列,最后将得到的粗粒度事件序列转变成时序图。基于图的表示方式能够用更简洁的方式捕捉到隐藏在事件序列中的时序关系,并且在时序序列中拥有一致顺序重复出现的事件对在时序图中只出现一次,意味着这种表示形式能够帮助抵制稀疏性及不规则观察。

疾病风险预测

疾病风阴预测方法MTPGraph中疾病风险预测提出了一种挖掘频繁时序特征图的算法。为了执行不同疾病风险预测任务,例如预测冠私病患者的病情是否好控制,或者预测慢性阻塞性肺病患者在未来90天内是否会再次住院等任务,都需要采取以下步骤:首先要构建信息量丰富的特征图,利用提出的频繁时序子序列挖掘算法TRApriori,Apriori是最成熟的频繁项集挖掘算法之一,基于该方法去获得频繁时序子序列,随后形成频繁时序特征图;其次如疾病风阴预测方法MTPGraph中疾病风险预测所示基于病人时序图及频繁时序特征图来构建特征向量,每个病人时序图都可由第一步得到的特征图重新组成,随之产生一个重构系数,即生成的是特征向量,用来进行有效的疾病风险预测。通过对慢性阻塞性肺病(ChronicObstructiveP*ulmonaryDisease,COPD)群体及冠心病(CoronaryHeartDisease,CHD)群体发病风险的早期预测来验证所提方法的有效性

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}