PLC程序組合檢測理論與方法
定 價:139 元
叢書名:中國航天科技前沿出版工程·中國航天空間信息技術(shù)系列
本書針對控制系統(tǒng)PLC程序的正確性和可信性檢測驗證問題,介紹了以形式化理論方法綜合運用形成組合檢測驗證體系,從多個層次檢測驗證PLC程序動態(tài)、靜態(tài)和運行的正確性
工業(yè)控制系統(tǒng)廣泛應用于航空航天、國防工程、電力、水利、交通運輸、核電站和石油化工等安全攸關(guān)行業(yè),是國家安全的重要組成部分?删幊踢壿嬁刂破鳎≒rogramming Logic Controler,PLC)是一種嵌入式系統(tǒng)和自動控制系統(tǒng)的核心部件,其復雜性及規(guī)模也愈加龐大,PLC運行所依賴的PLC程序正確性、可信性保障變得愈加緊迫。國際上,雖經(jīng)測試的軟件由于軟件可信性問題所導致的重大災難、事故和嚴重損失屢見不鮮,如何保證PLC程序正確性得到可信驗證已經(jīng)成為工業(yè)控制領(lǐng)域的重大現(xiàn)實問題。本書旨在總結(jié)在PLC程序正確性和可信安全驗證方面的研究工作,體系化構(gòu)建集程序測試、模型檢測、定理證明、可信驗證和檢測優(yōu)化為一體的組合檢測理論與方法,解決PLC程序運行可信性、安全與正確屬性檢測驗證等問題。
工業(yè)控制系統(tǒng)廣泛應用于航空航天、國防工程、電力、水利、交通運輸、核電站和石油化工等安全攸關(guān)行業(yè),是國家安全的重要組成部分?删幊踢壿嬁刂破鳎╬rogramming logic controller,PLC)是一種嵌入式系統(tǒng)和自動控制系統(tǒng)的核心部件,其復雜性及規(guī)模也愈加龐大,PLC運行所依賴的PLC程序正確性、可信性保障變得愈加緊迫。國際上,由于軟件可信性驗證存在問題,經(jīng)過測試的軟件導致的重大災難、事故和嚴重損失屢見不鮮,因此如何保證PLC程序正確性得到可信驗證已經(jīng)成為工業(yè)控制領(lǐng)域的重大現(xiàn)實問題。國內(nèi)外為軟件正確性、可信性的檢測驗證投入了大量人力、物力,如美國國防部先進研究項目局(Defence Advanced Research Projects Agency,DARPA)、美國國家科學基金會(National Science Foundation,NSF)、美國國家航空航天局(National Aeronautics and Space Administration,NASA)、美國聯(lián)邦航空管理局(Federal Aviation Administration,F(xiàn)AA)、美國國防部(Department of Defence,DoD)、歐洲航天局(European Space Agency,ESA)、歐盟等,都先后支持了很多項目研究,這些研究大多關(guān)注常用編程語言編制的軟件,取得了很好的效果。但是針對控制系統(tǒng)PLC程序的檢測驗證,立足在不同應用領(lǐng)域上開展研究,呈現(xiàn)碎片化狀態(tài)。由于不同的檢測驗證方法各有所長,所以集合各方法之所長、形成體系化優(yōu)勢,應用到安全攸關(guān)工業(yè)控制領(lǐng)域,是一種很好的技術(shù)途徑。目前,中國航天領(lǐng)域高速發(fā)展的多模式進入空間,跨越了陸地固定與機動發(fā)射、海上發(fā)射,以及空域和天域測量保障與安全控制等,控制系統(tǒng)是航天工業(yè)的重要核心組成部分,PLC程序控制的對象繁雜、構(gòu)成復雜、平臺多樣和廣域散布,涉及航天任務安全。近十多年來,在國家、軍隊和省部級等十余項重大科技攻關(guān)項目支持下,航天自主可控PLC研制項目組率先開展航天多域異構(gòu)控制系統(tǒng)可信安全關(guān)鍵技術(shù)集智攻關(guān)與工程應用,在體系、系統(tǒng)、保障和產(chǎn)業(yè)上取得了成體系技術(shù)突破。這些技術(shù)成果也應用到了我國國防、航天、核電、風電、船舶、電子、鐵路等領(lǐng)域。本書旨在總結(jié)項目組在PLC程序正確性和可信安全驗證方面的研究工作,體系化構(gòu)建集程序測試、模型檢測、定理證明、可信驗證和檢測優(yōu)化于一體的組合檢測理論與方法,解決PLC程序運行可信性、安全與正確屬性檢測驗證等問題,拋磚引玉,促進我國相關(guān)領(lǐng)域的發(fā)展。本書共9章,第1章介紹PLC程序檢測驗證需求背景及其不同層次的檢測驗證研究現(xiàn)狀;第2章研究構(gòu)建了PLC程序組合檢測體系架構(gòu),提出了組合檢測方法學,闡述了相關(guān)機理,界定了研究邊界;第3章按照IEC 61131-3標準提出PLC程序體系結(jié)構(gòu),形式化定義PLC程序指令的指稱語義和指稱語義函數(shù),使多種多層次檢測驗證具有統(tǒng)一的語義和約束,支撐各方法優(yōu)勢互補;第4章在代碼層,提出了一種基于組合機制的軟件測試框架和測試方法,等效測試極限邊界條件下的PLC程序,提高測試的覆蓋性和PLC程序的可達性驗證;第5章在模型層,設計了PLC程序?qū)姆栠w移系統(tǒng)的變元集合、謂詞和遷移函數(shù),以及基于組合策略的模型檢測方法,驗證PLC程序運行時的動態(tài)行為的正確性,降低驗證規(guī)模;第6章在規(guī)約層,提出了一種基于定理證明技術(shù)的PLC程序正確性驗證框架,驗證PLC程序在一個掃描周期內(nèi)程序的正確性質(zhì)或靜態(tài)性質(zhì);第7章在應用層,設計了發(fā)射場控制系統(tǒng)構(gòu)成,開展了組合檢測技術(shù)在航天發(fā)射擺桿控制系統(tǒng)案例上的檢測應用;第8章在運行層,提出了一種控制系統(tǒng)可信運行與驗證的策略,確保在計算資源有限的PLC上實現(xiàn)PLC程序運行狀態(tài)可信計算驗證;第9章在優(yōu)化層,基于實際物理測試和組合檢測的視角,以相關(guān)性驅(qū)動優(yōu)化檢測流程,縮短檢測任務周期。由于本書涉及的理論、技術(shù)、研究成果較多,在許多關(guān)鍵理論、技術(shù)或成果之處提供了較多的參考文獻標注,以便讀者深入研究。本書主要由肖力田負責編寫完成;肖楠負責第4章組合測試方法和測試驗證的研究,對研究現(xiàn)狀和檢測驗證工具等文獻資料進行分析;李孟源負責對發(fā)射場控制系統(tǒng)、PLC程序?qū)崿F(xiàn)、發(fā)射場實際控制案例等進行研究,使本書內(nèi)容能夠結(jié)合航天發(fā)射場進行檢測驗證。清華大學軟件學院孫家廣院士和顧明教授對本書的部分研究內(nèi)容進行了指導;清華大學賀飛副教授、張荷花副研究員、萬海副研究員、劉喻高級工程師,首都師范大學王瑞教授,美國波特蘭州立大學宋曉宇教授,國防科技大學毛曉光教授、劉萬偉教授,中國電子信息產(chǎn)業(yè)集團有限公司宋黎定首席專家、第六研究所豐大軍正高級工程師,浙江中控研究院有限公司施一明總裁、王天林總工程師、劉國安高級工程師等對本書的研究工作給予了支持和幫助;出版社余敬春編審為本書的出版做了大量工作。北京特種工程設計研究院和管理層負責人,以及中國航天空間信息技術(shù)系列編審委員會對本書相關(guān)研究工作給予了全力支持,侯科文、張大偉、董強、袁啟平、蘇劍彬等對本書的出版給予了幫助。在此一并表示衷心的感謝!由于作者水平有限,書中難免存在不足之處,敬請讀者和專家批評指正。
肖力田,清華大學計算機科學與技術(shù)博士,北京特種工程設計研究院首席專家兼航天發(fā)射場建設責任總師、研究員;多個中央與國家專家咨詢委員會委員。作為我國航天測試發(fā)射與控制技術(shù)領(lǐng)域?qū)<遥L期從事航天發(fā)射場總體論證、規(guī)劃、發(fā)展戰(zhàn)略和試驗技術(shù)等研究工作,是我國新型航天發(fā)射場建設的體系設計者和重要開拓者之一。先后擔任項目負責人、總師和第一技術(shù)責任人,出色主持完成了一系列國家重大工程研究設計與建設任務;擔任指揮部成員和測試發(fā)射總體技術(shù)專家,遂行保障了200余次重大發(fā)射任務,為我國航天發(fā)射領(lǐng)域建設跨越式發(fā)展做出了卓越貢獻。先后獲國家科技進步特等獎1項、二等獎1項,國家勘察設計金獎1項等;軍隊及省部級科技進步獎等44項(一等獎4項、二等獎10項);發(fā)明專利與軟件著作權(quán)47項,發(fā)表學術(shù)論文120余篇、著作5部,編制航天發(fā)射場類國軍標3項。享受國務院政府特殊津貼;榮獲中國航天基金會獎、信息化突出貢獻人物獎,榮立個人二等功1次;原國防科學技術(shù)工業(yè)委員會授予十大標兵稱號與英模等榮譽。
第1章 緒論 11.1 研究背景 21.1.1 PLC運行環(huán)境 51.1.2 PLC程序驗證需求 71.2 程序正確性檢測的現(xiàn)狀 81.2.1 代碼層次的測試技術(shù) 91.2.2 模型層次的模型檢測技術(shù) 101.2.3 規(guī)約層次的定理證明技術(shù) 141.2.4 運行層次的狀態(tài)檢測技術(shù) 161.3 程序檢測流程優(yōu)化技術(shù)研究現(xiàn)狀 241.3.1 工作流程計劃相關(guān)研究 251.3.2 軟件檢測計劃優(yōu)化技術(shù) 321.3.3 PLC程序檢測計劃技術(shù) 361.4 本書主要內(nèi)容 37第2章 PLC程序組合檢測體系架構(gòu) 392.1 PLC工作模式以及系統(tǒng)模型 412.2 PLC程序組合檢測體系 442.2.1 PLC組合檢測體系構(gòu)成 442.2.2 PLC程序組合檢測方法學 452.3 PLC程序組合檢測機理 482.3.1 PLC程序組合檢測流程 482.3.2 PLC程序模塊組合機制 502.4 PLC程序組合檢測研究內(nèi)容 542.5 本章小結(jié) 57第3章 PLC程序指稱語義 593.1 PLC主要編程指令簡介 603.1.1 IEC 61131-3 603.1.2 PLC主要硬件單元 613.1.3 PLC主要編程指令集 643.2 PLC程序體系結(jié)構(gòu)的定義 733.3 PLC程序的指稱語義定義 763.3.1 PLC程序語句塊的劃分與定義 763.3.2 PLC程序基本語句塊的指稱語義函數(shù) 793.4 本章小結(jié) 86第4章 PLC程序的組合測試 874.1 軟件測試技術(shù)概述 884.2 PLC嵌入式軟件測試技術(shù)的適應性研究分析 884.3 基于組合的PLC測試技術(shù) 924.3.1 PLC程序組合測試框架 924.3.2 PLC代碼塊的TA代碼 934.4 本章小結(jié) 100第5章 PLC程序的組合模型檢測 1025.1 組合模型檢測的主要思路 1035.2 線性時序邏輯語法、語義 1055.3 線性時序邏輯的模型檢測問題 1065.4 模型檢測工具 1085.4.1 模型檢測工具分類 1085.4.2 面向?qū)傩则炞C的工具 1105.4.3 面向系統(tǒng)分析和建模的工具 1135.4.4 面向源程序驗證的工具 1175.4.5 模型檢測驗證工具選擇 1245.5 PLC程序的符號遷移系統(tǒng)表示 1255.6 PLC程序的組合模型檢測 1285.6.1 通用的組合檢測規(guī)則 1295.6.2 PLC程序特有的組合規(guī)則 1315.7 組合模型檢測的正確性 1335.7.1 通用的組合檢測規(guī)則 1335.7.2 PLC程序特有的組合檢測規(guī)則 1365.8 檢測策略的案例分析 1385.9 本章小結(jié) 141第6章 PLC程序的組合證明 1426.1 定理證明工具 1446.1.1 COQ定理證明器 1456.1.2 Automath定理證明器 1466.1.3 Nqthm和ACL2定理證明器 1476.1.4 Isabelle/HOL定理證明器 1496.1.5 PVS定理證明器 1516.1.6 Nuprl和LEGO證明開發(fā)系統(tǒng) 1526.1.7 Mizar項目 1546.2 直覺主義邏輯及其一階邏輯定義 1556.3 交互式定理證明工具COQ 1596.4 基于COQ的PLC程序建模 1616.5 基于COQ的PLC程序性質(zhì)證明 1736.6 本章小結(jié) 174第7章 PLC程序組合檢測實際應用 1767.1 發(fā)射場系統(tǒng)任務與組成 1777.1.1 傳統(tǒng)發(fā)射場系統(tǒng) 1787.1.2 先進航天發(fā)射場系統(tǒng) 1807.2 發(fā)射場控制系統(tǒng) 1857.2.1 發(fā)射場智能系統(tǒng)構(gòu)成 1857.2.2 發(fā)射場控制系統(tǒng)組成 1877.3 案例概述 1897.4 航天發(fā)射擺桿控制系統(tǒng) 1907.5 航天發(fā)射擺桿控制系統(tǒng)PLC輸出驅(qū)動模塊 1927.5.1 發(fā)射擺桿控制功能 1927.5.2 正確性驗證性質(zhì) 1947.6 PLC輸出驅(qū)動模塊的組合測試 1967.6.1 實際測試 1967.6.2 組合測試 1977.7 PLC輸出驅(qū)動模塊的組合模型檢測 1987.8 PLC輸出驅(qū)動模塊的組合證明 1997.9 PLC輸出驅(qū)動模塊的組合檢測結(jié)果分析比較 2017.10 本章小結(jié) 202第8章 PLC程序運行狀態(tài)檢測 2038.1 控制系統(tǒng)遠程智能支持體系架構(gòu) 2048.1.1 現(xiàn)場級 2058.1.2 過程級 2068.1.3 遠程級 2068.1.4 控制任務中智能支持流程 2078.2 遠程智能支持構(gòu)建關(guān)鍵要素 2088.2.1 PLC程序運行狀態(tài)檢測驗證 2088.2.2 控制系統(tǒng)智能故障診斷 2098.2.3 智能遠程支持 2108.2.4 遠程智能支持平臺構(gòu)建 2118.3 可信標簽和檢測驗證協(xié)議 2128.3.1 可信標簽構(gòu)建 2128.3.2 可信標簽簽名算法分析 2148.3.3 PLC程序狀態(tài)遷移串行可信標簽檢測驗證協(xié)議 2158.3.4 PLC程序狀態(tài)遷移并行可信標簽檢測驗證協(xié)議 2188.3.5 協(xié)議原型系統(tǒng)部署試驗驗證 2208.4 PLC程序狀態(tài)遷移可信標簽檢測驗證協(xié)議的安全性分析 2218.4.1 外部獨立攻擊的安全性分析 2228.4.2 聯(lián)合攻擊的安全性分析 2238.5 本章小結(jié) 224第9章 相關(guān)性驅(qū)動檢測流程優(yōu)化 2259.1 過程模型的選擇 2269.1.1 以流程對象為主的過程模型 2269.1.2 測試計劃的過程模型 2289.2 PLC程序檢測過程模型的定義 2289.3 檢測流程中檢測項相關(guān)性 2329.4 檢測流程模型優(yōu)化框架 2339.4.1 強相關(guān)性檢測項的轉(zhuǎn)換 2339.4.2 強相關(guān)性檢測項的同步檢測 2349.4.3 強相關(guān)性檢測項的異步檢測 2349.5 相關(guān)性驅(qū)動的組合檢測流程優(yōu)化可行性 2369.6 本章小結(jié) 238參考文獻 239