[發明專利]一種基于擴展的UML2序列圖的中斷驅動系統建模方法有效
| 申請號: | 201611023955.4 | 申請日: | 2016-11-14 |
| 公開(公告)號: | CN106648617B | 公開(公告)日: | 2019-10-15 |
| 發明(設計)人: | 潘敏學;張天;陸一飛;李宣東 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20 |
| 代理公司: | 南京瑞弘專利商標事務所(普通合伙) 32249 | 代理人: | 陳建和 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 中斷 建模 驅動系統 序列圖 響應處理 驅動系統設計 操作類型 模型驗證 模型轉換 時間約束 中斷交互 組合片段 直觀 | ||
1.一種基于擴展的UML2序列圖的中斷驅動系統建模方法,其特征是,包括如下步驟:
步驟1:擴展UML2序列圖,新增中斷交互操作類型用于描述中斷的發生和響應處理;
步驟2:將中斷驅動系統的執行流程劃分為一個中斷外交互和若干個中斷內交互;
步驟3:根據UML2序列圖規范對中斷外的流程進行建模;
步驟4:根據步驟1中定義的中斷組合片段對中斷的發生和響應處理進行建模;
步驟5:對中斷驅動系統的時間約束進行建模;
步驟1中的UML2序列圖由交互對象、生命線、消息、組合片段元素構成,為一個二維圖;橫向軸依次列出交互對象;縱向是時間軸;時間沿豎線向下延伸,用于描述對象交互發生的時間先后順序;交互對象用生命線來表示,圖形為一個矩形加底部的一條垂直虛線;矩形內標注對象名,垂直線既表示對象的生命周期也表示時間軸;對象之間的交互用消息描述;消息是對象間的一種通信機制,由發送對象向另一個或其他幾個接收對象發送信號;其圖形描述為一條帶箭頭的線,起點在發送對象的生命線上,終點即箭頭端在接收對象的生命線上;消息名放置在帶箭頭的線上面,消息的發送和接收事件都有唯一的事件名,分別放置在帶箭頭的線的起點和終點;在UML2序列圖中選擇和迭代復雜的控制流用組合片段表示;不同的組合片段的功能由其交互操作類型決定;在UML2規范中,已定義的組合片段的交互操作類型片段有表示循環的loop、表示控制流的分支中二選一的alt和表示該片段內控制流為可選的opt,交互操作類型片段的圖形描繪方式符合UML2規范;
擴展UML2序列圖,新增中斷交互操作類型用于定義一種新的中斷組合片段;中斷組合片段的語法遵循UML2組合片段的描述規范:由一個矩形方框表示組合片段的邊界;在矩形方框的左上角五邊形中,字符串int表示該組合片段的交互操作類型是中斷;p表示中斷優先級、為非負整數;id為可選內容,描述了該中斷組合片段的名稱;位于方框左上角五邊形下方的condition為條件表達式,是可選內容,其值為布爾型;
UML2序列圖中對象交互所產生的消息收發事件在時間上具有先后關系,這種時間上的先后關系構成時間上的偏序關系;在序列圖中基于以下兩條規則確定事件發生的偏序關系:1)同一條消息的發送事件先于接收事件;2)在同一條生命線上且同處于某一中斷組合片段內或都處于中斷組合片段外的兩個事件,位于生命線上方的事件先于下方的事件;
由于中斷的發生和處理在時間上具有不確定性,為了表達這種不確定性,規定發生在中斷組合片段內的事件與中斷組合片段之外的事件不存在時間上的偏序關系,即規則3)發生在中斷組合片段內的事件與中斷組合片段之外的事件不存在偏序關系;對于中斷優先級,規定高優先級的中斷片段的執行可以打斷低優先級的中斷的執行,但低優先級的中斷的執行不可打斷高優先級中斷的執行,這樣就能對中斷優先級進行建模,并能描述中斷嵌套;對于中斷響應的禁止和使能則使用變量賦值和條件表達式來建模;允許為消息的接收和發送事件綁定變量賦值操作,表示在消息的接收和發送時刻執行該變量賦值操作;變量賦值操作是可選的,在需要綁定變量賦值操作的事件名稱后添加一對大括號,括號內為相應的變量賦值語句;如果有多個賦值語句則在括號內用逗號分隔依次列出;變量對應于中斷屏蔽字,它的賦值用于控制中斷響應的開啟和關閉;條件表達式用于判斷中斷響應的開啟與關閉;若條件表達式為真則表示中斷組合片段所描述的中斷可以被響應和處理,反之則不可;條件表達式的表示格式為:變量名二元關系操作符變量值;支持的二元關系操作符有,等于(=)、不等于(!=)、大于(>)、大于等于(>=)、小于(<)和小于等于(<=);若條件表達式省略,則默認值為真,即默認中斷服務處于開啟狀態;
步驟3具體化,根據UML2序列圖規范對中斷外的流程進行建模,其方法為,根據交互的控制流類型和先后順序,順序執行的對象交互用消息按時間軸從上到下表示,復雜的控制流用UML2序列圖規范中定義的組合片段表示;對系統中的循環控制流,在循環發生的位置添加loop組合片段;然后在loop組合片段方框內添加循環體,循環體內的交互可能是順序的對象交互也有可能是其他復雜的交互,如果是順序交互則在loop組合片段的方框內直接建模,如果有嵌套的復雜控制流,則在loop組合片段的方框內嵌套地添加其他組合片段;對系統中的選擇控制流可以在發生選擇的位置使用alt組合片段、控制流二選一或者opt組合片段、opt組合片段內的控制流為可選;alt組合片段和opt組合片段內的控制流如果是順序交互則在片段方框內直接建模,如果有嵌套的復雜控制流,則在片段的方框內嵌套地添加其他組合片段;最后添加變量賦值操作的交互事件,即根據步驟1定義的方法在事件名后添加賦值語句;
步驟4具體化:根據步驟1中定義的根據中斷組合片段對中斷的發生和響應處理進行建模,其方法為:對步驟2得到的若干個中斷內交互、具體數量取決于系統內中斷的數量,對每個中斷,依次按下面的步驟處理:
1)在經步驟3所得的UML2序列圖中,選擇該中斷發生的位置,如果發生的位置不止一個,建模者根據對系統的理解,判斷最為可能的位置;或在幾個發生的位置中任意選擇一個;然后在該選擇的位置中添加中斷組合片段的框體,標出組合片段的操作類型int和名稱;
2)設置中斷優先級,如有中斷使能條件則在相應的位置添加條件表達式;
3)中斷內部的交互與系統中其他的交互不存在時間上的偏序關系,因此將中斷內的交互序列看作是一個在時間上相對獨立的子系統;在中斷組合方框內部,根據步驟3中對中斷外的流程進行建模的方法,對中斷內交互流程進行建模;
步驟5具體過程:對中斷驅動系統的時間約束進行建模;中斷驅動系統中的交互通常具有時間約束;時間約束描述,首先給出兩種時間約束模板:普通時間約束和投影時間約束;a≤e1–e2≤b為普通時間約束表達模板,其中e1和e2為兩個事件的名稱,代表事件發生的時間點,并且e2先于e1發生;a和b為實數并且0≤a≤b,b能取值到∞;e1–e2表示從事件e2發生的時間點到事件e1發生的時間點之間的時間間隔,如果期間發生中斷,它包含中斷執行的時間;a≤e1–e2≤b表達的語義為:系統在從發生事件e1到發生事件e2所經歷的時間不允許少于a個時間單位,不允許超過b個時間單位;a≤(e1–e2)↑≤b為投影時間約束表達模板,其中e1和e2為兩個事件的名稱,代表事件發生的時間點,并且e1和e2必須是同一個中斷組合片段的事件,或者e1和e2不屬于任何中斷組合片段,e2先于e1發生;a和b為實數并且0≤a≤b,b能取值到∞;
(e1–e2)↑表示的含義為,若e1和e2不屬于任何中斷組合片段,(e1–e2)↑則表示從事件e2發生的時間點到事件e1發生的時間點中系統用于執行非中斷任務所用的時間間隔;如果在事件e1和e2中間,有中斷事件的發生,那么中斷任務的執行所用的時間不計入內;
若e1和e2是同一個中斷組合片段的事件,(e1–e2)↑則表示從事件e2發生的時間點到事件e1發生的時間點中系統用于處理e1和e2所在的中斷組合片段對應的中斷任務所用的時間間隔;如果在事件e1和e2中間,有高優先級的中斷事件發生,那么高優先級中斷任務的執行所用的時間不計入內;
a≤(e1–e2)↑≤b表達的語義為:(e1–e2)↑表示的時間間隔不允許少于a個時間單位,不允許超過b個時間單位;時間約束在模型中的描述方法是在序列圖的右下方添加UML標注框,在標注框內依次列出對系統的時間約束;多條時間約束之間用換行符分割。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611023955.4/1.html,轉載請聲明來源鉆瓜專利網。





