王海珍
摘要:將UML狀態(tài)機(jī)以及框架技術(shù)應(yīng)用到嵌入式系統(tǒng)當(dāng)中,不僅可以提高系統(tǒng)的開發(fā)效率,同時(shí)還可以確保系統(tǒng)運(yùn)行的可靠性。與傳統(tǒng)的有限狀態(tài)機(jī)相比,UML狀態(tài)機(jī)描述出來的嵌入式系統(tǒng)體現(xiàn)出了圖形可視、邏輯通順以及結(jié)構(gòu)清晰等特征。本文以Quantum Platform框架為例,展開了嵌入式系統(tǒng)的相關(guān)應(yīng)用分析。
關(guān)鍵詞:嵌入式系統(tǒng);UML狀態(tài)機(jī);框架技術(shù)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)02-0179-01
由于科學(xué)技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的研發(fā)有了很大的進(jìn)步,不僅將UML狀態(tài)機(jī)融入到其中,而且在研發(fā)中還融入了框架技術(shù)[1]。然而這些技術(shù)都是在前人取得的成果基礎(chǔ)上進(jìn)行改進(jìn)而獲取,如何將其更好的應(yīng)用到嵌入式系統(tǒng)開發(fā)中,成為了該領(lǐng)域研究人員的主要研究?jī)?nèi)容,本文針對(duì)這一問題展開了相關(guān)分析。
1 UML狀態(tài)機(jī)在嵌入式系統(tǒng)中的應(yīng)用分析
在運(yùn)用UML狀態(tài)機(jī)進(jìn)行嵌入式系統(tǒng)開發(fā)時(shí),通常情況下采用事件驅(qū)動(dòng)型設(shè)計(jì),該類設(shè)計(jì)系統(tǒng)也可以稱作Reactive Systems[2]。系統(tǒng)在運(yùn)行的過程中,大部分時(shí)間處于等待狀態(tài),當(dāng)外部某一個(gè)數(shù)據(jù)包、鼠標(biāo)擊鍵、時(shí)間片、按鍵等事件發(fā)生時(shí),才會(huì)轉(zhuǎn)為識(shí)別狀態(tài),同時(shí)系統(tǒng)會(huì)按照預(yù)設(shè)行為做出相應(yīng)的響應(yīng),當(dāng)事件處理完畢以后會(huì)立即返回至等待狀態(tài)。
這種新型的嵌入式系統(tǒng)與傳統(tǒng)系統(tǒng)在開發(fā)編程思維方法存在很大的差異,在等待事件來臨時(shí)不需要占據(jù)系統(tǒng)資源,如果有事件發(fā)生,在很短的時(shí)間內(nèi)就會(huì)做出相應(yīng)識(shí)別與響應(yīng)處理,當(dāng)所有事件處理完畢以后,重新回到等待狀態(tài)[3]。該系統(tǒng)處理事件不會(huì)受到時(shí)間以及時(shí)序的限制,在短時(shí)間內(nèi)可以對(duì)多種并行事件做出響應(yīng)。
該系統(tǒng)在事件進(jìn)行處理時(shí),主要具有以下3個(gè)方面的特征:(1)事件驅(qū)動(dòng)型嵌入式系統(tǒng)主要包括兩個(gè)方面的應(yīng)用,其中一方面應(yīng)用于所有特定事件的處理,另一方面用于上層事件驅(qū)動(dòng)基本框架的處理,其中包括全部事件的申請(qǐng)、定義、分發(fā)以及管理等。(2)該系統(tǒng)的邏輯控制實(shí)現(xiàn)的依據(jù)為上層事件驅(qū)動(dòng)基本框架,從事件處理應(yīng)用的角度來對(duì)系統(tǒng)進(jìn)行分析可知,該系統(tǒng)實(shí)現(xiàn)了反邏輯控制,也就是說該系統(tǒng)只對(duì)一些特定響應(yīng)做出處理,而調(diào)度控制主要由基礎(chǔ)框架來負(fù)責(zé)。(3)完成事件處理應(yīng)用以后,需要釋放控制權(quán),其指針以及內(nèi)部堆棧變量都沒有辦法被外部獲取。此時(shí)可以利用UML狀態(tài)機(jī)的實(shí)體來對(duì)這些信息以及變量進(jìn)行相應(yīng)的維護(hù)操作,其中處理應(yīng)用的事件可以是一個(gè),也可以是多個(gè)。
2 框架技術(shù)在嵌入式系統(tǒng)中的應(yīng)用分析
本文主要針對(duì)Quantum Platform框架的嵌入式系統(tǒng)應(yīng)用展開分析。該框架作為一個(gè)輕量級(jí)的事件驅(qū)動(dòng)應(yīng)用框架,有助于狀態(tài)機(jī)應(yīng)用模型的研發(fā),其中該模型主要利用面向?qū)ο髞碓O(shè)計(jì),不僅可以支持RTOS應(yīng)用,而且還能夠支持大部分處理器的應(yīng)用,目前很多領(lǐng)域都在使用這種嵌入式開發(fā)系統(tǒng)。
Quantum Platform的組件主要由5部分組成:(1)QEP作為嵌入式系統(tǒng)中的事件處理機(jī)制,主要用來調(diào)度UML狀態(tài)機(jī);(2)QF在QEP的基礎(chǔ)上,主要用于事件驅(qū)動(dòng)應(yīng)用框架功能的實(shí)現(xiàn);(3)Kernel是一種自帶輕量級(jí)的應(yīng)用框架,可以為傳統(tǒng)的OS/RTOS/Kernel提供相應(yīng)的支持;(4)QS起到一定的輔助作用,主要用來協(xié)助調(diào)試跟蹤軟件的正常運(yùn)行;(5)除了上述四種組件以外,該框架還包括Porting以及BSP文件,同時(shí)為所有種類的主流硬件平臺(tái)提供了相應(yīng)的移植范例。
為了對(duì)框架技術(shù)在嵌入式系統(tǒng)中的應(yīng)用進(jìn)行更加深入的分析,筆者在其基礎(chǔ)上提出了一種新型框架結(jié)構(gòu),該框架的注冊(cè)名為QPnanoTM,屬于一種輕量級(jí)框架,主要應(yīng)用于UML狀態(tài)機(jī)的ROM以及RAM中,其中涉及的單片機(jī)主要有AVR、8501、MSP430等,對(duì)應(yīng)的位數(shù)可以是8位,也可以是16位。
實(shí)踐證明,該系統(tǒng)有助于UML狀態(tài)機(jī)圖形化建模,不僅如此,該系統(tǒng)還可以為QF框架以及對(duì)應(yīng)生成的代碼體統(tǒng)技術(shù)方面的支持,除此之外,內(nèi)嵌QS模塊的調(diào)試與跟蹤都需要利用該系統(tǒng)來實(shí)現(xiàn),而且QK組件的運(yùn)行也離不開該系統(tǒng)。這樣一種開發(fā)方式不僅有助于系統(tǒng)功能的分析,同時(shí)還有助于軟件與硬件的協(xié)同開發(fā), 為開發(fā)平臺(tái)提供了相應(yīng)的移植文件,從而在一定程度上減少了開發(fā)工作量。
除此之外,該框架采用的制度為雙授權(quán)制度,不僅能夠?yàn)镚PL V2提供相應(yīng)的授權(quán),同時(shí)還能夠?yàn)樯虡I(yè)提供相應(yīng)的授權(quán),這樣有助于代碼的編寫,而且還為商業(yè)用戶的開發(fā)應(yīng)用提供了便利條件。
3 結(jié)語(yǔ)
由于計(jì)算機(jī)技術(shù)發(fā)展迅速,加大了系統(tǒng)開發(fā)的復(fù)雜度,所有系統(tǒng)的開發(fā)都需要分工合作與復(fù)用,嵌入式系統(tǒng)的開發(fā)也是如此。目前嵌入式開發(fā)系統(tǒng)在軟件開發(fā)復(fù)用方面的技術(shù)比較落后,大部分開發(fā)人員的知識(shí)仍然停留在傳統(tǒng)層面上,缺乏創(chuàng)新性。本文討論該系統(tǒng)中的UML狀態(tài)機(jī)以及框架技術(shù)雖然有助于系統(tǒng)的開發(fā),但是其可靠程度還未可知,希望在今后的研究當(dāng)中可以加深對(duì)該系統(tǒng)的研究。
參考文獻(xiàn)
[1]樓偉剛.UML狀態(tài)機(jī)與框架技術(shù)在嵌入式系統(tǒng)中的應(yīng)用[J].軟件導(dǎo)刊,2014(5):49-50.
[2]余存,黃利軍,黃浩然,等.基于UML狀態(tài)圖和Qt狀態(tài)機(jī)框架的IEC104規(guī)約的分析與實(shí)現(xiàn)[J].電力系統(tǒng)保護(hù)與控制,2015(15):118-125.
[3]侯敏,宋文鵬,王泊涵,王新冶.UML狀態(tài)機(jī)模型形式化驗(yàn)證技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(9):3460-3464.