嵌人式系統(tǒng)只發(fā)方法概述解讀_第1頁(yè)
嵌人式系統(tǒng)只發(fā)方法概述解讀_第2頁(yè)
嵌人式系統(tǒng)只發(fā)方法概述解讀_第3頁(yè)
嵌人式系統(tǒng)只發(fā)方法概述解讀_第4頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌人式系統(tǒng)開(kāi)發(fā)方法概述引言嵌入式系統(tǒng)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪、 適應(yīng)應(yīng)用環(huán)境對(duì)功能、實(shí)時(shí)性、可靠性、成本、體積、功耗等嚴(yán)格約束的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)的內(nèi)容廣泛,小到一個(gè)芯片,大到復(fù)雜的分布式系統(tǒng)都可以稱為嵌入式系統(tǒng),通常以SoC、單片機(jī)、單板機(jī)、多板式箱式結(jié)構(gòu)、嵌入式PC等形式嵌入到信息家電、數(shù)字通信,工業(yè)控制、航空航天、醫(yī)療設(shè)施、軍事電子等領(lǐng)域的設(shè)備或系統(tǒng)中,作為處理和控制的核心。嵌入式系統(tǒng)的實(shí)時(shí)性、 并發(fā)性、分布性和高可靠性等特點(diǎn)使得系統(tǒng)的開(kāi)發(fā)面臨巨大挑戰(zhàn),追切需要相應(yīng)的開(kāi)發(fā)方法的指導(dǎo)和開(kāi)發(fā)工具的支持。嵌入式系統(tǒng)開(kāi)發(fā)方法的研究?jī)?nèi)容包括設(shè)計(jì)方法論、工程開(kāi)發(fā)技術(shù)

2、, 以及相應(yīng)輔助工具的開(kāi)發(fā)。現(xiàn)代的系統(tǒng)開(kāi)發(fā)是一個(gè)基于模型(modelbased) 的,從規(guī)約到實(shí)現(xiàn)的過(guò)程。模型是反映真實(shí)世界和系統(tǒng)實(shí)現(xiàn)兩方面的抽象,幫助開(kāi)發(fā)人員把握應(yīng)用的最重要特性,是系統(tǒng)分析與驗(yàn)證的基礎(chǔ),并為軟件和硬件的實(shí)現(xiàn)素提供表示視圖。因此, 系統(tǒng)模型設(shè)計(jì)在整個(gè)開(kāi)發(fā)過(guò)程中最為重要。此外,任何工程開(kāi)發(fā)技術(shù)都是在一定設(shè)計(jì)方法基礎(chǔ)上提出一系列開(kāi)發(fā)步驟,輔助工具則為這些設(shè)計(jì)方法和開(kāi)發(fā)技術(shù)提供自動(dòng)或半自動(dòng)的工具支持。因此,設(shè)計(jì)方法決定了系統(tǒng)開(kāi)發(fā)過(guò)程中的其它分析、驗(yàn)證、 實(shí)現(xiàn)等方法,或者廣義上說(shuō),系統(tǒng)的設(shè)計(jì)方法就是系統(tǒng)的開(kāi)發(fā)方法。本文從工程實(shí)踐角度出發(fā),總結(jié)在嵌入式系統(tǒng)設(shè)計(jì)過(guò)程中,開(kāi)發(fā)人員會(huì)面臨哪些

3、主要問(wèn)題,以及為解決問(wèn)題而產(chǎn)生哪些主要方法和技術(shù)。這些方法和技術(shù)被統(tǒng)稱為嵌入式系統(tǒng)的開(kāi)發(fā)方法。1 軟硬件“分離”設(shè)計(jì)方法與軟硬件協(xié)同設(shè)計(jì)方法首先,用戶或產(chǎn)品開(kāi)發(fā)決策者要根據(jù)對(duì)產(chǎn)品性能、體積、 開(kāi)發(fā)成本以及上市時(shí)間等設(shè)計(jì)指標(biāo)的評(píng)估,決定系統(tǒng)最終是以電路板式,還是以芯片式的形式實(shí)現(xiàn)。一般而言, 對(duì)性能和體積要求不高,產(chǎn)品數(shù)量小,如1幾百個(gè),但要求上市時(shí)間早的嵌入式系統(tǒng),多采用電路板式實(shí)現(xiàn)t 反之,系統(tǒng)體積小,產(chǎn)品數(shù)量大, 但對(duì)上市時(shí)間要求比較松的嵌入式系統(tǒng),多采用 SoC芯片式實(shí)現(xiàn)。相應(yīng)地,對(duì)于設(shè)計(jì)者而言,不同的實(shí)現(xiàn)形式一般應(yīng)用不同的設(shè)計(jì)方法,包括軟硬件“分離”設(shè)計(jì)和軟硬件協(xié)同設(shè)計(jì)。1 1 軟硬件

4、。分離”設(shè)計(jì)方法計(jì)算機(jī)科學(xué)發(fā)展最初階段,軟件和硬件的設(shè)計(jì)流程截然不同,軟件設(shè)計(jì)者編寫(xiě)程序, 硬件設(shè)計(jì)者連接元件, 所以軟件設(shè)計(jì)和硬件設(shè)計(jì)不可能交互,必須單獨(dú)進(jìn)行。 這種傳統(tǒng)的設(shè)計(jì)方法可以被稱為軟硬件“分離” 設(shè)計(jì),與軟硬件協(xié)同設(shè)計(jì)相對(duì)。軟硬件 “分離” 設(shè)計(jì)方法中,軟硬件劃分在系統(tǒng)開(kāi)發(fā)的初期階段進(jìn)行,劃分是一次性的, 一旦劃分后軟件和硬件所分配的功能就不能改變。經(jīng)劃分后軟件和硬件的設(shè)計(jì)與實(shí)現(xiàn)一般并行推進(jìn)。其設(shè)計(jì)的基本思想是,軟件通過(guò)編寫(xiě)程序運(yùn)行在微處理器上實(shí)現(xiàn)系統(tǒng)全部或大部分功能,硬件則主要通過(guò)“板級(jí)”專用電路為軟件運(yùn)行提供平臺(tái)。如果有特定功能需要硬件實(shí)現(xiàn),一般可直接購(gòu)買預(yù)先設(shè)計(jì)好的相應(yīng)專用處

5、理器芯片,如以太網(wǎng)芯片等。因此, 系統(tǒng)設(shè)計(jì)的重點(diǎn)在于軟件設(shè)計(jì),這也是過(guò)去幾十年嵌入式系統(tǒng)設(shè)計(jì)方法研究的重點(diǎn)。在硬件未交付使用前,軟件可以在demo板上進(jìn)行編碼與調(diào)試,或者在PC機(jī)上進(jìn)行仿真。軟硬件“分離”設(shè)計(jì)方法使得聯(lián)調(diào)必須在軟件和硬件都開(kāi)發(fā)出來(lái)后才能進(jìn)行,暴露出越來(lái)越多問(wèn)題。 如由于軟硬件開(kāi)發(fā)過(guò)程割裂和軟硬件劃分不協(xié)調(diào)而導(dǎo)致低效設(shè)計(jì); 不能及時(shí)進(jìn)行全系統(tǒng)驗(yàn)證而導(dǎo)致系統(tǒng)重新開(kāi)發(fā);硬件系統(tǒng)是為滿足特定應(yīng)用需要而開(kāi)發(fā)的專用電路板,缺乏對(duì)設(shè)計(jì)重用的支持等。為避免和解決這些問(wèn)題,需要產(chǎn)生新的嵌入式系統(tǒng)的設(shè)計(jì)方法。1 2 軟硬件協(xié)同設(shè)計(jì)方法深亞微米半導(dǎo)體技術(shù)的發(fā)展使得將整個(gè)嵌入式系統(tǒng)集成在一塊芯片上實(shí)現(xiàn)

6、成為可能。也就是說(shuō),集成電路 IC 容量已經(jīng)增長(zhǎng)到可以讓軟處理器和硬處理器共存于單個(gè)芯片上形成SoC。軟處理器技術(shù)是指編寫(xiě)運(yùn)行在通用微處理器上的軟件程序?qū)崿F(xiàn)功能,硬處理器技術(shù)是指定制專用數(shù)字電路實(shí)現(xiàn)功能。這一趨勢(shì)使得過(guò)去軟件和硬件設(shè)計(jì)的分離不再現(xiàn)實(shí)。另一方面,雖然過(guò)去幾十年來(lái)軟件和硬件領(lǐng)域的設(shè)計(jì)起點(diǎn)是由非常不同的設(shè)計(jì)描述組成,如軟件用機(jī)器指令、硬件用邏輯門(mén)進(jìn)行描述,但隨著軟件編譯和硬件綜合技術(shù)的并行發(fā)展,如今兩個(gè)領(lǐng)域都以時(shí)序程序描述行為作為設(shè)計(jì)的起點(diǎn),如軟件使用C 語(yǔ)言、硬件使用 VHDL進(jìn)行描述。這使得將兩個(gè)領(lǐng)域合二為一的設(shè)計(jì)即軟硬件協(xié)同設(shè)計(jì)成為可能。軟硬件協(xié)同設(shè)計(jì)是專為SoC的設(shè)計(jì)產(chǎn)生的方

7、法,自上個(gè)世紀(jì)90 年代初以來(lái)取得了很大發(fā)展。軟硬件協(xié)同設(shè)計(jì)方法綜合軟件和硬件的設(shè)計(jì)規(guī)則,提供統(tǒng)一方法與工具,對(duì)系統(tǒng)軟硬件進(jìn)行描述、綜合和驗(yàn)證。其基本思想是,在設(shè)計(jì)過(guò)程的各個(gè)階段,同時(shí)考慮軟件和硬件的功能和性能,找到軟件和硬件的最佳組合方式在滿足系統(tǒng)功能和性能的前提下,使得設(shè)計(jì)所需的硬件邏輯門(mén)和存儲(chǔ)器最少,消耗的功率更小等。軟硬件協(xié)同設(shè)計(jì)首先以一種或幾種計(jì)算模型為基礎(chǔ),并以支持所選計(jì)算模型的描述語(yǔ)言或建模語(yǔ)言為工具,對(duì)整個(gè)系統(tǒng)的功能、行為和性能進(jìn)行描述。計(jì)算模型的選擇要求使得系統(tǒng)模型既能夠方便轉(zhuǎn)換為硬件描述語(yǔ)言,又能夠轉(zhuǎn)換為軟件程序代碼。軟硬件協(xié)同設(shè)計(jì)常用的計(jì)算模型、描述語(yǔ)言和建模語(yǔ)言包括Pe

8、tri網(wǎng)、有限狀態(tài)機(jī)、SystemC、 SDL和 UML等。軟硬件協(xié)同設(shè)計(jì)方法中,軟硬件劃分就是將系統(tǒng)模型的一部分分配給硬件,通過(guò)設(shè)計(jì)專用數(shù)字電路實(shí)現(xiàn)功能,另一部分分配給軟件,通過(guò)編寫(xiě)程序代碼實(shí)現(xiàn)功能。對(duì)于某個(gè)特定功能而言,選擇軟件還是硬件實(shí)現(xiàn)只是在不同設(shè)計(jì)指標(biāo),包括性能、功率、大小、靈活性等之間進(jìn)行取舍,軟件實(shí)現(xiàn)或硬件實(shí)現(xiàn)沒(méi)有本質(zhì)的區(qū)別。一般軟件實(shí)現(xiàn)靈活性好并降低成本,硬件實(shí)現(xiàn)則可以提高精確性和性能并降低功耗。2 非形式化建模方法與形式化建模方法設(shè)計(jì)者為構(gòu)建系統(tǒng)模型,需要解決兩方面問(wèn)題。一方面,設(shè)計(jì)者要決定采用什么方法或手段對(duì)系統(tǒng)進(jìn)行建模,即為系統(tǒng)模型選擇基本的計(jì)算模型或圖形符號(hào)。根據(jù)計(jì)算模

9、型的形式化程度不同,建模方法可以分為兩類:一類方法以具有嚴(yán)格語(yǔ)法和語(yǔ)義定義的數(shù)學(xué)模型或形式化模型為基礎(chǔ), 稱為形式化建模方法; 另一類方法則使用不具有嚴(yán)格語(yǔ)法和語(yǔ)義定義的自然語(yǔ)言或簡(jiǎn)單的圖、表、符號(hào)等描述系統(tǒng),稱為非形式化建模方法。建模方法的選擇由系統(tǒng)的可靠性要求和計(jì)算模型的可用性共同決定,一般需要二者的折衷。可靠性要求高的嵌入式系統(tǒng)必須采用形式化方法建模以保證模型正確性。2 1 非形式化建模方法非形式化建模方法簡(jiǎn)稱非形式化方法。只要用來(lái)創(chuàng)建系統(tǒng)模型的計(jì)算模型或建模語(yǔ)言沒(méi)有嚴(yán)格的語(yǔ)法和語(yǔ)義定義,該建模方法就屬于非形式化方法(informal)方法或欠形式化(1ess formal)方法,如傳統(tǒng)

10、的用圖、文本、表格或簡(jiǎn)單符號(hào)等進(jìn)行系統(tǒng)分析和設(shè)計(jì)的方法。雖然對(duì)非形式化方法小心運(yùn)用并結(jié)合徹底檢查可以實(shí)現(xiàn)高質(zhì)量系統(tǒng)的開(kāi)發(fā),但是文本或簡(jiǎn)單符號(hào)的應(yīng)用偏差可能產(chǎn)生各種問(wèn)題,如多個(gè)子模型描述系統(tǒng)相同方面的特性是矛盾的或不一致的,當(dāng)模型被解釋或翻譯時(shí)產(chǎn)生二義性或歧義,模型所描述的系統(tǒng)功能或行為是不完整的。因此,很難保證在模型基礎(chǔ)上的系統(tǒng)實(shí)現(xiàn)是正確的,從而無(wú)法滿足嵌入式系統(tǒng)對(duì)高可靠性的要求。可靠性的保證取決于兩個(gè)方面,一是產(chǎn)品的驗(yàn)證與測(cè)試,二是開(kāi)發(fā)的方法與過(guò)程。在安全關(guān)鍵的(safety-critical)嵌入式系統(tǒng)開(kāi)發(fā)中,可靠性不能通過(guò)測(cè)試和反復(fù)試用來(lái)保證,需要一種良好構(gòu)造的(weUstructure

11、d)和形式化的方法,使得在系統(tǒng)實(shí)現(xiàn)前經(jīng)過(guò)嚴(yán)格的設(shè)計(jì)、分析和驗(yàn)證。形式化建模方法的優(yōu)勢(shì)不僅僅局限于分析和驗(yàn)證,形式化過(guò)程本身就能夠提高設(shè)計(jì)的質(zhì)量。2 2 形式化建模方法嵌入式系統(tǒng)的規(guī)模和復(fù)雜性不斷增加,僅靠手工方法已經(jīng)無(wú)法保證正確的設(shè)計(jì)與實(shí)現(xiàn)。開(kāi)發(fā)方法研究的最終目標(biāo)就是能夠借助計(jì)算機(jī)自動(dòng)、準(zhǔn)確地實(shí)現(xiàn)系統(tǒng),而數(shù)學(xué)是實(shí)現(xiàn)這一目標(biāo)的最有效的方法或手段。將數(shù)學(xué)引入到計(jì)算機(jī)科學(xué)中是必然的,也是必需的。在計(jì)算機(jī)科學(xué)中,以數(shù)學(xué)為基礎(chǔ)的計(jì)算機(jī)系統(tǒng)設(shè)計(jì)和建模方法被稱為形式化建模方法,簡(jiǎn)稱形式化方法。形式化方法的主要數(shù)學(xué)基礎(chǔ)包括各種邏輯學(xué)、集合論、代數(shù)理論、圖論等。現(xiàn)在形式化方法已經(jīng)發(fā)展成使用各種形式描述語(yǔ)言來(lái)描述

12、系統(tǒng),并貫穿系統(tǒng)開(kāi)發(fā)的各階段。典型的形式描述語(yǔ)言包括Z, SDL、ESTELLE、LOTOS等,可以充分描述系統(tǒng)功能、行為,以及各種特性,如并發(fā)性、不確定性、時(shí)序性等。每種形式描述語(yǔ)言都以一種或多種形式化模型為基礎(chǔ),包括 Petri網(wǎng)、有限狀態(tài)機(jī)FSM,時(shí)態(tài)邏輯TL、通信進(jìn)程演算CCS等。這些形式化模型可以在層次上形成并發(fā)系統(tǒng)、實(shí)時(shí)系統(tǒng)和混雜系統(tǒng)的抽象模型表示,是系統(tǒng)分析、驗(yàn)證、測(cè)試、綜合以及自動(dòng)化實(shí)現(xiàn)的基礎(chǔ)。形式化方法非常適合描述嵌入式系統(tǒng)的動(dòng)態(tài)行為,灸 lPetri 網(wǎng)對(duì)系統(tǒng)并發(fā)性行為建模能力好,有限狀態(tài)機(jī)能夠清晰反映系統(tǒng)的反應(yīng)式行為, ESTELLE、 LOTOS和 SDL是 ISO 制

13、訂的用來(lái)描述通信協(xié)議的形式描述技術(shù)標(biāo)準(zhǔn),適合分布式系統(tǒng)的描述,分析與驗(yàn)證等。為滿足嵌入式系統(tǒng)的實(shí)時(shí)性需求,一般需要對(duì)這些模型或語(yǔ)言進(jìn)行實(shí)時(shí)擴(kuò)展,以實(shí)現(xiàn)對(duì)系統(tǒng)時(shí)間約束的描述與驗(yàn)證,如時(shí)間 Petri 網(wǎng), SDL-RT, RT-LOTOS等。形式化方法的最大好處在于,可以在系統(tǒng)開(kāi)發(fā)早期最大限度地檢測(cè)和糾正其它方法不易發(fā)現(xiàn)的錯(cuò)誤和缺陷,如檢測(cè)不一致、不明確或不完整,避免死鎖、活鎖、不可執(zhí)行的行為以及系統(tǒng)外部性能不符合服務(wù)要求等問(wèn)題。并且還可以通過(guò)數(shù)學(xué)證明與邏輯分析的方法驗(yàn)證系統(tǒng)是否具有所期望的性質(zhì)。因此,形式化方法在嵌入式系統(tǒng)領(lǐng)域受到越來(lái)越多的關(guān)注,尤其在網(wǎng)絡(luò)通信協(xié)議領(lǐng)域,經(jīng)常使用形式化方法,一方

14、面可以驗(yàn)證協(xié)議本身的正確性,另一方面可以保證協(xié)議實(shí)現(xiàn)的可靠性。但是形式化方法在應(yīng)用上存在一些缺欠:形式化模型一般只能描述系統(tǒng)單一方面特性,如Petri網(wǎng)、FSM和各種時(shí)態(tài)邏輯只能描述系統(tǒng)行為特性而不能描述功能和結(jié)構(gòu)特性,往往需要多個(gè)模型共同描述同一個(gè)系統(tǒng);形式化模型的可讀性和可理解性差,并且要求設(shè)計(jì)者必須具有較高的數(shù)學(xué)邏輯基礎(chǔ)。這些缺欠或多或少抵消了形式化方法在嚴(yán)密性與可靠性上的優(yōu)勢(shì),限制了形式化方法在工業(yè)上的普遍應(yīng)用。但是隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,一方面涌現(xiàn)出許多新的形式化方法,另一方面許多非形式化技術(shù)被賦予形式化基礎(chǔ)。將非形式化的圖形轉(zhuǎn)換為具有精確語(yǔ)義定義的形式化規(guī)約,成為許多嵌入式實(shí)時(shí)、

15、分布式、高可靠性系統(tǒng)分析和設(shè)計(jì)的常用方法。3 結(jié)構(gòu)化設(shè)計(jì)范式與面向?qū)ο笤O(shè)計(jì)范式設(shè)計(jì)者建模時(shí)需要解決的另一方面問(wèn)題是,決定采用什么設(shè)計(jì)范式 (deSign pardigm) 將系統(tǒng)進(jìn)行分解。這主要關(guān)系到嵌入式系統(tǒng)軟件部分的設(shè)計(jì)與實(shí)現(xiàn)。軟件工程發(fā)展至今,產(chǎn)生了兩種最基本的設(shè)計(jì)范式:結(jié)構(gòu)化 (structural)范式和面向?qū)ο?(objectoriented)范式。有些計(jì)算模型、規(guī)約語(yǔ)言或建模語(yǔ)言的選擇就確定了所需的設(shè)計(jì)范式,如數(shù)據(jù)流圖是結(jié)構(gòu)化的, UML、 SDL是面向?qū)ο蟮?;有些則不能,女【 IPetri 網(wǎng)、 FMS。對(duì)于不能確定的,設(shè)計(jì)者就要自行選擇系統(tǒng)的設(shè)計(jì)范式將系統(tǒng)分解。嵌入式軟件在設(shè)

16、計(jì)中需要額外考慮系統(tǒng)的領(lǐng)域特征,如任務(wù)并發(fā)執(zhí)行、事件驅(qū)動(dòng)、具有復(fù)雜動(dòng)態(tài)交互行為和嚴(yán)格時(shí)間限制等。結(jié)構(gòu)化范式和面向?qū)ο蠓妒皆谇度胧较到y(tǒng)中應(yīng)用的研究,主要是為了解決這些領(lǐng)域特征的設(shè)計(jì)與實(shí)現(xiàn),重點(diǎn)在于并發(fā)任務(wù)的通信與同步、系統(tǒng)狀態(tài)機(jī)以及時(shí)間約束等的設(shè)計(jì)與實(shí)現(xiàn)。3 1 結(jié)構(gòu)化設(shè)計(jì)范式結(jié)構(gòu)化設(shè)計(jì)范式通常被稱為結(jié)構(gòu)化方法,是傳統(tǒng)一的面向過(guò)程的軟件分析和設(shè)計(jì)方法。其基本思想是采用模塊化技術(shù),自頂向下將系統(tǒng)按照功能分解成若干模塊。模塊內(nèi)部由順序、分支、循環(huán)等基本控制結(jié)構(gòu)組成。不同模塊之間存在層次關(guān)系,通過(guò)過(guò)程調(diào)用實(shí)現(xiàn)模塊間的通信。在程序設(shè)計(jì)時(shí)以算法為中心,將數(shù)據(jù)結(jié)構(gòu)和處理數(shù)據(jù)結(jié)構(gòu)的過(guò)程單獨(dú)考慮。在面向?qū)ο蠓治?/p>

17、與設(shè)計(jì)方法廣泛應(yīng)用之前,出現(xiàn)不少針對(duì)嵌入式實(shí)時(shí)系統(tǒng)的結(jié)構(gòu)化分析和設(shè)計(jì)方法,如 RTSAD(Real-Time Structured Analysis and Design) 、 DARTS(Design Approach for Real-TimeSystems) 、JSD(Jackson System Development)、SCR(Software Cost Reduction)等,本質(zhì)上是結(jié)構(gòu)化系統(tǒng)分析、數(shù)據(jù)流分析、事務(wù)分析向?qū)崟r(shí)軟件開(kāi)發(fā)的擴(kuò)展。但是由于結(jié)構(gòu)化方法與人們認(rèn)識(shí)客觀世界的過(guò)程不一致,并且只在信息順序處理和數(shù)據(jù)結(jié)構(gòu)層次簡(jiǎn)單的應(yīng)用中有效,如數(shù)值分析過(guò)程,過(guò)程控制等,不適合大型復(fù)

18、雜的分布式并發(fā)系統(tǒng),因此在實(shí)際的系統(tǒng)分析與設(shè)計(jì)中已較少使用。采用結(jié)構(gòu)化方法進(jìn)行嵌入式軟件開(kāi)發(fā)時(shí)主要需要解決多任務(wù)的設(shè)計(jì)與實(shí)現(xiàn)。通過(guò)將傳統(tǒng)結(jié)構(gòu)化方法的模塊劃分轉(zhuǎn)換為系統(tǒng)的任務(wù)劃分,并且定義任務(wù)間接口,使得系統(tǒng)具有并發(fā)處理的能力。模塊間的通信由原來(lái)層次間的過(guò)程調(diào)用轉(zhuǎn)換為任務(wù)間的同步或異步消息傳遞。任務(wù)間消息傳遞的通信方式減小了模塊間的耦合度,增加了一定的模塊獨(dú)立性與可復(fù)用性。工業(yè)上常使用C 語(yǔ)言編寫(xiě)結(jié)構(gòu)化程序。由于C 語(yǔ)言編寫(xiě)的結(jié)構(gòu)化程序簡(jiǎn)潔、靈活、高效,滿足嵌入式系統(tǒng)內(nèi)存資源有限和對(duì)高效率的要求,所以當(dāng)前很多嵌入式系統(tǒng)軟件采用 C 語(yǔ)言編程實(shí)現(xiàn)。但由于結(jié)構(gòu)化方法忽略數(shù)據(jù)和操作之間的內(nèi)在聯(lián)系,使得

19、軟件結(jié)構(gòu)對(duì)功能變化十分敏感,功能變化往往意味著重新設(shè)計(jì)。因此,軟件復(fù)用性不好,不易維護(hù)。3 2 面向?qū)ο笤O(shè)計(jì)范式面向?qū)ο笤O(shè)計(jì)范式通常被稱為面向?qū)ο蠓椒?,是基于信息隱藏、類、繼承等概念,用對(duì)象表現(xiàn)問(wèn)題域?qū)嶓w的分析和設(shè)計(jì)方法。對(duì)象封裝數(shù)據(jù)和處理數(shù)據(jù)的操作,對(duì)象間的交互通過(guò)消息傳遞實(shí)現(xiàn)。設(shè)計(jì)首先從識(shí)別底層的基本對(duì)象類開(kāi)始,以解決具體的應(yīng)用任務(wù),然后自底向上將所有對(duì)象綜合起來(lái)實(shí)現(xiàn)系統(tǒng)的整體功能。面向?qū)ο蠓椒▋?nèi)在地支持對(duì)系統(tǒng)的抽象、分層和復(fù)用,便于大型復(fù)雜嵌入式軟件的分析和設(shè)計(jì)。由于面向?qū)ο蠓椒◤目陀^存在的事物出發(fā)構(gòu)造軟件系統(tǒng),更接近人們的思維方式,并且隨著大量面向?qū)ο蠓治?(OOA)和設(shè)計(jì) (OOD)

20、的表示法和技術(shù)的涌現(xiàn),尤其UML成為描述面向?qū)ο竽P捅硎痉ǖ臉I(yè)界標(biāo)準(zhǔn)以來(lái),面向?qū)ο蠓椒ǖ玫綇V泛應(yīng)用,成為軟件設(shè)計(jì)的首選范式。工業(yè)界和學(xué)術(shù)界都力圖將面向?qū)ο蟮母拍顟?yīng)用到嵌入式實(shí)時(shí)系統(tǒng)的開(kāi)發(fā)中,目前已存在不少針對(duì)實(shí)時(shí)系統(tǒng)的面向?qū)ο蠓治龊驮O(shè)計(jì)技術(shù)及建模語(yǔ)言的研究,如 ROOM(Real-Time 0bject-Oriented Modeling)、UML RT、 RT UML、COMET、OCTOPUS等,研究重點(diǎn)在于描述系統(tǒng)進(jìn)程(processes)之間的并發(fā)與同步,并準(zhǔn)確表達(dá)系統(tǒng)功能的時(shí)間約束等。工業(yè)上常使用C+編寫(xiě)面向?qū)ο蟪绦?。為支持面向?qū)ο蠓椒ǖ哪承┨匦裕绶庋b、繼承、多態(tài)等,面向?qū)ο蟪绦蛞?/p>

21、方面由于對(duì)這些特性進(jìn)行管理而增加了大量的冗余代碼,另一方面由于為實(shí)現(xiàn)特性增加調(diào)用層次而導(dǎo)致額外開(kāi)銷,不能很好滿足某些嵌入式系統(tǒng)的需求,從而限制了面向?qū)ο蠓椒ㄔ谇度胧杰浖?shí)現(xiàn)中的應(yīng)用。但這些不利因素將隨著硬件能力的不斷加強(qiáng)而得到改善。結(jié)構(gòu)化方法和面向?qū)ο蠓椒ㄔ趹?yīng)用上的一個(gè)矛盾就是,面向?qū)ο蠓椒ㄔ谙到y(tǒng)分析和設(shè)計(jì)能力方面占有絕對(duì)優(yōu)勢(shì),并具有大量工具支持,而結(jié)構(gòu)化方法實(shí)現(xiàn)的軟件可以滿足嵌入式系統(tǒng)對(duì)硬件資源及運(yùn)行效率的需求。如果將二者結(jié)合使用,采用面向?qū)ο蠓椒ǚ治龊驮O(shè)計(jì)系統(tǒng),采用結(jié)構(gòu)化方法實(shí)現(xiàn)系統(tǒng),就可以滿足嵌入式系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)兩方面的要求。·緊急剎車系統(tǒng)( 安全儀表系統(tǒng) ) ;+主動(dòng)機(jī)械保護(hù)

22、( 泄流閥,閃光系統(tǒng),滅火系統(tǒng)) ;幸被動(dòng)機(jī)械保護(hù)( 堤防,防火墻,設(shè)備保護(hù)裝置)l·緊急響應(yīng)程序。4 風(fēng)險(xiǎn)降低和可靠性評(píng)估為了把風(fēng)險(xiǎn)減少到可容忍的水平,各自的保護(hù)層必須根據(jù)它們的風(fēng)險(xiǎn)降低效力或者可靠性進(jìn)行評(píng)價(jià)。一個(gè)保護(hù)層的可靠性包括很多因素,諸如響應(yīng)時(shí)間、緩解效能、和平均失效時(shí)間,測(cè)試間隔、獨(dú)立性和公共發(fā)生因數(shù)。ISA 和 IEC 標(biāo)準(zhǔn)允許每個(gè)保護(hù)層被指定一定量級(jí)的風(fēng)險(xiǎn)降低。保護(hù)層的可靠性因此需要對(duì)特定的保護(hù)層能吸收多少風(fēng)險(xiǎn)進(jìn)行估計(jì)。IEC 標(biāo)準(zhǔn)一般要求任何設(shè)備吸收的一個(gè)風(fēng)險(xiǎn)水平要大干一個(gè)數(shù)量上評(píng)價(jià)的數(shù)量級(jí) (SIL 1)。這意味著基本流程控制系統(tǒng)、管理程序和機(jī)械控制一般僅有一個(gè)數(shù)

23、量級(jí)的風(fēng)險(xiǎn)降低水平或者一個(gè) 90以上的成功機(jī)會(huì)。對(duì)于這些SIL 1 ,有個(gè)簡(jiǎn)單的定性分析用于評(píng)價(jià)這個(gè)安全裝置是否是真正的獨(dú)立保護(hù)層。一旦保護(hù)層提供的基本流程控制系統(tǒng)、管理程序和機(jī)械控制應(yīng)用于假定的事件,然后進(jìn)行剩余風(fēng)險(xiǎn)的評(píng)價(jià)。為了滿足可容忍風(fēng)險(xiǎn)等級(jí),這個(gè)剩余風(fēng)險(xiǎn)也必須要減緩。增加另外的保護(hù)層如: 一個(gè)壓力安全閥 (PSV)或者安全儀表系統(tǒng) (SIS) 來(lái)達(dá)到新的要求。 風(fēng)險(xiǎn)分析因此提供了一個(gè)方便的方法,按安全完整性等級(jí)的要求,直接對(duì)一個(gè)安全儀表系統(tǒng)評(píng)價(jià)。一旦得到一個(gè)安全完整性等級(jí),就可以進(jìn)行一個(gè)可靠性評(píng)估,驗(yàn)證特定的安全儀表系統(tǒng)配置是否滿足可靠性(SIL) 的要求。定量可靠性評(píng)估方法的例子是I

24、SA 技術(shù)報(bào)告和IEC61508 標(biāo)準(zhǔn)中的詳細(xì)內(nèi)容。5 結(jié)論傳統(tǒng)流程危險(xiǎn)的分析方法今天仍然適用,用于定性的危險(xiǎn)識(shí)別和風(fēng)險(xiǎn)評(píng)估。由基于性能標(biāo)準(zhǔn)的驅(qū)動(dòng),企業(yè)在流程運(yùn)行設(shè)計(jì)中,朝向基于風(fēng)險(xiǎn)降低和可靠性來(lái)使用安全儀表系統(tǒng)。為了實(shí)施這些新方案,需要使用嚴(yán)格的評(píng)估方法,確保設(shè)備中的潛在危險(xiǎn)能夠控制在可接受的水平內(nèi)。這使得在現(xiàn)在設(shè)計(jì)參數(shù)時(shí)有很大的靈活性和可靠性,我們應(yīng)選擇“適合目標(biāo)”,而不是“最佳實(shí)踐” 。最近頒布的國(guó)際標(biāo)準(zhǔn),IEC 61508 ,已經(jīng)展示了其更先進(jìn)的流程危險(xiǎn)分析和風(fēng)險(xiǎn)評(píng)估方法。這是一種高品質(zhì)的流程危險(xiǎn)評(píng)估風(fēng)格,即可以用于流程危險(xiǎn)分析,也可以用于減弱風(fēng)險(xiǎn)安全裝置的集成。這種方法使用半定量風(fēng)險(xiǎn)評(píng)價(jià)技術(shù),結(jié)合一種定量可靠性評(píng)估。這種新方法的關(guān)鍵是風(fēng)險(xiǎn)評(píng)價(jià)與安裝裝置的可靠性評(píng)估分開(kāi)。使用這種方法,多個(gè)安全裝置失效的貢獻(xiàn)能夠同時(shí)有效地檢查。這種方法也導(dǎo)致安全儀表系統(tǒng)設(shè)計(jì),4 小結(jié) ?1 郭兵嵌入式軟件開(kāi)放式集成開(kāi)發(fā)平臺(tái)體系結(jié)綜上所述,在嵌入式系統(tǒng)設(shè)計(jì)過(guò)程中,為解決不同階段的問(wèn)題需要采用相應(yīng)的設(shè)計(jì)或建模方法,因此這些方法存在著一定的組合關(guān)系,如圖1 所示。這三方面內(nèi)容是確定系統(tǒng)模型的主

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論