|
北京培訓嵌入式的機構_CODARTS建模方法在嵌入式軟件開發(fā)中的應用,
摘要:嵌入式系統(tǒng)的工作環(huán)境基礎上都是并發(fā)和實時的。隨著應用需求的增長,嵌入式系統(tǒng)軟件不得不變得越來越復雜,越來越龐大。CODARTS方法融入了 COBRA方法和DARTS方法的優(yōu)點,提出了針對并發(fā)和實時系統(tǒng)軟件的設計方法,為嵌入式軟件開發(fā)工作提供了一條捷徑。本文結合實時檢測系統(tǒng)的具體應用,簡要介紹CODARTS的實際開發(fā)過程。 關鍵詞:嵌入式系統(tǒng) CODARTS 并發(fā)性 實時性 隨著半導體制造行業(yè)的迅速發(fā)展,微處理器的價格在實際性能大幅度提升的同時卻在大幅度降低,使得基于嵌入式處理器和微型計算機系統(tǒng)的實時多任務系統(tǒng)成為解決諸多應用問題的一種高效率、低成本的有效方案。目前,囊括工業(yè)、消費電子、醫(yī)療、軍事等許多方面的產品都是基于嵌入式系統(tǒng)的。隨著應用需求的日益增長,嵌入式系統(tǒng)的功能越來越強大,系統(tǒng)體系結構越來越復雜,對系統(tǒng)軟件的要求也很自然的“水漲船高”。由于多數(shù)嵌入式系統(tǒng)工作在并發(fā)性和實時性要求較高的場合,因此,并發(fā)和實時嵌入式系統(tǒng)軟件設計面臨著巨大的挑戰(zhàn)。國內外許多專用人士結合嵌入式軟件開發(fā)的實踐經驗,針對嵌入式系統(tǒng)軟件開發(fā)的特點提出了許多有效的解決辦法,本文所介紹的CODARTS建模方法就是其中的一種。 1 CODARTS方法概述 CODARTS(Concurrent Design Approach for Real-Time System)方法源自20世紀80年代初,是在解決工業(yè)機器人控制系統(tǒng)問題中產生的。其前身為DARTS(實時系統(tǒng)結構設計方法),后來為了解決分布式實時應用程序的需要,融入了采用狀態(tài)轉換圖對系統(tǒng)行為特征建模等方法,逐步演化成為CODARTS建模方法。 CODARTS方法是一種通用的設計方法。它借鑒了COBRA(Concurrent Object Based Real-time Analysis)方法對系統(tǒng)進行分析建模的思想,強調將系統(tǒng)分解為多個子系統(tǒng),并將子系統(tǒng)定義為一組由若干對象和功能支持的服務。在系統(tǒng)劃分完成后,CODARTS使用DARTS方法將任務結構化作為工作重點,提供了任務結構化標準幫助確定并發(fā)任務、任務間接口,使用事件序列圖對整個系統(tǒng)建模,并支持設計方案的性能分析和軟件的增量式開發(fā)。
CODARTS方法建模的主要步驟如下: ①開發(fā)系統(tǒng)的環(huán)境模型和行為模型,使用COBRA方法對問題域進行分析和建模。COBRA方法為依據(jù)系統(tǒng)環(huán)境圖開發(fā)環(huán)境模型提供了系統(tǒng)分解策略。采用 COBRA方法將系統(tǒng)分解成為若干子系統(tǒng),并且確定子系統(tǒng)中對象和功能以及它們在外事件序列場景 下進行交互的方式。 ②應用任務結構化標準確定系統(tǒng)(或子系統(tǒng))中的并發(fā)任務,主要內容包括并發(fā)任務的確定、任務間通信以及同步接口的確定。 ③應用模塊結構化標準確定系統(tǒng)中的信息隱藏模塊。信息隱藏模塊的思想為盡可能地減少或消除全局變量,把有可能發(fā)生的變化信息封裝在一個模塊內容。 ④根據(jù)任務劃分和信息隱藏模塊劃分構建軟件構架。 ⑤定義組建接口規(guī)范、以增量方式開發(fā)軟件。 2 CODARTS應用 下面結合實例介紹如何在具體應用中使用CODARTS進行系統(tǒng)分析和建模。 (1)問題域簡要描述 某廠自動化產品檢測生產線要求具備的功能是,通過對該產品在各種工作狀態(tài)中的電壓、電流、壓力、溫度等參數(shù)的檢測來判斷該產品的生產合格情況。其中的智能檢測模塊為主要設計內容。該檢測模塊具有可配置的多通路檢測;能夠和上位PC通過RS485進行通信,根據(jù)PC的指令或者本地鍵盤輸入的指令進行系統(tǒng)運行控制、配置參數(shù)設定、采樣結果上傳等;能夠支持本地LCD界面顯示;根據(jù)指令完成手動或者實時自動(按照系統(tǒng)設定時鐘間隔)參數(shù)采樣和結果顯示;能夠自動進行抗干擾軟件處理。 (2)處理環(huán)境圖 CODARTS方法使用COBRA方法開發(fā)系統(tǒng)環(huán)境模型。系統(tǒng)環(huán)境模型描述了系統(tǒng)運行時所處的外部客觀環(huán)境,包括系統(tǒng)的輸入和輸出。其關鍵問題是確定與系統(tǒng)之間存在接口的外部實體——終端。終端通常代表數(shù)據(jù)源或數(shù)字接收者或兩者的結合。判斷終端的標準通常是觀察外部實體是否直接與系統(tǒng)連接。根據(jù)問題域的描述,系統(tǒng)外部環(huán)境由上位PC、系統(tǒng)時鐘、電源監(jiān)控、各種工作參數(shù)傳器、本地鍵盤、本地LCD和工作區(qū)解發(fā)開關組成。由圖1可見,系統(tǒng)環(huán)境外部實體均為真實環(huán)境中的外部I/O設備。 (3)子系統(tǒng)環(huán)境圖 通常所開發(fā)的系統(tǒng)都是復雜的,所以COBRA要求將系統(tǒng)分解成為子系統(tǒng),各個子系統(tǒng)之間應該是相對獨立的和松散耦合的。子系統(tǒng)內部要求具有較強的內聚性,并且要求合理定義子系統(tǒng)之間的接口,這樣子系統(tǒng)可以獨立進行設計。子系統(tǒng)劃分原則:①子系統(tǒng)可以由一個或多個功能緊密聯(lián)系的對象構成;②外部實體僅與一個子系統(tǒng)存在接口;③數(shù)據(jù)存儲應該封裝在一個子系統(tǒng)中;④一個控制對象應該構成一個子系統(tǒng)。按照上面的標準,結合系統(tǒng)環(huán)境圖進行分解可以得到子系統(tǒng)環(huán)境圖,如圖2所示。嵌入式靈樹小波, 半導體嵌入式基板, plc還是嵌入式, 嵌入式成本利潤率, 嵌入式設備樹, 假期嵌入式培訓, 嵌嵌入式視頻教程, 嵌入式軟件接口類型, 單片機嵌入式培訓班, 嵌入式麥克開孔, 嵌入式系統(tǒng)結構形式, 嵌入式按鍵程序, 嵌入式軟件有外包嗎, 嵌入式qt觸摸, 嵌入式操作系統(tǒng)通信, it嵌入式工資, 學嵌入式的視頻, 嵌入式螺母2.5, 嵌入式手機英偉達, 嵌入式路由器缺點, 嵌入式與應用開發(fā), 昆山嵌入式傳遞窗, 自學怎么學好嵌入式,
系統(tǒng)分解為系統(tǒng)控制和檢測兩個子系統(tǒng)。這兩個子系統(tǒng)之間的接口有兩個,分別是啟動檢測事件和檢測結果。 (4)建立系統(tǒng)行為模型 行為模型是指描述系統(tǒng)在外部環(huán)境輸入的作用下的響應。通常,系統(tǒng)的響應是基于系統(tǒng)狀態(tài)的,因此,要用狀態(tài)/數(shù)據(jù)轉換圖作為描述系統(tǒng)行為的方法是十分直觀和有效的。圖2中“系統(tǒng)控制”子系統(tǒng)通過控制轉化圖進行行為建模,如圖3所示。 從圖3中可以看到,“系統(tǒng)控制”子系統(tǒng)的狀態(tài)轉化均是基于外部環(huán)境事件和系統(tǒng)內部事件觸發(fā)而產生的。因此在開發(fā)了控制狀態(tài)轉換圖之后,設計人員需要考慮來自外部環(huán)境的輸入,即開發(fā)場景。每個場景都是由若干外部事件的序列組成的。采用不同場景作為輸入,可以很好地驗證系統(tǒng)控制狀態(tài)轉換的正確性。 (5)劃分對象、確定相應功能 對象和功能是系統(tǒng)中最小的具有并發(fā)性的組成成分。將子系統(tǒng)進一步細化成對象和功能,先要確定問題域中的對象,然后確定與這些對象進行交互的功能。 COBRA建模標準規(guī)定了以下幾個標準的對象:外中設備I/O對象、用戶角色對象、控制對象、數(shù)據(jù)抽象對象和算法對象。按照這個劃分標準,實時檢測系統(tǒng)具有電源監(jiān)控I/O對象、時鐘對象、4個參數(shù)檢測I/O對象、LCD顯示I/O對象和上位PC對象;同時具有本地鍵盤角色對象、系統(tǒng)控制對象、檢測控制對象、抗干擾濾波算法對象。數(shù)據(jù)抽象對象則有檢測通道配置參數(shù)對象和參數(shù)檢測結構對象。 (6)任務結構化 嵌入式系統(tǒng)多為并發(fā)系統(tǒng),因此將系統(tǒng)劃分為多個任務可以使系統(tǒng)結構更加清晰,提高系統(tǒng)的執(zhí)行效率,提高任務調度靈活性。CODARTS方法的任務結構化標準可以分為4個主要的類:I/O任務結構化標準、內部任務結構化標準、任務內聚標準和任務優(yōu)先級標準。 I/O任務結構化標準將任務分成:異步I/O設備任務(I/O設備多采用中斷通知系統(tǒng))、定期I/O任務(基于系統(tǒng)時鐘)、資源監(jiān)視任務。由前述分析可以確定:在系統(tǒng)中,手動參數(shù)檢測任務、PC指令處理任務、數(shù)據(jù)上傳任務和參數(shù)設置任務為異步I/O設備任務,自動參數(shù)檢測任務和LCD顯示任務為定期I/O 任務。 內部任務結構化標準同樣將內部任務劃分成為定期任務、異步任務,并增加了控制任務、用戶角色任務。其中系統(tǒng)抗干擾數(shù)字濾波任務屬于定期任務,用戶使用鍵盤進行本地輸入控制屬于用戶角色任務,執(zhí)行控制子系統(tǒng)控制狀態(tài)轉化任務則屬于控制任務。
對于嵌入式系統(tǒng)而言,實時性要求是非常重要的。根據(jù)具體應用情況,通過賦予系統(tǒng)任務不同的優(yōu)先級別,可以提高系統(tǒng)的整體性能,在一定范圍內(一定的硬件平臺基礎上)滿足實時性要求。任務優(yōu)先級標準將任務分成時間關鍵型任務和非時間關鍵計算集中型任務。在本系統(tǒng)中,屬于時間關鍵型任務的有6個,分別是手動參數(shù)檢測任務、PC指令處理任務、數(shù)據(jù)上傳任務、參數(shù)設置任務、自動參數(shù)檢測任務和鍵盤輸入處理及響應。這6個任務各自的優(yōu)先權有所不同。為保證系統(tǒng)采樣的精度,需要以等間隔時間進行采樣,因此具有自動參數(shù)檢測任務高優(yōu)先級,其它5項任務則具有相對較低的任務優(yōu)先權。系統(tǒng)抗干擾數(shù)字濾波任務則屬于典型的非時間關鍵計算集中型任務。 (7)其它 在系統(tǒng)環(huán)境建模、子系統(tǒng)劃分以及任務結構化的基礎上,將進行系統(tǒng)的詳細設計。這包括確定任務具體內容、設計任務間接口標準、信息隱藏模塊設計、關鍵數(shù)據(jù)結構設計等。 結語 CODARTS建模方法結合了COBRA和DARTS方法的優(yōu)點,在實際應用中,采用將并發(fā)任務映射并發(fā)對象的手段對問題域進行分析和建模,汲取了 COBRA的對象結構化標準的優(yōu)勢;同時,采取通過控制/數(shù)據(jù)轉換圖像描述系統(tǒng)行為特片的手段同,來保證系統(tǒng)的并發(fā)與實時性要求。 |
|