ETIMAG

China

Version

No.33

兩岸雜誌| 加入TMEA會員| 產品展覽 | 技術文稿 | 科技叢書 | 發展工具 | 技術研討 | 我要ICRT | 研習課程 | 競技比賽|

 >>| 研習課程線上報名 | e 科技雜誌線上訂閱  |  ETI-NEWS電子報線上訂閱 |  線上購物查詢頻道 | <<

         e科技雜誌-專題論述

VERTAF: 可驗證式嵌入式即時應用軟體框架

 

熊博安、傅日明、沈子詠、林承毅、陳立明、高新傑

 

一、簡介

由於目前嵌入式即時系統的開發技術還不夠成熟,使得軟體工程師往往得使用相當原始的設計方法,並一再而再地重複設計所有的模組,對於系統的驗證,工程師也僅能使用單元測試,無法對系統做出有效的保證。本文提出一種自動化及系統化的整體設計流程,讓設計師能有效率地設計出正確的嵌入式即時系統。在這個自動化的流程中,我們必須分析並解決許多設計上的問題,例如,讓使用者能夠輕鬆地輸入系統規格、重複使用高階化的設計、有效的確保資源上和時間上的限制。

我們所提出的解決辦法整合了三種不同的技術。首先,為了讓系統需求能被模組化並讓使用者輕鬆的輸入系統規格,我們需要物件導向塑模技術來協助。再者,我們需要軟體元件技術,透過整合可重複使用的現有模組來達到自動化設計流程。第三,我們需要正規驗證技術來設計一個滿足所有對於資源及時間方面限制的嵌入式即時系統。我們將這三種技術全部整合至一個應用軟體框架,稱為「可驗證式嵌入式即時應用軟體框架」(Verifiable Embedded Real-Time Application Framework, VERTAF),它能夠用來有效地產生可驗證的嵌入式即時軟體,如此一來可增加設計生產力、減少設計時間與設計錯誤、並產生最佳化的設計。

 


二、VERTAF 主要軟體元件

           圖1描述VERTAF的元件,我們使用工業界標準的語法Unified Modeling Language(UML)來描述,VERTAF是由五個部分所組成:ImplanterModelerSchedulerVerifierGenerator。上述的介紹順序就是它們的使用順序。一般而言,一個使用者可能是這樣使用VERTAF的五個元件的,第一,當工程師要設計一個應用軟體時,工程師首先將使用Implanter元件去新增並確認符合應用軟體需求的物件,同時即時系統和嵌入式系統的特殊性限制也會被加入到應用物件內,之後這些應用物件將經由Modeler元件轉換為一種標準流程模型(standard uniform process model),模型內每一個程序代表一個即時工作,接下來Scheduler會藉由排程演算法去檢查這些工作是否可排程並且對他們進行排程,然後Verifier會藉由檢驗排程後的結果是否滿足設計時要求的即時性和嵌入性限制來證明其可行性和正確性。最後,Generator會根據其他元件所得的結果去產生應用軟體的程式碼。

 

甲、Implanter 元件

           Implanter元件在應用領域物件及VERTAF之間扮演了主要的介面。所謂的應用領域物件是可組成工程師所想要設計的應用軟體的物件。在Implanter中提供一種標準的物件模型,讓所有的嵌入式即時工作都能夠利用這種模型來定義。標準的物件模型就叫做自動時態物件(Autonomous Timed Object, ATO),可以用來描述應用領域物件的規格。ATO具有Port-Based Object (PBO)Time-triggered Message-triggered Object (TMO)的模型特性。ATO的外部介面是採用PBO的標準介面,其內部的函式架構則是衍生自TMO

1.  自動時態物件 (ATO)

           我們所提出的ATO的基本架構列表在圖2。從圖中我們可以知道ATO使用四種類型的埠對外溝通,分別是:設定(configuration)、輸入(in)、輸出(out)及資源(resource)埠。我們可以藉由設定埠來初始化一個ATOATO經由資源埠或計時器來啟動,啟動之後從輸入埠讀入資料、執行相對應的函式並計算結果,然後將結果輸出到輸出埠。由於設計格式具有相當的一般性,因此ATO介面非常適合用來描述嵌入式物件。

ATO之中的函式有兩類,分別是事件驅動函式(Event-Triggered Methods, ETM)及時間驅動函式(Time-Triggered Methods, TTM)ETM是一般常見的傳統物件函式,只有被其他物件呼叫時才會執行。非周期性工作就可視為一種ETM,所以我們可以用ETM來描述非周期性工作的執行。TTM的執行並不需要有任何事件來驅動。TTM一到預定的時間點就會自動執行,所以TTMTMO中又被稱做自發性函式(spontaneous methods)

 

乙、Modeler 元件

           對於ATO模型,我們使用自動時態程序(Autonomous Timed Process, ATP)去定義其動態的行為。一個ATO模型的各個實體都有其配合的ATP,因此,在設計系統時一個ATO可能會有超過一個以上的ATP與之配合使用。一個ATO要和多少ATP配合取決於該ATO有多少個不同行為。

3說明一個基本的ATP可能有的狀態變化。當宣告一個ATO時,相對應的ATP也隨之被建立,之後隨即被初始化並進入圖3中的Instantiated狀態。當一個新的程序被建立時,可透過其輸入埠向系統取得系統狀態。Updated狀態是一種穩定的狀態,表示程序將一直待在那個狀態直到發生中斷。而ATP可以接受事件和時間兩種中斷,一個事件中斷表示一個非週期性的工作,而此時系統將會執行一個相關的事件驅動函式。一個時間中斷表示一個週期性的工作,系統則會執行一個相關的時間驅動函式。當每個函式被執行完後,ATP接著會檢查目前是否違反或滿足相關的時間性限制。若是違反任限制,則ATP將進入Error的狀態,然後藉由錯誤處理程序去重置ATP再進入Updated狀態。

2. 自動時態程序(ATP)

 

  各專欄文章詳細內容請查看第三十三期雜誌各期報導

 

家侖股份有限公司

                                               @   版權所有 家侖 股份有限公司 Gallant company

                                               @   本網頁各鍊結標題及鍊結內容歸原權利人所有

                                                 @   聯絡電話:02-22238360

                                               @   傳真電話:02-22238748 

                                               @   地址:台北縣中和市中正路909號9樓