- 相關(guān)推薦
CODARTS建模方法在嵌入式軟件開(kāi)發(fā)中的應(yīng)用
摘要:嵌入式系統(tǒng)的工作環(huán)境基礎(chǔ)上都是并發(fā)和實(shí)時(shí)的。隨著應(yīng)用需求的增長(zhǎng),嵌入式系統(tǒng)軟件不得不變得越來(lái)越復(fù)雜,越來(lái)越龐大。CODARTS方法融入了COBRA方法和DARTS方法的優(yōu)點(diǎn),提出了針對(duì)并發(fā)和實(shí)時(shí)系統(tǒng)軟件的設(shè)計(jì)方法,為嵌入式軟件開(kāi)發(fā)工作提供了一條捷徑。本文結(jié)合實(shí)時(shí)檢測(cè)系統(tǒng)的具體應(yīng)用,簡(jiǎn)要介紹CODARTS的實(shí)際開(kāi)發(fā)過(guò)程。隨著半導(dǎo)體制造行業(yè)的迅速發(fā)展,微處理器的價(jià)格在實(shí)際性能大幅度提升的同時(shí)卻在大幅度降低,使得基于嵌入式處理器和微型計(jì)算機(jī)系統(tǒng)的實(shí)時(shí)多任務(wù)系統(tǒng)成為解決諸多應(yīng)用問(wèn)題的一種高效率、低成本的有效方案。目前,囊括工業(yè)、消費(fèi)電子、醫(yī)療、軍事等許多方面的產(chǎn)品都是基于嵌入式系統(tǒng)的。隨著應(yīng)用需求的日益增長(zhǎng),嵌入式系統(tǒng)的功能越來(lái)越強(qiáng)大,系統(tǒng)體系結(jié)構(gòu)越來(lái)越復(fù)雜,對(duì)系統(tǒng)軟件的要求也很自然的“水漲船高”。由于多數(shù)嵌入式系統(tǒng)工作在并發(fā)性和實(shí)時(shí)性要求較高的場(chǎng)合,因此,并發(fā)和實(shí)時(shí)嵌入式系統(tǒng)軟件設(shè)計(jì)面臨著巨大的挑戰(zhàn)。國(guó)內(nèi)外許多專用人士結(jié)合嵌入式軟件開(kāi)發(fā)的實(shí)踐經(jīng)驗(yàn),針對(duì)嵌入式系統(tǒng)軟件開(kāi)發(fā)的特點(diǎn)提出了許多有效的解決辦法,本文所介紹的CODARTS建模方法就是其中的一種。
1 CODARTS方法概述
CODARTS(Concurrent Design Approach for Real-Time System)方法源自20世紀(jì)80年代初,是在解決工業(yè)機(jī)器人控制系統(tǒng)問(wèn)題中產(chǎn)生的。其前身為DARTS(實(shí)時(shí)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)方法),后來(lái)為了解決分布式實(shí)時(shí)應(yīng)用程序的需要,融入了采用狀態(tài)轉(zhuǎn)換圖對(duì)系統(tǒng)行為特征建模等方法,逐步演化成為CODARTS建模方法。
CODARTS方法是一種通用的設(shè)計(jì)方法。它借鑒了COBRA(Concurrent Object Based Real-time Analysis)方法對(duì)系統(tǒng)進(jìn)行分析建模的思想,強(qiáng)調(diào)將系統(tǒng)分解為多個(gè)子系統(tǒng),并將子系統(tǒng)定義為一組由若干對(duì)象和功能支持的服務(wù)。在系統(tǒng)劃分完成后,CODARTS使用DARTS方法將任務(wù)結(jié)構(gòu)化作為工作重點(diǎn),提供了任務(wù)結(jié)構(gòu)化標(biāo)準(zhǔn)幫助確定并發(fā)任務(wù)、任務(wù)間接口,使用事件序列圖對(duì)整個(gè)系統(tǒng)建模,并支持設(shè)計(jì)方案的性能分析和軟件的增量式開(kāi)發(fā)。
CODARTS方法建模的主要步驟如下:
①開(kāi)發(fā)系統(tǒng)的環(huán)境模型和行為模型,使用COBRA方法對(duì)問(wèn)題域進(jìn)行分析和建模。COBRA方法為依據(jù)系統(tǒng)環(huán)境圖開(kāi)發(fā)環(huán)境模型提供了系統(tǒng)分解策略。采用COBRA方法將系統(tǒng)分解成為若干子系統(tǒng),并且確定子系統(tǒng)中對(duì)象和功能以及它們?cè)谕馐录蛄袌?chǎng)景 下進(jìn)行交互的方式。
②應(yīng)用任務(wù)結(jié)構(gòu)化標(biāo)準(zhǔn)確定系統(tǒng)(或子系統(tǒng))中的并發(fā)任務(wù),主要內(nèi)容包括并發(fā)任務(wù)的確定、任務(wù)間通信以及同步接口的確定。
③應(yīng)用模塊結(jié)構(gòu)化標(biāo)準(zhǔn)確定系統(tǒng)中的信息隱藏模塊。信息隱藏模塊的思想為盡可能地減少或消除全局變量,把有可能發(fā)生的變化信息封裝在一個(gè)模塊內(nèi)容。
④根據(jù)任務(wù)劃分和信息隱藏模塊劃分構(gòu)建軟件構(gòu)架。
⑤定義組建接口規(guī)范、以增量方式開(kāi)發(fā)軟件。
2 CODARTS應(yīng)用
下面結(jié)合實(shí)例介紹如何在具體應(yīng)用中使用CODARTS進(jìn)行系統(tǒng)分析和建模。
(1)問(wèn)題域簡(jiǎn)要描述
某廠自動(dòng)化產(chǎn)品檢測(cè)生產(chǎn)線要求具備的功能是,通過(guò)對(duì)該產(chǎn)品在各種工作狀態(tài)中的電壓、電流、壓力、溫度等參數(shù)的檢測(cè)來(lái)判斷該產(chǎn)品的生產(chǎn)合格情況。其中的智能檢測(cè)模塊為主要設(shè)計(jì)內(nèi)容。該檢測(cè)模塊具有可配置的多通路檢測(cè);能夠和上位PC通過(guò)RS485進(jìn)行通信,根據(jù)PC的指令或者本地鍵盤輸入的指令進(jìn)行系統(tǒng)運(yùn)行控制、配置參數(shù)設(shè)定、采樣結(jié)果上傳等;能夠支持本地LCD界面顯示;根據(jù)指令完成手動(dòng)或者實(shí)時(shí)自動(dòng)(按照系統(tǒng)設(shè)定時(shí)鐘間隔)參數(shù)采樣和結(jié)果顯示;能夠自動(dòng)進(jìn)行抗干擾軟件處理。
(2)處理環(huán)境圖
CODARTS方法使用COBRA方法開(kāi)發(fā)系統(tǒng)環(huán)境模型。系統(tǒng)環(huán)境模型描述了系統(tǒng)運(yùn)行時(shí)所處的外部客觀環(huán)境,包括系統(tǒng)的輸入和輸出。其關(guān)鍵問(wèn)題是確定與系統(tǒng)之間存在接口的外部實(shí)體——終端。終端通常代表數(shù)據(jù)源或數(shù)字接收者或兩者的結(jié)合。判斷終端的標(biāo)準(zhǔn)通常是觀察外部實(shí)體是否直接與系統(tǒng)連接。根據(jù)問(wèn)題域的描述,系統(tǒng)外部環(huán)境由上位PC、系統(tǒng)時(shí)鐘、電源監(jiān)控、各種工作參數(shù)傳器、本地鍵盤、本地LCD和工作區(qū)解發(fā)開(kāi)關(guān)組成。由圖1可見(jiàn),系統(tǒng)環(huán)境外部實(shí)體均為真實(shí)環(huán)境中的外部I/O設(shè)備。
(3)子系統(tǒng)環(huán)境圖
通常所開(kāi)發(fā)的系統(tǒng)都是復(fù)雜的,所以COBRA要求將系統(tǒng)分解成為子系統(tǒng),各個(gè)子系統(tǒng)之間應(yīng)該是相對(duì)獨(dú)立的和松散耦合的。子系統(tǒng)內(nèi)部要求具有較強(qiáng)的內(nèi)聚性,并且要求合理定義子系統(tǒng)之間的接口,這樣子系統(tǒng)可以獨(dú)立進(jìn)行設(shè)計(jì)。子系統(tǒng)劃分原則:①子系統(tǒng)可以由一個(gè)或多個(gè)功能緊密聯(lián)系的對(duì)象構(gòu)成;②外部實(shí)體僅與一個(gè)子系統(tǒng)存在接口;③數(shù)據(jù)存儲(chǔ)應(yīng)該封裝在一個(gè)子系統(tǒng)中;④一個(gè)控制對(duì)象應(yīng)該構(gòu)成一個(gè)子系統(tǒng)。按照上面的標(biāo)準(zhǔn),結(jié)合系統(tǒng)環(huán)境圖進(jìn)行分解可以得到子系統(tǒng)環(huán)境圖,如圖2所示。
系統(tǒng)分解為系統(tǒng)控制和檢測(cè)兩個(gè)子系統(tǒng)。這兩個(gè)子系統(tǒng)之間的接口有兩個(gè),分別是啟動(dòng)檢測(cè)事件和檢測(cè)結(jié)果。
(4)建立系統(tǒng)行為模型
行為模型是指描述系統(tǒng)在外部環(huán)境輸入的作用下的響應(yīng)。通常,系統(tǒng)的響應(yīng)是基于系統(tǒng)狀態(tài)的,因此,要用狀態(tài)/數(shù)據(jù)轉(zhuǎn)換圖作為描述系統(tǒng)行為的方法是十分直觀和有效的。圖2中“系統(tǒng)控制”子系統(tǒng)通過(guò)控制轉(zhuǎn)化圖進(jìn)行行為建模,如圖3所示。
從圖3中可以看到,“系統(tǒng)控制”子系統(tǒng)的狀態(tài)轉(zhuǎn)化均是基于外部環(huán)境事件和系統(tǒng)內(nèi)部事件觸發(fā)而產(chǎn)生的。因此在開(kāi)發(fā)了控制狀態(tài)轉(zhuǎn)換圖之后,設(shè)計(jì)人員需要考慮來(lái)自外部環(huán)境的輸入,即開(kāi)發(fā)場(chǎng)景。每個(gè)場(chǎng)景都是由若干外部事件的序列組成的。采用不同場(chǎng)景作為輸入,可以很好地驗(yàn)證系統(tǒng)控制狀態(tài)轉(zhuǎn)換的正確性。
(5)劃分對(duì)象、確定相應(yīng)功能
對(duì)象和功能是系統(tǒng)中最
【CODARTS建模方法在嵌入式軟件開(kāi)發(fā)中的應(yīng)用】相關(guān)文章:
目標(biāo)規(guī)劃及其在經(jīng)濟(jì)中的應(yīng)用05-11
氣管插管在院前急救中的應(yīng)用05-29
Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應(yīng)用06-04
數(shù)學(xué)建模論文模板07-22
數(shù)學(xué)建模論文模板07-22
精益生產(chǎn)在企業(yè)管理中的應(yīng)用05-26