王 軍, 陳未如
(沈陽化工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 遼寧 沈陽 110142)
盡管現(xiàn)階段還處于物聯(lián)網(wǎng)發(fā)展的初級(jí)階段,但圍繞物聯(lián)網(wǎng)相關(guān)領(lǐng)域的研究極為活躍和廣泛[1-2].作為物聯(lián)網(wǎng)的重要組成部分之一的軟件,直接決定著物聯(lián)網(wǎng)未來發(fā)展.物聯(lián)網(wǎng)本身是一個(gè)由多種網(wǎng)互聯(lián)在一起的復(fù)雜平臺(tái),在該平臺(tái)上應(yīng)用的軟件絕大多數(shù)是由多個(gè)大系統(tǒng)構(gòu)成的超大型的復(fù)雜分布式軟件系統(tǒng).該類軟件首先是分布式的軟件系統(tǒng),其各個(gè)組件多數(shù)是跨平臺(tái)調(diào)用,甚至是在不同類型的網(wǎng)絡(luò)平臺(tái)上、不同類別的設(shè)備上進(jìn)行相互調(diào)用與協(xié)作等.這些特點(diǎn)是以前軟件工程領(lǐng)域不常見的.該類軟件系統(tǒng)的可靠性評(píng)價(jià)及維護(hù)十分困難且無系統(tǒng)的方法,目前還未見有相關(guān)成果系統(tǒng)地針對(duì)該類特殊軟件進(jìn)行可靠性及再工程進(jìn)化研究[3-4].然而目前所研究的物聯(lián)網(wǎng)可靠性絕大多數(shù)是面向網(wǎng)絡(luò)本身機(jī)制的可靠性.另一方面在軟件工程領(lǐng)域中針對(duì)大型軟件系統(tǒng)在可靠性方面的評(píng)估體系和方法大多都局限于對(duì)軟件本身的分析,沒有將連接件,如通信協(xié)議、網(wǎng)絡(luò)環(huán)境等的QoS考慮進(jìn)去[5-6].因此,本文利用基于軟件架構(gòu)的可靠性評(píng)估思想及軟件逆向工程方法論,提出了一套系統(tǒng)的基于物聯(lián)網(wǎng)軟件的可靠性評(píng)估與進(jìn)化方法,以實(shí)現(xiàn)對(duì)復(fù)雜的物聯(lián)網(wǎng)軟件可靠性綜合評(píng)價(jià)及維護(hù)升級(jí)改造.該方法解決了復(fù)雜分布式軟件系統(tǒng)的可靠性分析與評(píng)價(jià),以及多個(gè)大系統(tǒng)構(gòu)成的超大型軟件可靠性升級(jí)等難點(diǎn)問題.
物聯(lián)網(wǎng)作為新生事物,人們對(duì)其內(nèi)涵和外延的理解也有很大區(qū)別,給其概念、特征所作出的歸納和總結(jié)也有很大的差別.如國(guó)際電信聯(lián)盟(ITU)認(rèn)為[7]:信息與通信技術(shù)的目標(biāo)已經(jīng)從任何時(shí)間、任何地點(diǎn)連接任何人,發(fā)展到連接任何物品的階段,而萬物的連接就形成了物聯(lián)網(wǎng),它是對(duì)物體具有全面感知能力、對(duì)信息具有可靠傳送和智能處理能力的連接物體與物體的信息網(wǎng)絡(luò),具有全面感知、可靠傳送、智能處理是物聯(lián)網(wǎng)的特征.我國(guó)也有學(xué)者認(rèn)為:物聯(lián)網(wǎng)是一種“泛在網(wǎng)絡(luò)”,這種泛在網(wǎng)就是利用互聯(lián)網(wǎng)將世界上的物體都連接在一起,使世界萬物都可以上網(wǎng).具體可以理解為通過射頻識(shí)別(RFID)裝置、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器等種種裝置與互聯(lián)網(wǎng)結(jié)合成一個(gè)全新的巨大網(wǎng)絡(luò),實(shí)現(xiàn)現(xiàn)有的互聯(lián)網(wǎng)、通信網(wǎng)、廣電網(wǎng)以及各種接入網(wǎng)和專用網(wǎng)連接起來,實(shí)現(xiàn)智能化識(shí)別和管理[8].
物聯(lián)網(wǎng)(internet of things)的概念最早于1999年由美國(guó)麻省理工學(xué)院提出,當(dāng)時(shí)是指用射頻識(shí)別(RFID)技術(shù)自動(dòng)識(shí)別物品,識(shí)別碼保存在一定的載體中附著于物體上.通過射頻閱讀器可讀出編碼,經(jīng)解析后就可以得到存儲(chǔ)物體信息的互聯(lián)網(wǎng)服務(wù)器地址,及其他相關(guān)信息,從而實(shí)現(xiàn)所謂的物體與互聯(lián)網(wǎng)的聯(lián)接.物聯(lián)網(wǎng)的主要定位是在物流、供應(yīng)鏈等需要企業(yè)間信息共享的開環(huán)應(yīng)用,最近兩年成為全球關(guān)注的熱點(diǎn),可以概括成以下幾個(gè)階段[9-10]:
(1) MIT的 Kevin Ashton:把RFID技術(shù)與傳感器技術(shù)應(yīng)用于日常物品中形成一個(gè)“物聯(lián)網(wǎng)”(1998);Auto-ID中心:物聯(lián)網(wǎng)是成千上萬的物品采用無線方式接入了Internet的網(wǎng)絡(luò)(1999).
(2) 日本和韓國(guó)在2005年提出相關(guān)戰(zhàn)略.其中日本在2009年制定的中長(zhǎng)期信息技術(shù)發(fā)展戰(zhàn)略《i-Japan2015》中提出:要構(gòu)建以人為本的安心且充滿活力的數(shù)字化社會(huì),其關(guān)注點(diǎn)在政府、醫(yī)院和學(xué)校,希望通過推動(dòng)公共服務(wù)事業(yè)的發(fā)展,帶動(dòng)其他產(chǎn)業(yè)的發(fā)展.公共服務(wù)在歐盟提出的綜合性戰(zhàn)略規(guī)劃《i2010》中同樣占有重要的地位.
(3) ITU報(bào)告:物聯(lián)網(wǎng)是通過RFID和智能計(jì)算等技術(shù)實(shí)現(xiàn)全世界設(shè)備互連的網(wǎng)絡(luò)(2005).
(4) IBM提出“智慧地球(smart plant)”——把傳感器設(shè)備安裝到電網(wǎng)、鐵路、橋梁、隧道、供水系統(tǒng)、大壩、油氣管道等各種物體中,并且普遍連接形成網(wǎng)絡(luò),即“物聯(lián)網(wǎng)”(2008.12)
(5) 智慧地球(smart plant)成為美國(guó)國(guó)家戰(zhàn)略.2009年1月28日,奧巴馬與美國(guó)工商業(yè)領(lǐng)袖舉行了一次“圓桌會(huì)議”,IBM CEO彭明盛首次提出“智慧的地球”這一概念,建議新政府投資新一代的智慧型基礎(chǔ)設(shè)施,闡明其短期和長(zhǎng)期效益.
(6) IBM提出智慧地球之后,我國(guó)溫家寶總理到了無錫提出“感知中國(guó)”這樣國(guó)家戰(zhàn)略,無錫成為感知中國(guó)的中心.
以感知和智能為特征的新技術(shù)的出現(xiàn)和相互融合,使得未來信息技術(shù)的發(fā)展由人類信息主導(dǎo)的互聯(lián)網(wǎng)向物與物互聯(lián)信息主導(dǎo)的物聯(lián)網(wǎng)轉(zhuǎn)變,其主要的影響體現(xiàn)在信息和智能的泛在化.這一重要特征使得未來在泛在網(wǎng)上應(yīng)用的軟件系統(tǒng)將分布在物聯(lián)網(wǎng)的感知層、網(wǎng)絡(luò)層和應(yīng)用層等各層中,才可能完成面向監(jiān)測(cè)與控制的各級(jí)、各類的傳感器網(wǎng)絡(luò),面向物流管理的RFID網(wǎng)絡(luò)和面向企業(yè)和政府等機(jī)構(gòu)的信息Internet網(wǎng)絡(luò)的集成與融合,實(shí)現(xiàn)人與人、人與設(shè)備、設(shè)備與設(shè)備之間信息交互的目的,如圖1所示.

圖1 在物聯(lián)網(wǎng)上應(yīng)用的典型軟件系統(tǒng)的體系結(jié)構(gòu)
由圖1可見:與現(xiàn)階段的大型分布式軟件相比,在物聯(lián)網(wǎng)上應(yīng)用的典型軟件系統(tǒng)其復(fù)雜度和規(guī)模將呈指數(shù)級(jí)增加.而由來自多種類型網(wǎng)絡(luò)和不同設(shè)備中的各類組件組成,經(jīng)過各類傳輸平臺(tái)形成的軟件系統(tǒng),將不可避免地導(dǎo)致整個(gè)軟件系統(tǒng)產(chǎn)生可靠性問題,安全漏洞更加頻繁發(fā)生,同時(shí)在風(fēng)險(xiǎn)評(píng)估中發(fā)現(xiàn)和解決這些問題將會(huì)變得更為復(fù)雜,因可靠性和安全性問題造成的經(jīng)濟(jì)損失也將日益增加.
與此同時(shí),多網(wǎng)融合后,大量遺產(chǎn)系統(tǒng)的存在一定程度上也會(huì)影響軟件系統(tǒng)的可靠性和安全性,而對(duì)于那些技術(shù)陳舊、結(jié)構(gòu)混亂的遺產(chǎn)系統(tǒng)進(jìn)行以可靠性和安全性為目標(biāo)的再工程,會(huì)極大縮短開發(fā)周期,節(jié)省開資.為此,本論文創(chuàng)新性地提出了建立在物聯(lián)網(wǎng)環(huán)境應(yīng)用中的軟件系統(tǒng)的可靠性評(píng)估機(jī)制,同時(shí)試探性地利用再工程技術(shù)對(duì)在物聯(lián)網(wǎng)環(huán)境應(yīng)用中的軟件系統(tǒng)進(jìn)行可靠性方面進(jìn)化,進(jìn)而提高風(fēng)險(xiǎn)評(píng)估中可靠性指標(biāo),對(duì)未來物聯(lián)網(wǎng)應(yīng)用和軟件工程理論都具有較高的理論意義和現(xiàn)實(shí)應(yīng)用價(jià)值.
現(xiàn)階段基于構(gòu)架的軟件可靠性模型一般是基于Cheung提出的思想[11-12]:根據(jù)每個(gè)構(gòu)件的可靠性、運(yùn)行狀態(tài)和軟件的構(gòu)架來進(jìn)行分析.其具體方法是基于Markov鏈條屬性和軟件構(gòu)架視圖到狀態(tài)視圖的轉(zhuǎn)換,根據(jù)狀態(tài)轉(zhuǎn)換視圖構(gòu)造出狀態(tài)轉(zhuǎn)換矩陣,利用軟件可靠性定義估算整個(gè)系統(tǒng)的可靠性.
本文在充分考慮了物聯(lián)網(wǎng)軟件中連接件,如通信協(xié)議,網(wǎng)絡(luò)環(huán)境等因素的前提下,建立了如下可靠性模型.模型中將連接器的可靠性單獨(dú)考慮.
設(shè)Lij為連接構(gòu)件Ci和Cj的連接器的可靠性,Ri為構(gòu)件Ci的可靠性,Pij為狀態(tài)Si到狀態(tài)Sj的轉(zhuǎn)換概率.將連接器的可靠性考慮進(jìn)去后的構(gòu)造矩陣M的公式如下:
(1) 當(dāng)Si不能直接到達(dá)Sj時(shí):
M(i,j)=0
(1)
(2) 當(dāng)Si與Sj是Batch-sequential/pipeline結(jié)構(gòu)關(guān)系時(shí):M(i,j)=RiLijPij
(2)
(3) 當(dāng)Si與Sj是Parallel/Pipe-filter結(jié)構(gòu)關(guān)系時(shí),如圖2所示.
①如果Si狀態(tài)中包含多個(gè)同時(shí)運(yùn)行的構(gòu)件時(shí):
(3)
②如果Sj狀態(tài)中包含多個(gè)同時(shí)運(yùn)行的構(gòu)件時(shí):
(4)

圖2 Batch-sequential/pipeline結(jié)構(gòu)
(4) 當(dāng)Si與Sj是Fault Tolerance結(jié)構(gòu)關(guān)系時(shí),如圖3所示.

圖3 Fault Tolerance結(jié)構(gòu)
① 如果Si狀態(tài)中包含多個(gè)功能備用構(gòu)件時(shí)
RmLmj))RqLqj))Pij
(5)
② 如果Sj狀態(tài)中包含多個(gè)功能備用構(gòu)件時(shí)
M(i,j)=RiPij(Lib0+
(6)
(5) 當(dāng)Si與Sj是Call-and-Return結(jié)構(gòu)關(guān)系時(shí)
M(i,j)=PijLij
(7)
其中Si是調(diào)用狀態(tài),Sj是被調(diào)狀態(tài).
設(shè)一維數(shù)組T={R1~n,R2~n,R3~n,……,Rn~n-1,1},其中Ri~j表示從狀態(tài)i轉(zhuǎn)換到狀態(tài)j的可靠性.根據(jù)公式T=M×TT,求出T.其中R1~n就是整個(gè)系統(tǒng)的可靠性.
面向物聯(lián)網(wǎng)軟件的可靠性評(píng)估及再工程進(jìn)化方法分4個(gè)階段實(shí)施:系統(tǒng)理解階段、建立在可靠性方面的風(fēng)險(xiǎn)評(píng)估體系或方法階段、可靠性分析階段、再工程進(jìn)化及驗(yàn)證階段.具體步驟如圖4所示.

圖4 可靠性評(píng)估及再工程進(jìn)化方法
在系統(tǒng)理解階段需要從軟件工程角度建立在物聯(lián)網(wǎng)應(yīng)用環(huán)境中的軟件系統(tǒng)在可靠性方面的體系結(jié)構(gòu)描述.建立在可靠性方面的風(fēng)險(xiǎn)評(píng)估體系或方法階段需要將協(xié)議的QoS與軟件系統(tǒng)合二為一,總體建立在可靠性方面的風(fēng)險(xiǎn)評(píng)估體系和方法.在可靠性分析階段,將利用上一小節(jié)提出的基于物聯(lián)網(wǎng)軟件架構(gòu)的可靠性評(píng)估模型,分析這個(gè)復(fù)雜軟件系統(tǒng)中各個(gè)組件和整體可靠性的關(guān)系,將分析結(jié)果作為再工程進(jìn)化的依據(jù).在再工程進(jìn)化及驗(yàn)證階段,利用再工程技術(shù)對(duì)在物聯(lián)網(wǎng)應(yīng)用環(huán)境中的軟件系統(tǒng)進(jìn)行可靠性方面進(jìn)化,進(jìn)而提高風(fēng)險(xiǎn)評(píng)估中可靠性指標(biāo).在基于上一個(gè)方面研究成果基礎(chǔ)上,從關(guān)鍵資產(chǎn)的識(shí)別、威脅的分類和識(shí)別方法等角度著手,即從遺產(chǎn)系統(tǒng)的源代碼中逆向出高層的模型,并抽象出與可靠性相關(guān)的部分,對(duì)其進(jìn)行改進(jìn)和升級(jí).最后再利用基于物聯(lián)網(wǎng)軟件架構(gòu)的可靠性評(píng)估模型進(jìn)行驗(yàn)證.
物聯(lián)網(wǎng)的絕大多數(shù)應(yīng)用都涉及個(gè)人隱私或機(jī)構(gòu)內(nèi)部秘密,因此,物聯(lián)網(wǎng)必須提供嚴(yán)密的安全性和可靠性.如果把物聯(lián)網(wǎng)比喻成人,那么目前絕大數(shù)研究物聯(lián)網(wǎng)信息安全和可靠性方面多集中在人的骨骼、各個(gè)器官及組織上,而軟件系統(tǒng)在物聯(lián)網(wǎng)中就如人的血液,分布在物聯(lián)網(wǎng)的各個(gè)層中與各個(gè)環(huán)節(jié),且相互關(guān)聯(lián).為此,從軟件工程角度研究并建立在物聯(lián)網(wǎng)應(yīng)用環(huán)境中的軟件系統(tǒng)在可靠性和安全性方面的風(fēng)險(xiǎn)評(píng)估體系和方法,并將協(xié)議的QoS與軟件系統(tǒng)合二為一,總體建立在可靠性和安全性方面的風(fēng)險(xiǎn)評(píng)估體系和方法,進(jìn)而進(jìn)行聯(lián)合進(jìn)化再工程,將具有較高的創(chuàng)新意義和實(shí)際應(yīng)用價(jià)值.
參考文獻(xiàn):
[1] 劉強(qiáng),崔莉,陳海明.物聯(lián)網(wǎng)關(guān)鍵技術(shù)與應(yīng)用[J].計(jì)算機(jī)科學(xué),2010,37(6):1-5.
[2] 梁煒,曾鵬.面向工業(yè)自動(dòng)化的物聯(lián)網(wǎng)技術(shù)與應(yīng)用[J].儀器儀表標(biāo)準(zhǔn)化與計(jì)量,2010(1):21-24.
[3] Mens Tom.Guest Editors’ Introduction:Software Evolution[J].IEEE Software,2010,27(4):22-25.
[4] 郭耀,袁望洪,陳向葵,等.再工程-概念及框架[J].計(jì)算機(jī)科學(xué),1999,26(5):78-83.
[5] Wang Jun,Chen Weiru,Yang Hongji.Architecture Description Language Based on Software Reliability Evaluation for Distributed Computing System[C].IEEE press:ICCASM,2010:370-375.
[6] 王強(qiáng),陸陽,方歡,等.基于結(jié)構(gòu)分析的復(fù)雜軟件可靠性評(píng)估方法[J].系統(tǒng)工程學(xué)報(bào),2013,24(2):20-25.
[7] ITU Strategy and Pol Icy Unit(SPU).ITU Internet Reports2007:The Internet of Things[R].Geneva:International Telecommunication Union(ITU),2007.
[8] 薛燕紅.物聯(lián)網(wǎng)體系架構(gòu)及其關(guān)鍵技術(shù)探討[J].陜西理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,29(3):18-22.
[9] 高相銘,陳永超.基于物聯(lián)網(wǎng)的分布式電動(dòng)機(jī)故障診斷與保護(hù)系統(tǒng)研究[J].工礦自動(dòng)化,2013,39(6):17-21.
[10] 王劍鋒,陳燦峰,劉嘉,等.一種基于IPv6和低功耗藍(lán)牙的物聯(lián)網(wǎng)體系結(jié)構(gòu)[J].計(jì)算機(jī)科學(xué),2013,40(5):97-102.
[11] Wang Jun,Chen Weiru.A Modeling of Software Architecture Reliability[C].IEEE NPC:IFIP,2007:983-988.
[12] Wang Wenli,Wu Ye,Chen Meihwa.Architecture-Based Software Reliability Analysis[J].Proceedings of Pacific Rim International Symposium on Dependable Computing,1999,12(2):16-17.