李啟龍 龔強國
(中國航發(fā)上海商用航空發(fā)動機制造有限責任公司 上海市 201306)
在大型測控軟件的開發(fā)和控制方面,為了提高開發(fā)效率,并有效應(yīng)對實時監(jiān)控困難的問題,對基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)進行分析。這對于提高軟件開發(fā)的有效性和質(zhì)量非常有用,同時可以有效解決軟件開發(fā)測控難的問題。
在持續(xù)改進測量措施和控制方法以及持續(xù)改進測量和控制技術(shù)的背景下,在測控軟件的開發(fā)和設(shè)計變得更加復雜且測控軟件的規(guī)模持續(xù)增加的大環(huán)境下。對于實時測控軟件開發(fā)技術(shù)的升級,擴展和轉(zhuǎn)移方面提出了更多挑戰(zhàn)。如今,基于組件技術(shù)的實時測控軟件系統(tǒng)開發(fā)已成為軟件開發(fā)的重要途徑。伴隨著軟件開發(fā)技術(shù)不斷發(fā)展,基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)已成為主要的軟件開發(fā)內(nèi)容。對于實時測控軟件開發(fā)技術(shù)的研究顯得非常有必要。
組件是功能軟件單元,其中包括其他單元、數(shù)據(jù),屬性和方法,可以獨立分發(fā)并傳輸給第三方進行集成??蓮陀媒M件是指功能獨立事情并可以多次工作的組件。隨著行業(yè)內(nèi)對組件技術(shù)使用的持續(xù)增長,組件的部分內(nèi)容不僅限于代碼注釋,而且是在軟件開發(fā)過程中,與系統(tǒng)的架構(gòu),需求測試與開發(fā)活動相關(guān)的實用信息例如文檔數(shù)據(jù)等相結(jié)合。
在靶場測量措施和控制方法以及測控技術(shù)不斷進步的背景下,測控軟件的開發(fā)和設(shè)計也變得更加復雜,并且測控軟件的規(guī)模持續(xù)增加。這種種情況在軟件開發(fā),升級,擴展和轉(zhuǎn)移方面提出了更多挑戰(zhàn)。如今,基于組件技術(shù)的軟件系統(tǒng)開發(fā)已成為軟件開發(fā)的重要途徑。軟件復用技術(shù)不斷發(fā)展,基于結(jié)構(gòu)構(gòu)建軟件工程已成為軟件開發(fā)的重要內(nèi)容。
組件模型描述了組件的屬性以及特征,設(shè)置并遵守外部二進制接口的標準,對于組件及軟件架構(gòu)的設(shè)計制定了規(guī)范,對象與對象之間進行交互的方式,對象實現(xiàn)的內(nèi)部細節(jié)對用戶清晰可見,并具有即插即用的特性。因此,組件技術(shù)具有以下特征:
(1)組件系統(tǒng)的組件均具有明確規(guī)定的基礎(chǔ)連接關(guān)系,組件提供用于校正其他元素的外部功能;同時,在調(diào)用過程中組件也可以使用其他元素。
(2)組件通過外部接口提供其他組件的調(diào)用服務(wù),這些外部接口是在服務(wù)提供者與服務(wù)使用者之間的協(xié)議,該協(xié)議易于擴展。
(3)組件的內(nèi)部結(jié)構(gòu)一部分可以實現(xiàn)內(nèi)部詳細信息的外部透明性,對內(nèi)部結(jié)構(gòu)進行了統(tǒng)一封裝。方便在使用不同應(yīng)用程序時可以通過調(diào)用不同的組件實時進行改進并創(chuàng)建使用者的應(yīng)用程序,提高了組件的利用率。
在基于組件的計算機系統(tǒng)中,各個組件之間的交互是通過組件提供的接口實現(xiàn)的,該接口提供了組件交互所需的所有必要信息。接口是對組件提供和請求的服務(wù)的描述,是組件服務(wù)和使用的協(xié)議,采用獨立于平臺的語言IDL(語言定義接口)進行定義,以及是二進制兼容的,用戶可以直接調(diào)用執(zhí)行模塊以獲取設(shè)施提供的服務(wù)。
目前,實施規(guī)范已經(jīng)制定并且相對合適用于復用的組件模型是CORBA/ORB,COM/ActiveX,JavaBean 和.NET 等。通過檢查和比較上述組件模型,此系統(tǒng)選擇.NETWindowsForms 作為實時測量和管理軟件的組件,使用.NETFramework 通用語言功能的軟件模型運行組件建立在一個基礎(chǔ)上,不再定義和使用復雜的管狀接口,對象可以是直的交互式訪問,可促進組件的免費配置,同時通過.NET 技術(shù)的層次結(jié)構(gòu)使用“應(yīng)計成本”軟件的生產(chǎn)方式,大大提高了軟件開發(fā)的效率。
通常,基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)具有以下幾點優(yōu)勢:
(1)基于組件的測控軟件開發(fā)更加快速。使用組件配置應(yīng)用程序時,可以重用大多數(shù)現(xiàn)有組件,只要重新編寫新的測試部分,這比編寫整個應(yīng)用程序要快得多[1]。
(2)基于組件的開發(fā)可以生產(chǎn)高質(zhì)量,高度可靠的軟件。使用大多數(shù)現(xiàn)有的組件開發(fā)軟件,就意味著檢查了大多數(shù)應(yīng)用程序代碼。
(3)基于組件的軟件開發(fā)使開發(fā)人員可以將更多注意力集中在應(yīng)用程序邏輯問題上。例如,使用VisualB 作為創(chuàng)建基于組件的應(yīng)用程序,這比用C++創(chuàng)建面向?qū)ο蟮膽?yīng)用程序要容易得多?;谕ㄟ^開發(fā)組件,程序員可以將大部分時間花在他們想解決的應(yīng)用程序的問題邏輯上,不適用于低水平編程細節(jié)問題。
(4)基于組件的檢測軟件開發(fā)比傳統(tǒng)的軟件開發(fā)技術(shù)更加便宜[2]。
(5)基于組件的開發(fā),可以支持多樣化的語言并改善環(huán)境。組件以一種語言編寫,與使用其他語言創(chuàng)建的組件可以實現(xiàn)輕松通信,組件技術(shù)保證操作系統(tǒng)獨立性,組件模型提供了標準包裝格式,可以使這種透明度成為可能
(6)基于組件的開發(fā)提供了獨立創(chuàng)建或購買的能力[3]。
測控軟件適用于火箭,航空航天測控系統(tǒng)的服務(wù)。其主要特點是高可靠性和嚴格的實用性、及時性要求。經(jīng)過數(shù)十年的經(jīng)驗積累,,測控計算機軟件的開發(fā)已成為工程發(fā)展模式。并且,這完全符合軟件工程原理,方法和規(guī)格,遵循軟件需求分析,軟件概述來詳細設(shè)計軟件編碼,測試等階段,進行嚴格的階段審查和測試。這種具體已經(jīng)證明用于模型任務(wù)的工程軟件開發(fā)方法是有效的,能更好地滿足測控系統(tǒng)可靠性和實時性要求。然而,我們還應(yīng)該看到,這種軟件開發(fā)模型的開發(fā)周期很長,測試費用大,軟件交互功能和有限的可擴展性等。我們不是在談?wù)撥浖こ痰南敕ǎ瓌t上測控軟件開發(fā)存在哪些問題。實際上,在測控軟件的開發(fā)過程中,我們必須嚴格遵循該軟件工程的思想和原理[4]。
組件技術(shù)中,一個組件就等于一個外接口。組件技術(shù)可以實現(xiàn)性能的封裝。要構(gòu)建程序,可以通過創(chuàng)建保持不變的分區(qū)來實現(xiàn),也可以通過更換支持某些組件的部件來實現(xiàn)。此外,可以通過重復使用某些組件或使用再次開發(fā)建立高水平的應(yīng)用程序架構(gòu)。它是基于最新技術(shù)的檔案軟件平臺,具有明顯的優(yōu)點,其優(yōu)點是可以重用應(yīng)用程序結(jié)構(gòu),可以使用相同的軟件元,增加軟件程序的價值,實時測控軟件主要用于處理,評估和顯示實時監(jiān)控數(shù)據(jù),還可以執(zhí)行其測量和控制功能[5]。
組件界面包含數(shù)據(jù)的封裝,是對預計軟件功能的描述。組件的功能通過接口和網(wǎng)絡(luò)共享的方式進行功能上的分割,客戶端也通過內(nèi)部共享組件共同使用。只要組件之間的連接發(fā)生更改,軟件系統(tǒng)內(nèi)部的組件就可以通過替換來實現(xiàn)更新和維護。
如果需要更新和維護實時測控軟件系統(tǒng)時,可以在原始軟件體系結(jié)構(gòu)的基礎(chǔ)上,替換需要替換的組件。只需要保證外部接口連接不變,就無需重新進行應(yīng)用程序的設(shè)計,基于組件技術(shù)的實時測控軟件系統(tǒng)就能夠替換組件并在升級的組件中使用新組件,利于當前的系統(tǒng)升級和維護[6]。
復用組件是使用現(xiàn)有組件創(chuàng)建新組件的一種方式,利用第三方產(chǎn)品構(gòu)建自己的產(chǎn)品,以實現(xiàn)組件的復用。組件復用技術(shù)可以通過包含和聚集來實現(xiàn)。在C++語言環(huán)境中,內(nèi)部組件可以直接添加到外部組件接口,以擴展系統(tǒng)功能。這樣,可以獲得一致的訪問權(quán)限。無論是通過外部組件的接口還是通過內(nèi)部組件的接口,內(nèi)部和外部組件支持的一組接口可以成為一致的咨詢和訪問。
簡而言之,基于組件技術(shù)的監(jiān)控軟件開發(fā)技術(shù)對于軟件開發(fā)的優(yōu)化至關(guān)重要,可以提高軟件開發(fā)的效率與質(zhì)量,擴展軟件應(yīng)用程序,并顯著減少軟件開發(fā)成本。實驗裝置和控制機器中在靶場測控系統(tǒng)中有許多類型的數(shù)據(jù)。根據(jù)問題的大小或解決方案的復雜性,基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)為解決這些問題提供了積極作用,并為測控軟件開發(fā)的技術(shù)創(chuàng)新提供了新的思路[7]。
基于Web 的測控制方法對于減少客戶端的安裝非常有用。是大型客戶端和小型服務(wù)器的模型。這樣,在不同的客戶端上安裝一個客戶程序就足夠了,通過測量和控制通過該服務(wù)的所有人的工具收集的數(shù)據(jù)和信息。服務(wù)器處理可確保客戶端通過服務(wù)器了解時間信息的度量和控制;通常情況下,虛擬儀器測試系統(tǒng)安裝在服務(wù)器端,當時使用互聯(lián)網(wǎng)處理的公開發(fā)布的試驗數(shù)據(jù)信息,對于不同地區(qū)的客戶,可以通過瀏覽器直接在服務(wù)器上獲取必要的信息。如果客戶需要下載測量和控制數(shù)據(jù),則需要從遠程服務(wù)器獲取答案以進行通信。測量和控制軟件存儲在本地,因此當客戶端執(zhí)行測量和控制任務(wù)時,應(yīng)用程序可以提供可靠的數(shù)據(jù)作為指導[8]。
與其他方法相比,基于TCP/IP 的系統(tǒng)方法具有較高的效率與交互性。該系統(tǒng)建立在用于視覺測量和控制工具的平臺上,響應(yīng)并處理用戶計算機發(fā)送的信息,尤其是在處理特定的測試任務(wù)時,可以通過執(zhí)行軍事數(shù)據(jù)運算,可以做出客戶端的反應(yīng)。然這種方法可以實現(xiàn)便捷性和實時性,但需要提高客戶關(guān)注度,要求客戶應(yīng)獨立解釋并準備報告數(shù)據(jù)。這種使用方法不會導致信息關(guān)閉,從而保持客戶端和服務(wù)器的可訪問性,及時有效的通信有助于解決遠程控制和遠程控制工具的問題。但因為這種技術(shù)方法過于追求速度,而忽略了控制系統(tǒng)的質(zhì)量和性能。長期的運行將大大影響控制系統(tǒng)的有效運行。數(shù)據(jù)不完整也可能會導致某些安全風險。然后在網(wǎng)絡(luò)系統(tǒng)和質(zhì)量控制。基于TCP/IP 的系統(tǒng)對于標準化和軟件管理非常有用。可以更好地提高客戶端和服務(wù)器的性能[9]。
基于DCOM 組件技術(shù)的測控系統(tǒng)可以更好地處理大規(guī)模分散式的測控設(shè)備中的問題。這樣,測試程序和應(yīng)用程序監(jiān)視系統(tǒng)都安裝在客戶端上,并且服務(wù)器主要通過I/O 接口層和網(wǎng)絡(luò)控制層,通過在每個服務(wù)器終端上執(zhí)行DCOM 組件技術(shù)來編寫程序以確??蛻艨梢詫y控儀器進行正確的控制,并按時操控儀器執(zhí)行數(shù)據(jù)測控。除了更好的實時性與交互性之外,此模式還具有其他模型沒有的合并性和擴展性。在發(fā)布和處理數(shù)據(jù)的過程中,該模式也可以接受客戶對執(zhí)行測控數(shù)據(jù)的請求。但是存在的缺點是,基于DCOM 組件技術(shù)的測控系統(tǒng)只能在Windows 操作系統(tǒng)上工作,不能用于不同平臺上的交互工作[10]。
綜上所述,基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)有很好的應(yīng)用前景,將組件技術(shù)應(yīng)用于軟件開發(fā)和控制開發(fā)過程中,將對提高實時測控軟件的開發(fā)效率與質(zhì)量,可靠性和可擴展性產(chǎn)生重大影響。該技術(shù)對于航天測量和控制領(lǐng)域的發(fā)展帶來了新的機遇和挑戰(zhàn),盡管這項技術(shù)的應(yīng)用需要一些過程,并且現(xiàn)階段對組件技術(shù)的研究和跟蹤還不夠,但是我們應(yīng)當相信,只要我們加強對基于組件技術(shù)的實時測控軟件技術(shù)的開發(fā)與研究,詳細了解技術(shù)的特點與改進措施,那么,基于組件技術(shù)的實時測控軟件開發(fā)技術(shù)可以在不久的將來實現(xiàn)應(yīng)用。