• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      “功能安全產(chǎn)品實(shí)現(xiàn)技術(shù)”系列講座第8講 安全相關(guān)產(chǎn)品的軟件實(shí)現(xiàn)(二)

      2014-01-31 02:16:29廖麗華尹寶娟
      自動(dòng)化儀表 2014年1期
      關(guān)鍵詞:完整性文檔組件

      廖麗華 尹寶娟

      (上海工業(yè)自動(dòng)化儀表研究院1,上海 200233;上海儀器儀表自控檢驗(yàn)測(cè)試所2,上海 200233;環(huán)境保護(hù)部核與輻射安全中心3,北京 100082)

      0 引言

      安全相關(guān)產(chǎn)品的軟件實(shí)現(xiàn)的前期工作主要是軟件設(shè)計(jì),主要包括軟件架構(gòu)設(shè)計(jì)、支持工具選擇、軟件系統(tǒng)設(shè)計(jì)以及編碼實(shí)現(xiàn)的整個(gè)過(guò)程。軟件設(shè)計(jì)主要是從軟件安全要求規(guī)范與E/E/PE系統(tǒng)架構(gòu)出發(fā),根據(jù)其確定的功能需求設(shè)計(jì)軟件系統(tǒng)的整體架構(gòu)、選取合適的支持工具、劃分功能模塊、確定每個(gè)模塊的實(shí)現(xiàn)算法以及代碼的編寫規(guī)則,形成具體的設(shè)計(jì)方案。

      當(dāng)軟件執(zhí)行不同安全完整性等級(jí)的安全功能時(shí),所有的軟件都被認(rèn)為屬于最高安全完整性等級(jí),除非在設(shè)計(jì)中表明不同安全完整性等級(jí)的安全功能之間的充分獨(dú)立性。同時(shí)應(yīng)證明獨(dú)立性在空間域和時(shí)間域上均得到實(shí)現(xiàn),或任何對(duì)獨(dú)立性的違背均得到控制,且對(duì)獨(dú)立性的論證應(yīng)文檔化。

      在軟件的整個(gè)設(shè)計(jì)階段選取技術(shù)和措施時(shí),應(yīng)考慮軟件設(shè)計(jì)的下列屬性:①有關(guān)軟件安全要求規(guī)范的完整性;②有關(guān)軟件安全要求規(guī)范的正確性;③防止固有設(shè)計(jì)錯(cuò)誤;④簡(jiǎn)單性和易懂性;⑤行為的可預(yù)見性;⑥可驗(yàn)證和可測(cè)試的設(shè)計(jì);⑦故障裕度;⑧抵御外部事件造成的共因失效。

      在安全相關(guān)軟件的實(shí)現(xiàn)過(guò)程中,也強(qiáng)調(diào)軟件的驗(yàn)證活動(dòng),以保證每個(gè)階段的工作都是正確的。軟件的驗(yàn)證活動(dòng)主要是驗(yàn)證每個(gè)階段的輸入、使用方法和準(zhǔn)則、輸出、進(jìn)度、資源、風(fēng)險(xiǎn)、假設(shè)、作用和職責(zé);驗(yàn)證的標(biāo)準(zhǔn)是前一階段輸出文檔的要求和約束條件;驗(yàn)證的目的是判斷該階段的設(shè)計(jì)結(jié)果是否滿足前一階段的目的和要求;整個(gè)驗(yàn)證過(guò)程必須具有追溯性和重復(fù)性。

      1 軟件架構(gòu)設(shè)計(jì)

      從安全角度講,軟件架構(gòu)階段是軟件開發(fā)中確定基本安全策略的階段。軟件架構(gòu)定義軟件的主要組件和子系統(tǒng),包括它們?nèi)绾螌?shí)現(xiàn)內(nèi)部連接,如何獲得所要求的屬性,特別是安全完整性,還定義軟件的整體行為、軟件組件的接口和相互作用。主要軟件組件包括操作系統(tǒng)、數(shù)據(jù)庫(kù)、EUC輸入/輸出子系統(tǒng)、通信子系統(tǒng)、應(yīng)用程序、編程和診斷工具等;在某些工業(yè)領(lǐng)域中,軟件架構(gòu)可稱作功能描述或功能設(shè)計(jì)規(guī)范。

      軟件架構(gòu)在組件的非安全失效時(shí)受到架構(gòu)約束的限制,而選取的開發(fā)方法不僅應(yīng)滿足該約束,而且要將其應(yīng)用于開發(fā)和嚴(yán)格的確認(rèn)技術(shù),使其與要求的系統(tǒng)能力保持定性一致??紤]到軟件架構(gòu)設(shè)計(jì)階段中輸入文檔的要求,故其設(shè)計(jì)還須滿足軟件安全要求規(guī)范和E/E/PE系統(tǒng)硬件架構(gòu)設(shè)計(jì)的所有規(guī)定及其約束條件。如果軟件組件的系統(tǒng)能力低于其提供的安全功能的安全完整性等級(jí),組件應(yīng)與其他組件組合使用,以使組合的系統(tǒng)能力等于安全功能的安全完整性等級(jí)。

      軟件架構(gòu)設(shè)計(jì)的最終目的是創(chuàng)建的軟件架構(gòu)要滿足不同的安全完整性等級(jí)中對(duì)軟件安全規(guī)定的要求;評(píng)價(jià)由E/E/PE系統(tǒng)安全相關(guān)系統(tǒng)硬件結(jié)構(gòu)對(duì)軟件的要求對(duì)受控設(shè)備安全性的影響;為滿足要求的安全完整性等級(jí),選擇合適的工具集(包括語(yǔ)言和編譯器、系統(tǒng)接口、用戶界面、數(shù)據(jù)格式及其表示法),并應(yīng)用于軟件整個(gè)安全生命周期的輔助驗(yàn)證、確認(rèn)、評(píng)估和修改。

      軟件架構(gòu)設(shè)計(jì)應(yīng)由軟件提供方、開發(fā)人員共同建立和細(xì)化,其主要設(shè)計(jì)內(nèi)容如下。

      (1)為滿足軟件安全要求規(guī)范規(guī)定的安全完整性等級(jí),應(yīng)選擇并論證一組必要的技術(shù)和措施。這些技術(shù)和措施包括故障裕度(與硬件一致)和故障避免的軟件設(shè)計(jì)策略,包括(適用時(shí))冗余和多樣性。

      (2)根據(jù)組件/子系統(tǒng)的劃分,對(duì)每一部分應(yīng)提供以下信息:

      ①組件/子系統(tǒng)是否已被驗(yàn)證,如果是,則需提供它們的驗(yàn)證條件;

      ②每一個(gè)子系統(tǒng)/組件是否安全相關(guān);

      ③子系統(tǒng)/組件的軟件系統(tǒng)性能力。

      (3)確定所有軟件/硬件相互作用(已由系統(tǒng)架構(gòu)決定),并評(píng)價(jià)和細(xì)化它們的重要性。

      (4)使用符號(hào)表示法表示清楚定義的或限制清楚定義特性的結(jié)構(gòu)。

      (5)選擇用于保持所有數(shù)據(jù)安全完整性的設(shè)計(jì)特性。這種數(shù)據(jù)可包括裝置輸入/輸出數(shù)據(jù)、通信數(shù)據(jù)、操作界面數(shù)據(jù)、維護(hù)數(shù)據(jù)和內(nèi)部數(shù)據(jù)庫(kù)數(shù)據(jù)。

      (6)規(guī)定適當(dāng)?shù)能浖軜?gòu)集成測(cè)試來(lái)保證軟件架構(gòu)/系統(tǒng)滿足軟件安全要求規(guī)范要求的安全完整性等級(jí)(需要硬件開發(fā)人員參與)。

      軟件架構(gòu)設(shè)計(jì)階段的驗(yàn)證活動(dòng)完全結(jié)束后應(yīng)產(chǎn)生的文檔有:軟件架構(gòu)設(shè)計(jì)、軟件架構(gòu)集成測(cè)試規(guī)范、軟件/可編程電子集成測(cè)試規(guī)范與系統(tǒng)安全相關(guān)軟件方面的確認(rèn)計(jì)劃。

      2 支持工具

      軟件支持工具可以分為在線工具與離線工具,在線支持工具應(yīng)作為安全相關(guān)系統(tǒng)的軟件組件來(lái)考慮,而離線支持工具只作為軟件開發(fā)活動(dòng)相關(guān)的密切相關(guān)部分。在開發(fā)過(guò)程中,應(yīng)當(dāng)使用合適的離線工具支持軟件開發(fā),通過(guò)降低引入或無(wú)法檢測(cè)到故障的可能性來(lái)增加軟件的完整性。

      軟件開發(fā)生命周期階段包括以下相關(guān)工具。

      (1)轉(zhuǎn)換或翻譯工具,將軟件或設(shè)計(jì)表述從抽象級(jí)別轉(zhuǎn)換到另一個(gè)級(jí)別,設(shè)計(jì)優(yōu)化工具、編譯器、匯編器、鏈接器、打包器、裝載器和代碼生成工具。

      (2)驗(yàn)證和確認(rèn)工具,例如靜態(tài)代碼分析器、測(cè)試覆蓋監(jiān)視器、原理證明輔助工具和仿真器等。

      (3)診斷工具,用于在運(yùn)行條件下維護(hù)和監(jiān)視軟件。

      (4)基礎(chǔ)設(shè)施工具,如開發(fā)支持系統(tǒng)。

      (5)配置控制工具,如版本控制工具。

      工具確認(rèn)結(jié)果應(yīng)文檔化并包括以下內(nèi)容。

      (1)確認(rèn)活動(dòng)按時(shí)間先后順序記錄。

      (2)所用工具產(chǎn)品手冊(cè)的版本。

      (3)被確認(rèn)的工具功能。

      (4)使用的工具和設(shè)備。

      (5)確認(rèn)活動(dòng)的結(jié)果,確認(rèn)的文檔化結(jié)果應(yīng)陳述軟件已通過(guò)確認(rèn)或失敗的原因。

      (6)測(cè)試用例及其后續(xù)分析的結(jié)果。

      (7)預(yù)期結(jié)果和實(shí)際結(jié)果的差異。

      開發(fā)所有安全相關(guān)軟件的編程語(yǔ)言應(yīng)根據(jù)合適的編程語(yǔ)言編碼標(biāo)準(zhǔn)來(lái)使用。編程語(yǔ)言編碼標(biāo)準(zhǔn)須規(guī)定良好的編程習(xí)慣,禁止不安全的語(yǔ)言特性(例如:未定義的語(yǔ)言特性、非結(jié)構(gòu)化設(shè)計(jì)等),促進(jìn)代碼的可讀性,便于驗(yàn)證和測(cè)試,并指定源代碼文檔化的規(guī)程。

      3 軟件系統(tǒng)設(shè)計(jì)

      軟件系統(tǒng)設(shè)計(jì)主要是將軟件架構(gòu)中的主要組件劃分為一個(gè)軟件模塊系統(tǒng);規(guī)定適當(dāng)?shù)能浖到y(tǒng)集成測(cè)試,以保證軟件系統(tǒng)滿足在所要求安全完整性等級(jí)上的軟件安全要求規(guī)范;設(shè)計(jì)并細(xì)化軟件模塊。以結(jié)構(gòu)化方法設(shè)計(jì)軟件仍是一種良好的實(shí)踐,包括將軟件組織成模塊化的結(jié)構(gòu),并分離出安全相關(guān)部分;包括范圍檢測(cè)和其他預(yù)防數(shù)據(jù)輸入錯(cuò)誤的特性、使用以往確認(rèn)過(guò)的軟件模塊并能提供便于未來(lái)軟件修改的設(shè)計(jì)。最終生成的軟件應(yīng)具有模塊化、可測(cè)試性和可安全修改的能力。

      進(jìn)入軟件設(shè)計(jì)階段的輸入文檔及要求:E/E/PE安全相關(guān)系統(tǒng)的要求規(guī)范、軟件架構(gòu)設(shè)計(jì)、支持工具和編碼標(biāo)準(zhǔn)、開發(fā)工具的選擇與系統(tǒng)安全相關(guān)軟件方面的確認(rèn)計(jì)劃。

      對(duì)于軟件架構(gòu)設(shè)計(jì)中的每一個(gè)主要組件/子系統(tǒng),設(shè)計(jì)的進(jìn)一步細(xì)化不僅應(yīng)根據(jù)基于軟件模塊的劃分,而且應(yīng)規(guī)定每個(gè)軟件模塊的設(shè)計(jì)以及應(yīng)用于每個(gè)軟件模塊的驗(yàn)證。如果使用已知系統(tǒng)性能力的軟件組件組合來(lái)執(zhí)行安全功能,應(yīng)對(duì)組件組合應(yīng)用軟件架構(gòu)的系統(tǒng)性能力要求。已有軟件可能是依照本標(biāo)準(zhǔn)的要求進(jìn)行開發(fā)的,但也可能不是,所以當(dāng)一個(gè)已有的軟件組件被復(fù)用實(shí)現(xiàn)所有或部分安全功能時(shí),為確保系統(tǒng)的安全完整性,該組件應(yīng)同時(shí)滿足以下要求。

      (1)適用于運(yùn)行時(shí)庫(kù)程序或一個(gè)解釋程序。

      (2)滿足以下符合性路線之一。

      ①路線1:符合性開發(fā),符合本標(biāo)準(zhǔn)的要求,以避免并控制軟件中的系統(tǒng)性故障。

      ②路線2:經(jīng)使用證明,提供組件已在使用中證明的證據(jù)。

      ③路線3:非符合性開發(fā)評(píng)估。

      (3)提供安全手冊(cè)以給出足夠精確和完整的組件描述,使得一個(gè)整體或部分依賴于已有軟件組件的特定安全功能的完整性評(píng)估成為可能。

      為遵守路線3,一個(gè)已有軟件組件應(yīng)滿足下列要求。

      (1)組件的軟件安全要求規(guī)范在其新應(yīng)用中應(yīng)文檔化。

      (2)軟件組件的使用論證應(yīng)提供滿足規(guī)定的期望安全屬性的證據(jù)。

      (3)組件設(shè)計(jì)應(yīng)文檔化,并具備一定程度的精確性和充分性,以對(duì)其符合規(guī)范要求和所需系統(tǒng)性能力提供證據(jù)。

      (4)(1)和(2)所需的證據(jù)應(yīng)覆蓋硬件與軟件的集成。

      (5)應(yīng)有證據(jù)表明,組件已采用系統(tǒng)性方法進(jìn)行驗(yàn)證與確認(rèn),該方法包括文檔化的測(cè)試和對(duì)所有組件設(shè)計(jì)和代碼的復(fù)審。

      (6)如果軟件組件提供安全相關(guān)系統(tǒng)中不需要的功能,那么應(yīng)提供證據(jù)表明不需要的功能不會(huì)阻止E/E/PE系統(tǒng)滿足其安全要求。滿足此要求的方法包括:從構(gòu)造中移除這些功能、禁止這些功能、適當(dāng)?shù)南到y(tǒng)架構(gòu)、廣泛的測(cè)試。

      (7)應(yīng)有證據(jù)表明已經(jīng)識(shí)別了軟件組件的所有可信失效機(jī)制并采取了適當(dāng)?shù)木徑獯胧┡c異常處理。

      (8)組件使用計(jì)劃應(yīng)識(shí)別軟件組件的配置、軟件和硬件運(yùn)行時(shí)環(huán)境和編譯/連接系統(tǒng)(如有必要)。

      (9)使用組件的論證僅對(duì)應(yīng)用遵從組件符合項(xiàng)安全手冊(cè)所做的假設(shè)時(shí)有效。

      好的軟件系統(tǒng)設(shè)計(jì)應(yīng)能提高模塊的獨(dú)立性,例如:模塊規(guī)模適中,合適的深度、寬度、扇出和扇入,模塊的作用域應(yīng)在控制域之內(nèi),降低模塊接口的復(fù)雜性,模塊功能可以預(yù)測(cè)但也要防止其過(guò)分局限;盡量做到高內(nèi)聚、低耦合。

      軟件系統(tǒng)設(shè)計(jì)階段的驗(yàn)證活動(dòng)完全結(jié)束后應(yīng)產(chǎn)生的文檔有:軟件系統(tǒng)設(shè)計(jì)規(guī)范、軟件系統(tǒng)集成測(cè)試規(guī)范、軟件模塊設(shè)計(jì)規(guī)范與軟件模塊測(cè)試規(guī)范。

      4 編碼實(shí)現(xiàn)

      軟件的編碼除了要符合已選擇的開發(fā)工具中的編碼語(yǔ)言外,還要選擇與其相應(yīng)的編碼標(biāo)準(zhǔn),并符合開發(fā)語(yǔ)言與測(cè)試工具的一些行內(nèi)規(guī)則。其規(guī)則總結(jié)如下。

      (1)編寫“README”文件,列出條件編譯開關(guān),與機(jī)器相關(guān)、芯片相關(guān)、版本的文件等信息。

      (2)每個(gè)函數(shù)前加入注釋塊,描述函數(shù)功能、輸入?yún)?shù)和返回值,必要時(shí)應(yīng)說(shuō)明其功能、用法、重要設(shè)計(jì)決策與作用。

      (3)對(duì)每個(gè)變量加以短注釋。

      (4)每個(gè)小代碼段前注釋其功能或作用。

      (5)有些關(guān)鍵變量的范圍控制采用斷言編程。

      (6)避免看上去不易區(qū)分的標(biāo)志符。

      (7)縮略格一律使用空格鍵,而不要用制表鍵。

      (8)代碼段不應(yīng)被“注釋掉”;當(dāng)源代碼段不需要被編譯時(shí),應(yīng)該使用條件編譯來(lái)完成。

      (9)刪除一切不需要的代碼,盡量?jī)?yōu)化。

      (10)函數(shù)的嵌套層次要控制在3層及3層以內(nèi)。

      (11)函數(shù)的行數(shù)盡可能控制在200行以內(nèi)。

      (12)函數(shù)的參數(shù)個(gè)數(shù)盡可能不要超過(guò)5個(gè)。

      5 結(jié)束語(yǔ)

      本文所述安全生命周期的階段可以根據(jù)功能安全相關(guān)產(chǎn)品的軟件系統(tǒng)的大小進(jìn)行裁剪。在小型系統(tǒng)中,軟件架構(gòu)設(shè)計(jì)和系統(tǒng)設(shè)計(jì)可整合在一起。在大型系統(tǒng)中,支持工具和編碼標(biāo)準(zhǔn)可用獨(dú)立的文檔說(shuō)明,否則可以銜接在軟件架構(gòu)設(shè)計(jì)后面或者軟件系統(tǒng)設(shè)計(jì)前面,但是一定要在這兩個(gè)階段之間詳細(xì)論證選取的方法及理由。

      猜你喜歡
      完整性文檔組件
      無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      稠油熱采水泥環(huán)完整性研究
      云南化工(2021年9期)2021-12-21 07:44:00
      有人一聲不吭向你扔了個(gè)文檔
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      莫斷音動(dòng)聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
      基于RI碼計(jì)算的Word復(fù)制文檔鑒別
      精子DNA完整性損傷的發(fā)生機(jī)制及診斷治療
      Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      武乡县| 淅川县| 禄劝| 邵武市| 始兴县| 通江县| 聂拉木县| 青铜峡市| 香港| 饶河县| 怀集县| 德安县| 慈利县| 顺义区| 无棣县| 城固县| 连云港市| 阜阳市| 福建省| 莱阳市| 玉环县| 锡林浩特市| 随州市| 洛南县| 梨树县| 扬中市| 阿坝| 南宫市| 琼中| 景谷| 沂源县| 达拉特旗| 淮南市| 新巴尔虎左旗| 新乡县| 德化县| 哈巴河县| 甘谷县| 南溪县| 海南省| 泗水县|