
發(fā)布
注冊(cè)
/
登錄嵌入式系統(tǒng)工程的案例
【本周四在線研討會(huì)預(yù)熱】IBM ELM—嵌入式系統(tǒng)工程研發(fā)管理解決方案
概述
IBM Engineering Lifecycle Management是應(yīng)用生命周期解決方案的新品牌,為了解決嵌入式系統(tǒng)開發(fā)過(guò)程中跨學(xué)科、跨流程的研發(fā)管理問題,從需求管理、系統(tǒng)設(shè)計(jì)、工作流管理、測(cè)試管理等領(lǐng)域入手,實(shí)現(xiàn)嵌入式系統(tǒng)工程研發(fā)工作的協(xié)同。
特點(diǎn)
橫跨需求管理、測(cè)試管理、源代碼管理的全局配置管理和數(shù)據(jù)追溯,支撐完整系統(tǒng)工程的變體和并行開發(fā)
開箱即用的Scrum和SAFe等敏捷框架
符合Automotive SPICE、ISO 26262的過(guò)程模板
符合行業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)集成規(guī)范OSLC,靈活、無(wú)縫插拔配置不同的工具集
充分應(yīng)用Web技術(shù),系統(tǒng)高度可擴(kuò)展、可配置
系統(tǒng)組件
DOORS / DOORS Next:
支持跨專業(yè)、跨時(shí)區(qū)、跨供應(yīng)鏈的高效需求管理。
使用不同的視圖創(chuàng)建需求
鏈接和追溯需求
交換和導(dǎo)入需求
評(píng)審需求
需求版本控制和基線化
Rhapsody:
通過(guò)結(jié)構(gòu)化建模的方式在系統(tǒng)和軟件架構(gòu)中識(shí)別需求、管理接口、控制風(fēng)險(xiǎn)。
展開 嵌入式系統(tǒng) | Ansys SCADE在軌交列車控制系統(tǒng)中的應(yīng)用
該項(xiàng)目的目標(biāo)是為歐洲列車控制系統(tǒng)提供“開放的證明”(Open Proof),證明可以:
將開源許可原則應(yīng)用于鐵路安全(ETCS)和鐵路自動(dòng)化應(yīng)用中的關(guān)鍵軟件組件,特別是在車輛方面,實(shí)現(xiàn)合作伙伴之間的共享發(fā)展,避免運(yùn)營(yíng)商與供應(yīng)商之間的鎖定情況,形成版本開放自由軟件服務(wù)生態(tài)系統(tǒng)
提供了一個(gè)平臺(tái),會(huì)員可以在該平臺(tái)上交流經(jīng)驗(yàn),并基于開源和開放創(chuàng)新,共同發(fā)起和實(shí)施列車控制、列車自動(dòng)化和鐵路應(yīng)用通用數(shù)字化領(lǐng)域的項(xiàng)目
在所有層面上采用“開放標(biāo)準(zhǔn)”,包括硬件和軟件規(guī)范、接口定義、設(shè)計(jì)工具、驗(yàn)證和確認(rèn)程序,以及重要的嵌入式控制軟件。通過(guò)應(yīng)用這些技術(shù)和相關(guān)的業(yè)務(wù)概念,力求將最終車載產(chǎn)品的成本大幅降低,甚至低于傳統(tǒng)的高性能信號(hào)系統(tǒng)
形成一個(gè)涵蓋建模、設(shè)計(jì)、驗(yàn)證和測(cè)試的集成框架,以利用ETCS的成本效益和可靠性實(shí)現(xiàn)
該框架將在ETCS軟件的整個(gè)開發(fā)過(guò)程中提供一個(gè)完整的工具鏈。
- 工具鏈將支持ETCS系統(tǒng)需求的
形式化規(guī)范和驗(yàn)證
- 符合ETCS的
代碼自動(dòng)生成和驗(yàn)證
-
基于模型的測(cè)試用例生成和執(zhí)行
采用形式化方法,以克服現(xiàn)有互操作性問題,將繁瑣沉重的驗(yàn)證和確認(rèn)活動(dòng)從軌道現(xiàn)場(chǎng)轉(zhuǎn)移到實(shí)驗(yàn)室,加速ERTM的遷移和ERTM部署計(jì)劃,節(jié)省寶貴的資源。
展開 嵌入式系統(tǒng) | Ansys SCADE在空客電傳飛控系統(tǒng)中的應(yīng)用
近期推出的嵌入式系統(tǒng)專題內(nèi)容中,我們?cè)敿?xì)梳理了Ansys SCADE的誕生、發(fā)展及應(yīng)用,也針對(duì)“形式化方法”做了進(jìn)一步闡述,詳實(shí)地介紹了在當(dāng)今軟件行業(yè)已有眾多測(cè)試手段下為什么形式化方法尤為重要?本期我們將分享Ansys SCADE在航空電傳飛控系統(tǒng)中的應(yīng)用。全文將從民用飛機(jī)的飛行控制系統(tǒng)、空客的電傳飛控系統(tǒng)、SCADE在空客電傳飛控中的應(yīng)用、空客在研發(fā)選用的工具鏈中對(duì)形式化方法的重視以及案例展現(xiàn)等多個(gè)方面來(lái)闡述基于SCADE的形式化方法在空客電傳飛控中的具體應(yīng)用。在后續(xù)專題內(nèi)容中我們還將推出包括軌道交通、核能重工及航天防衛(wèi)等行業(yè)應(yīng)用案例。
1
飛行控制系統(tǒng)簡(jiǎn)介
飛機(jī)的飛行控制系統(tǒng)(FCS: Flight Control System)就是利用控制原理使得飛機(jī)的操縱面(又稱舵面,surface or rudder)偏轉(zhuǎn),以實(shí)現(xiàn)對(duì)飛機(jī)的姿態(tài)和航跡運(yùn)動(dòng)進(jìn)行穩(wěn)定控制的系統(tǒng)。飛控系統(tǒng)通常包括
飛行器運(yùn)動(dòng),包括其重心的線運(yùn)動(dòng)、繞機(jī)體軸的角運(yùn)動(dòng)(升降舵Elevator完成俯仰Pitch,副翼Aileron完成滾轉(zhuǎn)Roll,方向舵Rudder完成偏航Y(jié)aw),以及飛行器結(jié)構(gòu)模態(tài)的變化;
完成對(duì)飛機(jī)姿態(tài)和航跡運(yùn)動(dòng)的穩(wěn)定和控制所需的所有硬件及軟件
圖表1:飛行控制示意圖
通常認(rèn)為,迄今為止飛控系統(tǒng)共演進(jìn)了四代,分別是簡(jiǎn)單機(jī)械控制系統(tǒng)、液壓助力控制系統(tǒng)、增穩(wěn)控制系統(tǒng)和電傳控制系統(tǒng)。
展開 干貨:嵌入式系統(tǒng)設(shè)計(jì)開發(fā)大全!
第3層次設(shè)計(jì)方法對(duì)一般具體應(yīng)用人員來(lái)說(shuō),只能用來(lái)設(shè)計(jì)簡(jiǎn)單的單片系統(tǒng)。而復(fù)雜的單片系統(tǒng)則是某些大的半導(dǎo)體廠商才能設(shè)計(jì)和實(shí)現(xiàn)的,并且用這種方法實(shí)現(xiàn)的單片系統(tǒng),只可能是那些廣泛使用、具有一定規(guī)模的應(yīng)用系統(tǒng)才值得投入研制。還有些應(yīng)用系統(tǒng),因?yàn)榧夹g(shù)問題或商業(yè)價(jià)值問題并不適宜用單片實(shí)現(xiàn)。當(dāng)它們以商品形式推出相應(yīng)單片系統(tǒng)后,應(yīng)用人員只要會(huì)選用即可。
所以,3個(gè)層次的設(shè)計(jì)方法會(huì)并存,并不會(huì)簡(jiǎn)單地用后者取代前者。初級(jí)應(yīng)用設(shè)計(jì)人員會(huì)以第1種方法為主;富有經(jīng)驗(yàn)的設(shè)計(jì)人員會(huì)以第2種方法為主;很專業(yè)的設(shè)計(jì)人員會(huì)用第3種方法進(jìn)行簡(jiǎn)單單片系統(tǒng)的設(shè)計(jì)和應(yīng)用。但所有的設(shè)計(jì)人員都可以應(yīng)用半導(dǎo)體大廠商推出的用第3種方法設(shè)計(jì)的專用單片系統(tǒng)。
04
嵌入式硬件系統(tǒng)設(shè)計(jì)
嵌入式設(shè)計(jì)是個(gè)龐大的工程,在軟件方面嵌入式ARM已經(jīng)有了多次介紹,具體可以觀看《
深度:嵌入式系統(tǒng)的軟件架構(gòu)設(shè)計(jì)!》一文。在硬件電路設(shè)計(jì)方面,21ic家了解到有幾個(gè)注意事項(xiàng),首先,咱們了解下嵌入式的硬件構(gòu)架。
我們知道,CPU是這個(gè)系統(tǒng)的靈魂,所有的外圍配置都與其相關(guān)聯(lián),這也突出了嵌入式設(shè)計(jì)的一個(gè)特點(diǎn)硬件可剪裁。在做嵌入式硬件設(shè)計(jì)中,以下幾點(diǎn)需要關(guān)注。
展開 
嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證
圖表8 SCADE Display代碼生成器進(jìn)行模型規(guī)則檢查
1.2 模型非交互式仿真
如果用戶使用SCADE Display設(shè)計(jì)的是非交互式的人機(jī)界面,則可以使用提供的Animation功能進(jìn)行模型仿真,觀察圖像隨著輸入?yún)?shù)的變化而變化。
視頻1: 基于SCADE Display模型的非交互式仿真
1.3 模型交互式仿真
如果用戶使用SCADE Display設(shè)計(jì)的是交互式的人機(jī)界面,則可以使用提供的Simulation功能進(jìn)行模型仿真,觀察圖像隨著輸入、輸出參數(shù)的變化而變化。值得一提的是,該仿真器還可以自動(dòng)捕捉鼠標(biāo)、鍵盤兩個(gè)外設(shè)的信息,進(jìn)行交互式仿真。
視頻2: 基于SCADE Display模型的交互式仿真
1.4 生成獨(dú)立可執(zhí)行程序
如果用戶在SCADE Display模型中已經(jīng)嵌入了控制邏輯代碼(可以是手寫編碼,也可以是SCADE Suite設(shè)計(jì),或是兩者的混合),則可以使用SCADE Display提供的Standalone功能一鍵編譯生成獨(dú)立可執(zhí)行程序,獨(dú)立可執(zhí)行程序包括基于Windows操作系統(tǒng)和基于Android操作系統(tǒng)兩個(gè)方式。
展開 嵌入式系統(tǒng)的軟件架構(gòu)設(shè)計(jì)!
前言
嵌入式是軟件設(shè)計(jì)領(lǐng)域的一個(gè)分支,它自身的諸多特點(diǎn)決定了系統(tǒng)架構(gòu)師的選擇,同時(shí)它的一些問題又具有相當(dāng)?shù)耐ㄓ眯裕梢酝茝V到其他的領(lǐng)域。
提起嵌入式軟件設(shè)計(jì),傳統(tǒng)的印象是單片機(jī),匯編,高度依賴硬件。傳統(tǒng)的嵌入式軟件開發(fā)者往往只關(guān)注實(shí)現(xiàn)功能本身,而忽視諸如代碼復(fù)用,數(shù)據(jù)和界面分離,可測(cè)試性等因素。從而導(dǎo)致嵌入式軟件的質(zhì)量高度依賴開發(fā)者的水平,成敗系之一身。
隨著嵌入式軟硬件的飛速發(fā)展,今天的嵌入式系統(tǒng)在功能,規(guī)模和復(fù)雜度各方面都有了極大的提升。比如,Marvell公司的PXA3xx系列的最高主頻已經(jīng)達(dá)到800Mhz,內(nèi)建USB,WIFI,2D圖形加速,32位DDR內(nèi)存。
在硬件上,今天的嵌入式系統(tǒng)已經(jīng)達(dá)到甚至超過(guò)了數(shù)年前的PC平臺(tái)。在軟件方面,完善的操作系統(tǒng)已經(jīng)成熟,比如Symbian, Linux, WinCE。
基于完善的操作系統(tǒng),諸如字處理,圖像,視頻,音頻,游戲,網(wǎng)頁(yè)瀏覽等各種應(yīng)用程序?qū)映霾桓F,其功能性和復(fù)雜度比諸PC軟件不遑多讓。原來(lái)多選用專用硬件和專用系統(tǒng)的一些商業(yè)設(shè)備公司也開始轉(zhuǎn)換思路,以出色而廉價(jià)的硬件和完善的操作系統(tǒng)為基礎(chǔ),用軟件的方式代替以前使用專有硬件實(shí)現(xiàn)的功能,從而實(shí)現(xiàn)更低的成本和更高的可變更,可維護(hù)性。
2.決定架構(gòu)的因素和架構(gòu)的影響
架構(gòu)不是一個(gè)孤立的技術(shù)的產(chǎn)物,它受多方面因素的影響。同時(shí),一個(gè)架構(gòu)又對(duì)軟件開發(fā)的諸多方面造成影響。
下面舉一個(gè)具體的例子。
摩托車的發(fā)動(dòng)機(jī)在出廠前必須通過(guò)一系列的測(cè)試。在流水線上,發(fā)動(dòng)機(jī)被送到每個(gè)工位上,由工人進(jìn)行諸如轉(zhuǎn)速,噪音,振動(dòng)等方面的測(cè)試。要求實(shí)現(xiàn)一個(gè)嵌入式設(shè)備,具備以下基本功能:
安裝在工位上,工人上班前開啟并登錄。
通過(guò)傳感器自動(dòng)采集測(cè)試數(shù)據(jù),并顯示在屏幕上。
展開 嵌入式系統(tǒng) | 基于SCADE Suite模型的驗(yàn)證
本文作為#嵌入式系統(tǒng)Ansys SCADE系列專題內(nèi)容,此次將主要介紹『基于SCADE Suite模型的驗(yàn)證』,第一部分是關(guān)于驗(yàn)證手段的介紹,其中包含Ansys SCADE Suite支持的驗(yàn)證工具介紹;第二部分是介紹如何使用SCADE認(rèn)證級(jí)測(cè)試環(huán)境;第三至第七部分是其他驗(yàn)證手段的介紹。
1
基于SCADE Suite模型的驗(yàn)證
1.1 不含模型的傳統(tǒng)驗(yàn)證手段
《安全關(guān)鍵軟件開發(fā)與審定—DO-178C標(biāo)準(zhǔn)實(shí)踐指南》書中指出:驗(yàn)證,是應(yīng)用于整個(gè)軟件生命周期的一個(gè)整體性過(guò)程。在DO-178C中的驗(yàn)證,是包括評(píng)審、分析和測(cè)試的一個(gè)組合。評(píng)審是提供一個(gè)定性的評(píng)估;分析是提供正確性的可重復(fù)的證據(jù);測(cè)試是運(yùn)行一個(gè)系統(tǒng)或系統(tǒng)部件,以驗(yàn)證它滿足指定的需求并檢測(cè)其錯(cuò)誤。
1.2 新增模型后的驗(yàn)證手段:模型仿真
《基于模型的開發(fā)和驗(yàn)證標(biāo)準(zhǔn)—DO-331》中指出使用基于模型的開發(fā)和驗(yàn)證(MBDV)后,就在傳統(tǒng)驗(yàn)證手段基礎(chǔ)上增加了模型仿真。
展開 Ansys電磁和嵌入式系統(tǒng)
ANSYS仿真軟件可為解決天線和雷達(dá)開發(fā)、EMI-EMC預(yù)測(cè)、信號(hào)完整性、芯片封裝系統(tǒng)設(shè)計(jì)和電子產(chǎn)品冷卻等復(fù)雜任務(wù)提供高保真工具,使汽車行業(yè)能夠應(yīng)對(duì)這些挑戰(zhàn)。ANSYS的工具正在掀起一場(chǎng)控制器軟件開發(fā)革命,利用高速運(yùn)行的、基于模型的高保真系統(tǒng)工程解決方案,為控制器軟件驗(yàn)證創(chuàng)建模型。其嵌入式代碼自動(dòng)生成工具已通過(guò)認(rèn)證,無(wú)需再進(jìn)行控制器軟件驗(yàn)證。
嵌入式系統(tǒng) | 基于SCADE Display模型的驗(yàn)證
視頻2: 基于SCADE Display模型的交互式仿真
1.4 生成獨(dú)立可執(zhí)行程序
如果用戶在SCADE Display模型中已經(jīng)嵌入了控制邏輯代碼(可以是手寫編碼,也可以是SCADE Suite設(shè)計(jì),或是兩者的混合),則可以使用SCADE Display提供的Standalone功能一鍵編譯生成獨(dú)立可執(zhí)行程序,獨(dú)立可執(zhí)行程序包括基于Windows操作系統(tǒng)和基于Android操作系統(tǒng)兩個(gè)方式。不過(guò),生成基于Android操作系統(tǒng)的獨(dú)立可執(zhí)行程序,需要預(yù)先安裝Android Studio IDE, Android Software Development Kit (SDK)和Android Native Development Kit (NDK)三款軟件包。
展開 嵌入式系統(tǒng) | 基于SCADE Suite模型的驗(yàn)證
本文作為#嵌入式系統(tǒng)Ansys SCADE系列專題內(nèi)容,此次將主要介紹『基于SCADE Suite模型的驗(yàn)證』,第一部分是關(guān)于驗(yàn)證手段的介紹,其中包含Ansys SCADE Suite支持的驗(yàn)證工具介紹;第二部分是介紹如何使用SCADE認(rèn)證級(jí)測(cè)試環(huán)境;第三至第七部分是其他驗(yàn)證手段的介紹。
1
基于SCADE Suite模型的驗(yàn)證
1.1 不含模型的傳統(tǒng)驗(yàn)證手段
《安全關(guān)鍵軟件開發(fā)與審定—DO-178C標(biāo)準(zhǔn)實(shí)踐指南》書中指出:驗(yàn)證,是應(yīng)用于整個(gè)軟件生命周期的一個(gè)整體性過(guò)程。在DO-178C中的驗(yàn)證,是包括評(píng)審、分析和測(cè)試的一個(gè)組合。評(píng)審是提供一個(gè)定性的評(píng)估;分析是提供正確性的可重復(fù)的證據(jù);測(cè)試是運(yùn)行一個(gè)系統(tǒng)或系統(tǒng)部件,以驗(yàn)證它滿足指定的需求并檢測(cè)其錯(cuò)誤。
展開 嵌入式系統(tǒng) | 細(xì)數(shù)Ansys SCADE的前世今生
區(qū)別于傳統(tǒng)基于SysML的架構(gòu)設(shè)計(jì)工具,SCADE Architect支持在SysML的基礎(chǔ)進(jìn)行封裝定制,擴(kuò)展出了符合ARP 4754A流程的航空嵌入式系統(tǒng)設(shè)計(jì)解決方案 (支持導(dǎo)出符合ARINC 429,ARINC 664,ARINC 653等協(xié)議的ICD;支持基于AADL 2.2版本對(duì)航電非功能屬性進(jìn)行建模、實(shí)現(xiàn)虛擬系統(tǒng)的集成;支持FACE: Future Airborne Capability Environment架構(gòu)(最高3.0版本))、擴(kuò)展出了符合ISO 26262流程的汽車嵌入式系統(tǒng)設(shè)計(jì)解決方案(支持AUTOSAR標(biāo)準(zhǔn))。
同年,為了專注于安全關(guān)鍵系統(tǒng)領(lǐng)域的業(yè)務(wù),愛斯特爾技術(shù)公司將研制多年的旨在簡(jiǎn)化電子系統(tǒng)級(jí)(ESL)設(shè)計(jì)和系統(tǒng)級(jí)芯片(SoC)設(shè)計(jì)的EDA工具Esterel Studio 出售給了Synfora公司。而2010年,Synopsys公司又收購(gòu)了Synfora公司。盡管如此,SCADE依然可以通過(guò)定制與部分硬件設(shè)計(jì)語(yǔ)言進(jìn)行橋接或轉(zhuǎn)換。
2011年愛斯特爾技術(shù)公司推出SCADE Lifecycle產(chǎn)品,用于幫助系統(tǒng)和軟件開發(fā)人員進(jìn)行產(chǎn)品的全生命周期管理。
2012年愛斯特爾技術(shù)公司推出SCADE ARINC 661解決方案,可用于符合ARINC 661標(biāo)準(zhǔn)的交互式座艙顯示系統(tǒng)的設(shè)計(jì)。SCADE ARINC 661是業(yè)內(nèi)唯一的、以基于模型的方式完全實(shí)現(xiàn)ARINC 661標(biāo)準(zhǔn)版本4和版本5中定義的所有控件 (Widget)的解決方案。當(dāng)前兼容支持的最高版本為ARINC 661版本6(含93個(gè)Widget,15個(gè)Extension) 。
同年,Ansys收購(gòu)愛斯特爾技術(shù)公司,并將其歸于Ansys的系統(tǒng)事業(yè)部(System Business Unit)。
展開 
一個(gè)嵌入式Linux系統(tǒng)開發(fā)平臺(tái)的構(gòu)建(轉(zhuǎn))
一個(gè)嵌入式Linux系統(tǒng)開發(fā)平臺(tái)的構(gòu)建.pdf
嵌入式系統(tǒng) | Ansys SCADE在核電項(xiàng)目Connexion中的應(yīng)用
在由Ansys中國(guó)系統(tǒng)事業(yè)部全新推出的<嵌入式系統(tǒng)>專題內(nèi)容中,已持續(xù)為大家?guī)?lái)Ansys SCADE在航空電傳飛控系統(tǒng)、軌交列車控制系統(tǒng)以及航天防衛(wèi)中的應(yīng)用做了詳細(xì)介紹。本期將為大家分享其在核能重工行業(yè)的應(yīng)用案例——核電項(xiàng)目Connexion。本文第一節(jié)簡(jiǎn)要介紹了Connexion項(xiàng)目的內(nèi)容,第二節(jié)描述了改進(jìn)的儀控系統(tǒng)的開發(fā)流程,第三節(jié)是Connexion項(xiàng)目根據(jù)改進(jìn)的流程選用的工具鏈,第四節(jié)介紹了項(xiàng)目中基于模型的測(cè)試方法,特別是如何使用模型檢查技術(shù)生成覆蓋分析相關(guān)的測(cè)試用例,第五節(jié)以SRI案例介紹具體的應(yīng)用。第六節(jié)是Connexion項(xiàng)目后續(xù)演進(jìn)的介紹。
1
Connexion項(xiàng)目簡(jiǎn)介
2012年法國(guó)核電領(lǐng)域的工業(yè)方和學(xué)術(shù)界共同發(fā)起了名為CONNEXION(名稱源自藍(lán)色字母的縮寫COntr?le Commande Nucléaire Numérique pour l'EXport et la rénovatION)的項(xiàng)目。
展開 嵌入式系統(tǒng)詞匯表
大多數(shù)C/C++交叉編譯器在你可以修改、編譯他連接你的嵌入式程序時(shí)與啟動(dòng)代碼一起來(lái)到。
▎ T
Target(目標(biāo)機(jī)) Another name for the embedded system. This term is usually used during software development, to distinguish the embedded system from the host with which it communicates. 嵌入式系統(tǒng)的另一個(gè)名字。這個(gè)術(shù)語(yǔ)常常在軟件開發(fā)期間使用,用來(lái)區(qū)別與嵌入式系統(tǒng)通訊的主機(jī)。
Task(任務(wù)) The central abstraction of an operating system. Each task must maintain its own copy of the instruction pointer and general-purpose registers. Unlike processes, tasks share a common memory space and must be careful to avoid overwriting each other"s code and data.
Thread(線程) Another name for a task. This name is more common in operating systems that support processes. A task is simply a thread in a single-process system.
展開 嵌入式系統(tǒng) | 基于SCADE模型的形式化方法
在上期嵌入式系統(tǒng)專題內(nèi)容中,針對(duì)Ansys SCADE的誕生、發(fā)展及應(yīng)用做了詳細(xì)梳理(詳見:嵌入式系統(tǒng) | 細(xì)數(shù)Ansys SCADE的前世今生)。本文將重點(diǎn)闡述“基于SCADE模型的形式化方法”,做個(gè)通俗的比喻,形式化方法就是將程序抽象為一個(gè)數(shù)學(xué)公式,然后用嚴(yán)密的數(shù)學(xué)推理來(lái)證實(shí)或證偽該公式。在當(dāng)下軟件行業(yè)已經(jīng)有眾多測(cè)試手段的前提下,為什么還需要形式化方法呢?
1972年的圖靈獎(jiǎng)得主Edsger Wybe Dijkstra說(shuō)道:“Program testing can be used to show the presence of bugs, but never to show their absence! ”,即測(cè)試只能表明程序中存在錯(cuò)誤,而不能表明程序中沒有錯(cuò)誤。除非對(duì)程序進(jìn)行的測(cè)試能夠窮盡所有可能的場(chǎng)景,否則傳統(tǒng)的測(cè)試手段無(wú)法完全保證系統(tǒng)的安全可靠。可以說(shuō),唯有形式化方法才能從根本上確保系統(tǒng)的安全可靠,而這一點(diǎn)在安全關(guān)鍵的系統(tǒng)中尤為重要。
1960年代,霍爾邏輯 (Hoare Logic) 是第一個(gè)關(guān)于形式化方法的學(xué)說(shuō),從那時(shí)起的很長(zhǎng)時(shí)間,形式化方法主要應(yīng)用于學(xué)術(shù)界,后來(lái)再慢慢地拓展到了工業(yè)應(yīng)用的硬件領(lǐng)域。客觀地說(shuō),形式化方法在電子硬件世界中有更多的成功應(yīng)用——主要是因?yàn)橛布ぞ吒鼧?biāo)準(zhǔn)化和穩(wěn)定,而軟件領(lǐng)域還未達(dá)到那樣的程度。軟件領(lǐng)域的系統(tǒng)設(shè)計(jì)、高層需求對(duì)應(yīng)的模型,可能因?yàn)椴痪邆渥銐虻募?xì)節(jié),無(wú)法對(duì)一些屬性進(jìn)行有意義的分析,形式化方法的應(yīng)用效果、實(shí)用價(jià)值一般。目前,形式化方法在詳細(xì)設(shè)計(jì)層面(Low-level requirement),對(duì)于軟件行為等模型較為適用。
展開