《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于Petri網的嵌入式軟件組件的實時性研究

基于Petri網的嵌入式軟件組件的實時性研究

2009-05-21
作者:劉雪艷1,張 強1,2,寇曉東3

  摘 要: 根據嵌入式系統軟件的特點和發展需求,設計了一種新的嵌入式軟件組件模型SECOM,給出了模型的基本組成元素。同時,利用時間Petri網TPN建立一個TPN計時器timer,對該組件模型SECOM非功能性約束中的實時性進行建模與分析, 形式化地驗證了該組件的實時性。
  關鍵詞: Petri網;TPN;組件;非功能性約束

?

  隨著科技的發展,大多數的電子系統和產品含有特定的硬件器件和功能模塊,顯然這些系統是多種類、嵌入式的。嵌入式的軟/硬件設計是一項復雜工作,為了滿足系統的可靠性、運行效果、內存受限等要求,嵌入式系統除了需要實現功能需求外,非功能性的約束(Non-functional constraints)也是非常重要的。非功能性約束包括實時性、程序性能、穩定性、可靠性、安全性、內存限制、存儲空間限制等[1-2]。對于非功能性約束的考慮方法可以分為兩大類:面向過程(process-oriented)的方法和面向產品的方法(product-oriented)。面向過程的方法,指使用非功能性約束信息指導軟件的開發過程。面向產品的方法,指在組件內部描述非功能性約束信息,并檢查組件構成的產品的非功能性約束信息判斷軟件是否滿足要求的非功能性約束。本文中使用面向產品的方法對嵌入式組件模型SECOM(Simple Embedded Component Object Model)的非功能性約束進行分析,在組件內部采用Petri網方法描述非功能性約束信息。
1 時間Petri網
  Petri網是一種可用圖形表示的組合模型,具有直觀、易懂和易用的優點,可用于模擬帶有并發性、異步性、分布式、非確定性、并行性等特性的系統。而用時間Petri網[3-4](簡稱時間網TPN)建立系統的動態模型,可進一步將系統中事件從發生到結束所需的時間描述出來。
  時間網TPN中表示事件的持續時間的方法有兩種:一種是將各事件的持續時間標在庫所的旁邊,表示庫所中產生的托肯要經過一定的時間后才能參與網中的運行;另一種方法是將時間標注在變遷的旁邊,表示當該變遷具有發生條件時要延遲一段時間后才能發生,或該變遷發生后,立即從相應的輸入庫所中移走相應的托肯,但要延遲一段時間后才在相應的輸出庫所中產生相應的托肯[5-6]。在下面的時間P/T網定義中采用的是后一種方法。
  定義1:當某一變遷的發生條件滿足時,若該變遷要延遲一段時間后才從相應的輸入庫所中移走相應的托肯并得到發生后果,或該變遷發生后,立即從相應的輸入庫所中移走相應的托肯,但要延遲一段時間后才得到發生后果,則稱這樣的變遷為時間變遷。
  定義2:當某一變遷的發生條件滿足時,若該變遷立即從相應的輸入庫所中移走相應的托肯,且立即得到發生后果,則稱這樣的變遷為立即變遷。
  在時間P/T網的圖形表示中約定,用矩形框表示時間變遷,用黑線表示立即變遷。下面是時間P/T網模型的形式化定義。
  

  根據延遲時間是一個固定值還是一個區間值,TPN還可分為固定延遲時間P/T網和不固定延遲時間P/T網。在固定延遲時間P/T網中,對于任意的變遷t∈T1,都有一個非負的實數r與之相對應,使得變遷t的延遲時間為r。在不固定延遲時間P/T網中,對于任意的變遷t∈T1,都有一個對偶[Bcet,Wcet]與之相對應(Bcet≥0,Wcet≥0),使得若在a時,t的發生條件成立,則t可在時間區間[a+Bcet,a+Wcet]內執行,即t有效時,其相應的輸入庫所中的托肯將至少保留Bcet s,直至(a+Wcet) s時才移出,或t有效時,其相應的輸入庫所中的托肯立即移出,但將至少保持Bcet s,直至(a+Wcet) s時才產生后繼標識,本文中將采用第一種方式。
2 SECOM組件模型
  基于嵌入式系統高度可裁剪性、資源受限的特點和對當前現狀的分析[6],本文給出一種新的、基于源代碼復用的、精簡的嵌入式組件模型SECOM。該組件模型包含以下元素:
  (1)瘦組件:SECOM組件是設計、開發、重用的單元,是程序的基本組成塊,是在完成基本功能前提下的極小化,所以稱之為“瘦組件”。組件與接口相互獨立,是接口功能的具體實現者。組件之間通過接口通信,互相協作完成軟件功能。組件的定義是可遞歸的。
  (2)簡接口:接口用來定義功能函數,是一組相關函數的集合,分離了瘦組件的定義與實現,徹底消除了接口調用者和實現者之間的耦合關系,增強了信息封裝性。接口具有唯一性、不變性、繼承性和多態性。同一接口在不同組件內有不同的實現方式。接口分為兩類:①服務接口(Provide Interface),接口所在組件已經實現了此接口類型的功能,可以向組件外部提供服務;②請求接口(Require Interface),接口所在組件內沒有實現此接口的功能,組件需要向外部請求此接口的實現。
  (3)靈敏橋接器:橋接器完成接口之間的連接。根據現有條件的不同,采取不同的連接模式。連接模式有:直接連接(connecting),選擇連接(selecting)和代碼塊粘連(gluing)。接口之間的消息交換是通過一個橋接器連接兩個或更多的接口實例來實現[7-9]。組件模型類圖如圖1所示。

?


3 建模實時分析
  嵌入式系統通常都是強實時性的,為了對實時性更有效地建模和分析,首先建立一個如圖2所示的TPN計時器timer,其中T1是一個時間變遷,延遲時間是一個固定值r,且r=Wcet。經過時間r s后,P01中的托肯才會移出,P02中則會出現托肯;否則,當小于時間r,并且有其他條件滿足時,finish變遷會發生。


  下面對SECOM組件模型進行實時建模分析。圖3中圓圈表示組件狀態,timer是前面利用TPN建立的計時器。其中M0={1,0,0,0,…}是初始標識;P={P1,P2,…,P3,P4,P5}是一個有限庫所集;P1:接收其他組件訪問該組件的一個請求require;P2:該組件處于連接和開始工作狀態;P3:該組件處于工作結束狀態;P4:請求得到響應后返回成功信息;P5:請求得不到響應,返回錯誤信息。


  T={t1,t2,t3,t4}是一個有限變遷集,t1:請求P1經過變遷t1連接要訪問的組件,同時激發計時器timer開始計時;t2:這是一個時間變遷,延遲時間是一個區間值[Bcet,Wcet],至少經過時間Bcet s,P2中的托肯才會移出,則P3中經過至少Bcet s時間才會出現托肯;t3:當t2的變遷時間小于等于Wcet時間時,庫所P3和計時器中的庫所P01都擁有托肯,則變遷t3的發生條件滿足,即t3變遷發生,返回結果;t4:當t2的變遷時間大于Wcet時間時,計時器中的P02中擁有托肯,則變遷t4會發生,返回失敗消息。
  以上是對一個基本組件的實時建模。從P1狀態經過P2和P3到達P4狀態,表明了該組件從收到請求、建立連接開始工作到結束工作,返回成功信息。而從P1狀態不經過P2和P3到達P5狀態,則說明請求未能得到滿足,返回錯誤信息。在SECOM模型中,t2變遷發生的時間處于[Bcet,Wcet]區間,從而說明該組件模型滿足實時性的要求。
  當訪問一個不太復雜的復合組件時,有些訪問子組件步驟之間會出現順序問題,即會出現同步問題,因而需采取措施防止沖突發生。所采取的措施為:在兩個請求之間加入一個控制庫所P00,由它來控制訪問的次序。從P11到t21的虛邊體現了require1比require2有優先權:非空的P11阻止了t21的點火,其Petri網模型如圖4所示。

?


  對復合組件的分析,比較簡單的方法就是將每一個子組件作為一個子網連接起來,循環執行。當訪問一個非常復雜的復合組件、甚至整個系統時,調度任務繁瑣,可以考慮引進一個單獨的調度決策,由它完成對所有子組件的調度。
  本文根據嵌入式系統的特點及其應用需求,設計了一種新的、簡單的嵌入式組件模型SECOM,給出了模型的基本組成元素。同時,引入了時間Petri網,并使用時間Petri網TPN,建立了一個TPN計時器timer,利用其對該組件模型SECOM非功能性約束中的實時性進行建模與分析,從而形式化地驗證了該組件具有很好的實時性。


參考文獻
[1] HUMMET T,FENGLER W.Design of embedded control?systems using hybrid Petri nets.The International Workshop?on Discrete-Event System Design,DESDes′01,June27-29,2001 Przytok near Zielona Gora,Poland
[2] Thomas Thomas GenBler,Oscar Nierstrasz,Bastiaan Schonhage.Components for embedded software[J].CASES 2002,10.

[3] Time Petri Nets.www.daimi.au.dk/PetriNets.
[4] Berthomieu B,Diaz M.Modeling and veri_cation of time?dependent systems using time petri nets.IEEE Trans.Software Eng,1991,17:259-273.
[5] 袁崇義.Petri網原理.北京:電子工業出版社,1998.

[6] CAI X,Michael R.Lyu,WONG Kam Fai.Component-based embedded software engineering: development framework,?quality assurance and a generic assessment environment[J].International Journal of Software Engineering and Knowledge Engineering,2002,2(12):107-133.
[7] Rob van Ommering,Frank van de Linden.The Koala Component Model for Consumer Electronics Software[J].IEEE,2000:78-85.
[8] Wolfgang Emmerich,Nima Kaveh.Component technologies:java beans, COM, CORBA,RMI, EJB and the CORBA?
Component Model[J].ACM2001:311-312.
[9] L.Fernando Friedrich,John Stankovic.A survey configurable component-based operating systems for embedded?applications[J].IEEE,2001(1):54-68.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日韩a在线看免费观看视频 日韩h片 | 欧美精品亚洲精品日韩专区va | 亚洲高清国产品国语在线观看 | 免费成年人在线视频 | 国产99免费视频 | 日韩a在线| 中文字幕人成乱码在线观看 | 日日日插插插 | 亚洲欧美久久一区二区 | 91精品国产品国语在线不卡 | 成人特黄午夜性a一级毛片 成人网18免费软件 成人网免费 | 午夜一级毛片 | 怡红院美国十次成人影院 | 欧美综合区 | 久久国产成人精品国产成人亚洲 | 欧美一二三区视频 | 毛片免费在线视频 | 九九色综合网 | 亚洲欧洲视频在线观看 | 国产91精品一区二区视色 | 午夜操操操 | 欧美高清视频手机在在线 | 国产1024观看免费视频 | 性网站免费| 中文字幕人成乱码在线观看 | 久久福利 | 无遮挡免费视频 | aiai888永久免费视频 | 亚洲精品无码不卡在线播放he | 成人在线免费视频观看 | 欧美色欧美亚洲高清图片 | 欧美日本三级 | 午夜久久网 | 91国自产精品中文字幕亚洲 | 天天操狠狠操夜夜操 | 成人免费毛片观看 | 国产综合精品在线 | 欧美一级在线看 | 制服丝袜在线一区 | 午夜亚洲一区 | 久久免费成人 |