時序圖

時序圖

UML行為圖
時序圖(Sequence Diagram),又名序列圖、循序圖,是一種UML交互圖。它通過描述對象之間發送消息的時間順序顯示多個對象之間的動态協作。它可以表示用例的行為順序,當執行一個用例行為時,其中的每條消息對應一個類操作或狀态機中引起轉換的觸發事件。
  • 中文名:時序圖
  • 外文名: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 )。 激活會顯示控制焦點,表明對象在某一個時間點開始執行。一個被激活的對象或者是執行它自身的代碼,或者是等待另一個對象的返回(該被激活的對象已經向另一個對象發送了消息)。在圖形上,激活被繪制為對象生命線上的一個瘦高矩形。

消息可以用消息名及參數來标識。消息還可帶有條件表達式,表示分支或決定是否發送消息。如果用于表示分支,則每個分支是相互排斥的,即在某一時刻僅可發送分支中的一個消息。消息也可以有順序号,但是在時序圖中,消息的順序号很少使用,因為時序圖已經将消息的順序顯式地表示出來了。

一個對象可以通過發送消息來創建另一個對象,當一個對象被删除或自我删除時,該對象用 "X"标識。

創建步驟

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)群體發病風險的早期預測來驗證所提方法的有效性。

相關詞條

相關搜索

其它詞條