現成的中間件技術正在適應諸如在線金融交易,分布式過程控制,甚至海底信息系統,航空電子任務計算,雷達處理和軟件無線電等關鍵任務動態領域。
分布式實時和嵌入式(DRE)系統在現代應用程序領域中發揮著越來越重要的作用。DRE系統的許多類型都有一個共同點:
遲交付的正確答案將成為錯誤的答案。例如,對于生命攸關的軍用DRE系統(例如,防御船只免受導彈襲擊或通過無線鏈路控制無人駕駛飛行器的系統)而言,在正確的時間提供正確的答案至關重要。正確的答案對于諸如此類安全關鍵的民用DRE系統也至關重要調節核反應堆中冷卻液的溫度,并維持煉鋼機械的安全運行。
某些類型的分布式系統(例如兩層和三層業務系統)的可承受性通常可以通過現成的商業(commercial-off-the-shelf,COTS)技術來提高。但是,當今旨在將COTS集成到關鍵任務DRE系統中的工作主要集中在最初的非經常性購置成本,并且不會減少經常性的軟件生命周期成本。同樣,許多COTS產品都缺乏對控制關鍵服務質量(QoS)屬性的支持,包括可預測的延遲,抖動和吞吐量以及可伸縮性,可靠性和安全性。
無法以足夠的信心控制它們會損害DRE系統的適應性和可保證性;常規COTS產品中的微小干擾會導致故障,從而導致人員傷亡和財產損失。
從歷史上看,常規的COTS軟件由于具有以下兩種措施中的任何一種,因此不適合用于關鍵任務DRE系統:靈活和標準,但不能保證嚴格的QoS要求,從而限制了系統的可保證性;或部分啟用QoS,但不靈活且不標準,從而限制了系統的適應性和可負擔性。結果是,為主流業務系統開發COTS軟件的快速進展并未廣泛應用于關鍵任務DRE系統。在解決此限制之前,DRE系統集成商和最終用戶將無法以可靠,及時且經濟高效的方式利用COTS軟件的優勢。
在這里,我描述了關鍵的研發工作,這些工作有助于創建可保證,適應性強,價格適中的新一代COTS技術,以滿足關鍵任務DRE系統的嚴格要求。
盡管DRE系統中的COTS軟件在范圍和領域上受到限制,但由于這項工作,未來的前景更加光明。
技術挑戰與解決方案
對于新的和計劃中的DRE系統,一些最具挑戰性的需求可以描述如下:
必須實時滿足多個QoS屬性;
在不同的配置,環境條件和成本下,不同級別的服務是適當的;
一個維度的服務水平必須與其他維度的服務水平進行協調和/或折衷,以滿足特派團的需求;?
?對于自主且對時間要求嚴格的應用程序行為的需求,需要一個靈活的分布式系統基礎,以適應任務要求和環境條件的動態變化。
盡管常規的COTS軟件不能滿足所有這些要求,但是當今的經濟和組織限制-以及越來越多的
復雜的需求和競爭壓力—阻止開發人員完全從頭開始構建復雜的DRE系統軟件。因此,程序員迫切需要開發,驗證并最終標準化支持嚴格的DRE系統功能和QoS要求的新一代自適應和反射中間件技術[1]。
中間件是可重用的系統軟件,可以在功能上彌合應用程序的端到端功能要求和任務原則與底層底層操作系統和網絡協議棧之間的差距[7]。因此,中間件提供的功能的質量和QoS對DRE系統至關重要。
自適應中間件軟件[5]的功能和與QoS相關的屬性可以通過兩種方式進行修改:
靜態地:利用特定平臺的功能來實現功能子集并最小化硬件和軟件基礎結構的依賴性,從而減少內存占用;
動態地:系統響應針對不斷變化的環境或要求進行了優化,包括組件互連,功率級別,CPU /網絡帶寬,延遲/抖動和可靠性需求。
在關鍵任務DRE系統中,自適應中間件必須可靠地進行這些修改,同時滿足嚴格的端到端QoS要求。
反射式中間件更進一步,可以自動檢查中間件的功能并進行自動調整以優化它們[1]。因此,反射中間件支持可以根據DRE系統內部,系統環境或系統策略(由操作員和管理員定義)中的條件自主執行的更高級的適應。
中間件層和研發工作? ? ?
就像網絡協議棧可以分解為多層一樣,中間件也可以分解為多層(見圖1)。以下各節將對每個這樣的層進行描述,并進行相關的研發工作,以幫助中間件滿足DRE系統的嚴格QoS要求。
主機基礎結構中間件。主機基礎設施中間件封裝并增強了本機操作系統的通信和并發機制,以創建可移植且可重用的網絡編程組件,包括反應堆,接收器連接器,監視對象,活動對象和組件配置器[10]。這些組件消除了單個操作系統的意外兼容性,從而幫助消除了網絡應用程序的許多繁瑣,易錯和不可移植的方面。它們是通過低級操作系統編程API(例如Socket和POSIX Pthreads)來實現的。
與DRE系統相關的主機基礎設施中間件R&D的一個示例是開放虛擬機(OVM)項目,該項目是美國國防高級研究計劃局的一部分,在普渡大學,馬里蘭大學和紐約州立大學奧斯威戈分校進行信息技術辦公室的嵌入式系統程序組合(PCES)程序(請參見www.ovmj.org)。OVM是實現Java實時規范(RTSJ)[2]的開源實時Java虛擬機。RTSJ是對Java的一組擴展,它通過封裝實時操作系統和CPU體系結構之間的差異,提供了很大程度上與平臺無關的方式來執行代碼。RTSJ的主要功能包括范圍內存和不朽內存,具有增強調度支持的實時線程,異步事件處理程序以及線程內控制的異步傳輸。
OVM虛擬機完全用Java編寫,其體系結構強調可定制性和可插入組件。它的實現力求平衡性能和靈活性,允許用戶自定義消息發送,同步,現場訪問和速度等操作的實現。OVM允許動態更新正在運行的虛擬機的指令的實現。盡管RTSJ虛擬機(如OVM和TimeSys Jtime)相對較新,但由于它們具有降低軟件開發和演進成本的潛力,因此引起了R&D和DRE系統集成商社區的極大興趣。
發行中間件。分發中間件定義了更高級別的分布式編程模型,其可重用的API和機制可自動執行和擴展由主機基礎結構中間件封裝的本機操作系統網絡編程功能。分布式中間件使開發人員能夠像獨立應用程序一樣對分布式應用程序進行編程,也就是說,通過對目標對象進行操作,而無需對其位置,編程語言,操作系統平臺,通信協議和互連或硬件特性進行硬編碼依賴性。分發中間件的核心是啟用QoS的對象請求代理(ORB),例如CORBA、COM +和Java Remote Method Invocation。這些ORB允許對象在網絡之間進行互操作,而與對象所使用的語言或部署對象的操作系統平臺無關。
用于DRE系統的分布式中間件R&D的一個示例是TAO項目(請參見www.cs.wustl.edu/~schmidt/TAO.html),該項目由華盛頓大學,圣路易斯大學和加利福尼亞大學的研究人員進行, Irvine,作為DARPA ITO Quorum計劃的一部分[9]。?
TAO是開源的實時CORBA ORB [6],它允許DRE應用程序保留和管理以下資源:
通過線程池,優先級機制,進程內互斥(互斥量)和具有固定優先級的實時系統的全局調度服務來獲得處理器資源;
圖1.中間件層及其上下文
通過協議屬性和使用優先級帶和專用連接到服務器對象的顯式綁定的通信資源;
通過在隊列中緩沖請求并限制線程池的大小來獲得內存資源。
使用自適應通信環境(ACE)主機基礎結構中間件工具包(請參見www.cs.wustl.edu/~schmidt/ACE.html)[8]中的可重用框架來實現TAO。ACE和TAO是從研究原型到DRE應用的中間件過渡的成熟示例,已在數百個DRE系統中使用,包括電信網絡管理和呼叫處理,在線交易服務,航空電子功能計算,軟件定義的系統。無線電,雷達系統,表面安裝“拾放”系統以及熱軋鋼廠。
通用中間件服務。通用中間件服務通過定義高級的領域無關組件來增強分發中間件,這些組件允許應用程序開發人員專注于對應用程序邏輯進行編程,而不必編寫開發分布式應用程序所需的“管道”代碼,而使用較低級別的組件中間件功能直接。
分布式中間件主要側重于管理端系統資源以支持面向對象的分布式編程模型,而通用中間件服務側重于通過分布式系統在整個分布式系統中分配,調度和協調各種端到端資源。組件編程和腳本編制模型。開發人員可以重用這些服務來管理全局資源并執行重復的分發任務,包括事件通知,日志記錄,持久性,實時調度,容錯和事務,否則每個應用程序或應用程序將以臨時方式實現這些事務。
集成開發人員與DRE系統相關的常見中間件服務示例是QuO項目(請參見www.dist-systems。bbn.com/tech/QuO),研究人員位于BBN Technologies是DARPA ITO Quorum和PCES計劃的一部分[5]。 QuO是基于圖2概述的分層中間件體系結構的一組開源中間件服務。QuO體系結構在兩個方面將DRE中間件和應用程序解耦:功能路徑。
功能路徑是客戶端和遠程服務器應用程序之間的信息流。在分布式系統中,中間件可確保在遠程對等方之間有效,可預測,可擴展,可靠且安全地交換此信息。信息本身在很大程度上是特定于應用程序的,這取決于所提供的功能(因此稱為功能路徑)。
QoS路徑負責確定功能交互相對于關鍵DRE系統QoS屬性的端到端行為。此類屬性的示例包括:如何以及何時將資源用于系統的多個級別上的客戶端/服務器交互;如果可用資源不滿足預期資源,則適當的應用程序和系統行為;以及滿足端到端可靠性要求所需的故障檢測和恢復策略。
QuO中間件負責收集,組織和分發與QoS相關的元信息,以監視和管理DRE系統的多個級別上功能交互的發生情況。面對快速變化的應用程序需求和環境條件,包括局部故障,瞬態過載以及動態功能和QoS重新配置,它還可以提供自適應和反射性的決策,以強有力地支持非功能性QoS屬性。?
圖2.QUO體系結構
特定于域的中間件服務。特定領域的中間件服務是針對特定DRE系統領域的需求量身定制的,例如航空電子任務計算,雷達處理,在線金融交易和分布式過程控制。與前面的三個中間件層(它們提供可廣泛使用的“水平”機制和服務)不同,特定于領域的中間件服務針對垂直市場。
從COTS和R&D的角度來看,特定于域的服務是中間件層中最不成熟的部分原因,部分是由于歷史上缺乏穩定的基礎來創建特定于域的中間件服務所需的發行中間件和中間件服務標準。但是,由于特定領域的中間件服務體現了領域知識,因此最有可能提高質量并縮短周期時間,并且集成商需要開發特定類別的DRE系統。
與DRE系統相關的特定領域中間件服務的一個例子是Boeing Bold Stroke體系結構[11],該體系結構已在許多DARPA ITO程序中用作開放實驗平臺。BoldStroke是用于任務計算航空電子功能的開放式體系結構,例如導航,平視顯示管理,武器目標和釋放以及機身傳感器處理。Bold Stroke中特定于域的中間件服務位于COTS處理器(PowerPC),網絡互連(VME),操作系統(VxWorks),基礎結構中間件(ACE),分發中間件(TAO)和通用中間件服務(QuO)上和CORBA事件服務)。
近期進展與未來需求
在過去五年中,DRE中間件的研發和部署取得了重大進展,這主要歸功于以下方面:
多年的研究,迭代,完善,使用
中間件和相關的分布式對象計算(DOC)中間件并不是新的[7]。中間件概念是從對早期Internet(甚至是其前身ARPAnet)的試驗中演變而來的; DOC中間件系統自BBN的Cronus和Corbus系統問世以來,它自1980年代中期開始運營。從那時起,對這些想法的構想,設計,以及最重要的軟件,都經過了嘗試和完善(針對那些行之有效的軟件),并被丟棄或重定向(針對那些無效的軟件)。
這個迭代的開發過程需要大量的資金和時間才能獲得正確的使用權并被用戶社區所接受,并且需要大量的耐心才能堅持到底。當過程成功時,通常會產生標準(整理邊界),模式和框架(確認如何應用技術的知識)。
標準的成熟
在過去的十年中,關于DRE要求,中間件標準已經相當成熟。例如,OMG已采用以下規范。
最低CORBA
從完整的OMG CORBA規范中刪除了不必要的功能,以減少內存占用,使CORBA可在內存受限的嵌入式系統中使用。
實時CORBA
包括允許應用程序以可預測的端到端方式保留和管理網絡,CPU和內存資源的功能;和CORBA消息傳遞。導出到應用程序的其他QoS策略,例如超時,請求優先級和排隊規則。
容錯CORBA
使用對象的實體冗余來支持復制,故障檢測和故障恢復。這些CORBA功能和服務的多種可互操作且健壯的實現方案現已上市。此外,諸如動態調度實時CORBA,Java的實時規范和Java的分布式實時規范之類的新興標準正在將開放標準的范圍擴展到更廣泛的DRE應用程序。
模式和框架
大量的研發工作集中在以下手段上,以促進高質量的開發和再利用。
中間件技術:
模式
模式匯集了設計專業知識,從而為某些情況下常見的軟件問題提供了經過時間驗證的解決方案[3,10]。模式簡化了設計,構造和性能調整。通過編纂DRE應用程序模仿過曾經成功解決過類似問題的開發人員的專業知識。模式還提高了在描述軟件開發活動時的討論水平,從而將重點放在戰略架構和設計問題上,而不僅僅是戰術上的編程和表達。
消息詳細信息
構架
框架是相關模式組的具體實現[4]。精心設計的框架可以根據中間件本身提供的功能以及應用程序提供的功能來驗證模式。在沒有先驗上下文無關的最佳解決方案的情況下,框架還集成了各種解決問題的方法。諸如ACE,OVM,QuO和TAO之類的中間件框架可以包括策略化的選擇和優化模式;然后可以自動集成和配置多個獨立開發的功能,以滿足各個DRE應用程序的功能和QoS要求。
持續的政府研發投入
在前面提到的兩個DARPA程序(Quorum和PCES)中,已經進行了許多有關中間件模式和框架的開創性研發工作。每種方法都集中在CORBA和Java開放系統中間件上,產生了許多結果,這些結果已經從研究原型轉變為用于實時和容錯CORBA規范和商業化工作的標準化服務定義和實現。Quorum和PCES是政府專注的研發工作如何通過將其輸出到其他正在進行的公共和私人活動中并將其與也使用相同的開放式中間件基質進行合并的結果來利用其結果的示例。在基于標準的開放中間件平臺可行之前,此類R&D成果將被埋入定制或專有系統中,僅作為一種生存證明,而不是從根本上重塑R&D和集成商社區的基礎。
現在,基于標準的中間件也得到了證明,并已在許多關鍵任務DRE系統中進行了部署,包括航空電子任務計算,軟件定義的無線電和水下信息系統。但是,由于COTS中間件技術還不夠成熟,無法涵蓋大規模,動態變化的系統,因此這些中間件應用程序僅限于相對小型靜態配置的DRE系統。
為了滿足以網絡為中心的DRE“系統系統”環境中對應用和任務特定的QoS要求,仍需要大量額外的研發來增強中間件,尤其是當它涉及通用和特定于域的服務時。如果這些努力成功了,未來的中間件技術將能夠控制多個系統級別上多個系統組件使用的單個資源和聚合資源,以可靠地管理通信帶寬,安全性以及DRE系統工件的調度和分配。
中間件是開發DRE系統的戰略元素,它彌補了應用程序與底層操作系統和網絡協議棧之間的空白,從而提供了對這些系統至關重要的可重用服務。中間件研發工作的經濟回報源于將DRE軟件技術工件(例如中間件框架,協議,服務組件和模式)的標準化水平提高了幾個層次,因此可用于COTS的獲取和定制。有了適當的高級研發環境和將研發成果商業化的有效流程,COTS中間件市場將不可避免地適應,采用和實施關鍵任務DRE系統所需的強大硬件和軟件功能。
作為此處討論的研發工作以及其他類似工作的結果,下一代中間件將能夠適應動態變化的條件,以便最大程度地使用可用的計算機和網絡基礎結構來支持應用程序需要。
編輯:黃飛
?
評論
查看更多