臧維明,華 驊,賴炳宇,鄧 文
(中國電子科技集團公司第二十九研究所,四川 成都 610036)
?
工程與應用
一種跨平臺敏捷式動態(tài)可重構(gòu)系統(tǒng)架構(gòu)研究
臧維明,華 驊,賴炳宇,鄧 文
(中國電子科技集團公司第二十九研究所,四川 成都 610036)
嵌入式系統(tǒng)的發(fā)展趨勢是開放式跨平臺,敏捷式重構(gòu),分布式協(xié)同,系統(tǒng)資源自適應適配等,而當前嵌入式系統(tǒng)架構(gòu)解決方案普遍存在著功能相對固化,系統(tǒng)業(yè)務流程難以靈活重構(gòu),缺乏對多類型平臺的適應能力等問題,無法匹配日益復雜的系統(tǒng)需求變化。因此本文提出了一種跨平臺敏捷式動態(tài)可重構(gòu)系統(tǒng)架構(gòu),該架構(gòu)能夠屏蔽硬件平臺差異,提供高效的數(shù)據(jù)通信機制,具備硬件感知和組件動態(tài)重構(gòu)能力,以及模塊化圖形化的系統(tǒng)配置能力。本文深入討論了該架構(gòu)的工作原理和關鍵技術(shù),并在PowerPC, ARM, DSP等多種嵌入式處理平臺上進行了工程應用驗證。
跨平臺;敏捷式;動態(tài)可重構(gòu);系統(tǒng)架構(gòu)研究
近年來隨著軟硬件的技術(shù)發(fā)展,系統(tǒng)復雜度迅速提高,一個系統(tǒng)逐漸從簡單的單機獨立工作狀態(tài)發(fā)展成多機分布式協(xié)同,包含PowerPC、ARM和DSP等多種平臺,多種操作系統(tǒng)環(huán)境(包括各種版本的VxWorks操作系統(tǒng)、Windows操作系統(tǒng)、Linux操作系統(tǒng)),軟件與FPGA等硬件緊密配合工作的形態(tài)。需要完成的工作類型和規(guī)模多樣(包括桌面、服務器環(huán)境和嵌入式環(huán)境),并且用戶對系統(tǒng)功能的要求也從以前一個系統(tǒng)完成一種單一功能,發(fā)展為要求系統(tǒng)功能可配置,在硬件環(huán)境基本不變的情況下,通過系統(tǒng)軟件功能的加載和業(yè)務流程的定義完成新的系統(tǒng)功能。用戶還對系統(tǒng)的可恢復性、可監(jiān)控性和健康管理等都提出了很高的要求。
上述發(fā)展趨勢下,各種專用嵌入式處理系統(tǒng)中往往存在多種傳感器同時工作,從底層數(shù)據(jù)采集到上層信息處理,涉及到運行VxWorks操作系統(tǒng)的PowerPC設備、運行嵌入式Linux操作系統(tǒng)的ARM設備和DSP設備等多種平臺,并且數(shù)據(jù)流和處理流程都很復雜。對于上述問題,本文提出一種跨平臺敏捷式動態(tài)可重構(gòu)系統(tǒng)架構(gòu),簡化系統(tǒng)開發(fā)的難度,解決分布式環(huán)境下的通信問題,屏蔽多種平臺和多種操作系統(tǒng)的差異,使得系統(tǒng)開發(fā)人員僅僅需要關注業(yè)務領域,使用符合直覺的可視化拖拽方式搭建系統(tǒng)功能,做到一鍵部署與運行,具備功能組件動態(tài)遷移等特性。
面對復雜的分布式系統(tǒng)環(huán)境需求,當前不同行業(yè)分別提出了適應各自領域的一些系統(tǒng)架構(gòu)解決方案,這些架構(gòu)是為了解決某領域的特定問題的,具有一定的適應性和局限性。大數(shù)據(jù)處理相關架構(gòu)和軟件通信體系架構(gòu)(SCA)是目前業(yè)界廣泛使用的成熟架構(gòu),下文分別對這兩種架構(gòu)進行分析。
1.1 大數(shù)據(jù)處理架構(gòu)
由于科學計算和當前大數(shù)據(jù)處理的興起,分布式處理系統(tǒng)架構(gòu)如雨后春筍般的出現(xiàn),最為知名的即為Hadoop[1]、Storm等系統(tǒng)處理架構(gòu),它們絕大多數(shù)采用Java編寫,運行在Linux集群上。Hadoop體系如圖1所示。
圖1 Hadoop體系結(jié)構(gòu)圖
大數(shù)據(jù)處理架構(gòu)一般沒有考慮嵌入式環(huán)境中的使用,當系統(tǒng)中存在大量嵌入式設備時,大數(shù)據(jù)分布式處理架構(gòu)基本無法使用。我們面對的多種傳感器嵌入式設備環(huán)境對功耗、體積、處理實時性等都有較高的要求,往往不支持也不適合使用Java語言進行開發(fā),僅支持C或者C++語言進行開發(fā)。嵌入式設備附帶的持久存儲介質(zhì)較小,速度也較慢,不適合采用分布式文件系統(tǒng)進行數(shù)據(jù)管理?;赥CP/IP的網(wǎng)絡傳輸在嵌入式系統(tǒng)中不是主流的數(shù)據(jù)傳輸方式,在桌面環(huán)境中卻往往是唯一的傳輸方式,嵌入式系統(tǒng)廣泛使用的RapidIO互聯(lián)[2]架構(gòu)在桌面領域無一涉及。
1.2 軟件通信體系架構(gòu)
軟件通信體系結(jié)構(gòu)(SCA)是將計算機領域的面向?qū)ο?、分布式中間件等技術(shù)應用于軍事通信,基于“軟總線”和波形組件化思想提出的一種開放體系設計架構(gòu)。通過此架構(gòu)用以解決軟件無線電設備升級維護困難的問題,提升互聯(lián)互通互操作能力。架構(gòu)最新標準SCA 4.1草案[3]由OMG組織于2012年發(fā)布,加入了可裁剪特性,體系結(jié)構(gòu)如圖2所示。在軍事通信領域美軍已經(jīng)裝備了大量符合該規(guī)范要求的軟件無線電設備。
圖2 SCA體系結(jié)構(gòu)圖
由于最初是為了應用于軍事通信設備,SCA架構(gòu)可以適應于運行在嵌入式設備中,并考慮了與FPGA和DSP進行的通信方式。SCA對操作系統(tǒng)接口進行了規(guī)范,要求運行它的操作系統(tǒng)必須提供AEP(Application Environment Profile)中指定的服務和接口,從而簡化了自身開發(fā)的難度,但是廣泛使用的Windows操作系統(tǒng)是不滿足AEP要求的。SCA在操作系統(tǒng)之上定義了核心框架(Core Framework),提供文件操作、設備管理等功能,屏蔽不同操作系統(tǒng)之間的差別。它使用了CORBA中間件[4]進行分布式環(huán)境下的數(shù)據(jù)和信息交互,CORBA使得分布式環(huán)境中的軟件之間可以像單機軟件一樣相互調(diào)用。但是由于CORBA實現(xiàn)機制非常復雜,加上市場和技術(shù)發(fā)展方向變化等其它原因,CORBA不再有發(fā)展和完整的技術(shù)支持,當前已經(jīng)基本退出了歷史潮流。SCA使用了CORBA提供的函數(shù)調(diào)用(本質(zhì)上是對象調(diào)用),通過參數(shù)傳遞完成各種通信需求,使得SCA無法脫離CORBA使用,無法使用另一種軟件中間件進行替換。
最初SCA架構(gòu)要求在FPGA和DSP中實現(xiàn)CORBA完成統(tǒng)一的系統(tǒng)通信,但是由于實現(xiàn)難度巨大,后續(xù)的標準中提出了硬件抽象層(Hardware Abstraction Layer)接口對特定硬件單元的對外接口進行抽象,定義一系列標準的通信應用編程接口,實現(xiàn)與其它計算單元應用組件的通信功能,使基于FPGA和DSP的專用處理器組件也具有良好的可移植性和可重用性。
本文提出的跨平臺敏捷式動態(tài)可重構(gòu)架構(gòu)軟件由核心支撐框架、集成和部署環(huán)境以及組件集合的App Store組成,如圖3所示。核心支撐框架對下屏蔽各種硬件平臺差異,對功能組件的開發(fā)與運行提供平臺無關抽象,使得用戶可以編寫具有跨平臺移植性、高度可重用的功能組件。核心支撐框架內(nèi)建了高效數(shù)據(jù)傳輸服務和遠程方法調(diào)用(RPC)機制,形成了分布式控制與管理和組件重構(gòu)能力的基礎。集成和部署環(huán)境是架構(gòu)提供給用戶的可視化設計工具,用于配置系統(tǒng)功能,部署功能運行的硬件平臺和監(jiān)控系統(tǒng)的運行狀態(tài)。
圖3 跨平臺敏捷式動態(tài)可重構(gòu)系統(tǒng)架構(gòu)
集成和部署可視化工具一方面從架構(gòu)的核心支撐框架中獲取硬件資源信息,一方面從組件集合的App Store獲取業(yè)務功能信息,分別形成系統(tǒng)資源視圖和系統(tǒng)業(yè)務視圖。用戶根據(jù)系統(tǒng)需求組合業(yè)務功能和硬件資源,通過架構(gòu)提供的一鍵部署和啟動功能把系統(tǒng)配置傳輸給核心支撐框架。核心支撐框架接收到系統(tǒng)配置后使用App Store向分布式硬件平臺上加載功能組件,待加載完成自動啟動組件運行。在運行狀態(tài)中,核心支撐框架實時收集各種軟硬件狀態(tài)信息,在可視化工具中動態(tài)更新顯示。用戶在集成和部署可視化工具中向核心支撐框架發(fā)送停止指令,核心支撐框架負責停止當前分布式環(huán)境中運行的所有組件,并完成資源的清理和回收。
各個功能組件運行時采用基于分布式的管道過濾器(Pipe-and-Filter)模式[5],如圖4所示。整個系統(tǒng)由域管理器進行統(tǒng)一管理,其下每一個硬件平臺上運行一個節(jié)點管理器,用于管理本硬件平臺的資源與組件。功能組件運行在各個硬件平臺中,通過架構(gòu)提供的數(shù)據(jù)通信服務進行數(shù)據(jù)交互,交互過程和生產(chǎn)流水線類似,在生產(chǎn)流水線上,原材料在流水線上經(jīng)過一道一道的工序,最后形成某種有用的產(chǎn)品。在本架構(gòu)中,數(shù)據(jù)經(jīng)過一個一個的功能組件,最后得到需要的結(jié)果。
功能組件負責數(shù)據(jù)的處理,它們之間沒有依賴關系,一個功能組件不必知道其它功能組件的存在。這種松耦合的設計,使得功能組件只需要實現(xiàn)單一的功能,從而降低了系統(tǒng)的復雜度,也使得功能組件之間依賴最小,從而以更加靈活的組合來實現(xiàn)新的功能。一個系統(tǒng)可以分為各個獨立的處理單元,降低耦合性有助于進一步抽象處理單元,提升通用性,提高復用性。由于功能組件相互獨立,系統(tǒng)可以并行運行多個功能組件,提升運行效率。
圖4 功能組件運行狀態(tài)
3.1 系統(tǒng)資源的協(xié)同適配技術(shù)
當前分布式并行處理技術(shù)都是把多個物理機器看作一樣平等的實體,每一個運行相同的程序。本架構(gòu)區(qū)分每一個物理機器,可以通過配置在不同物理機器上運行不同的軟件組件,通過這些軟件組件的協(xié)作完成某種系統(tǒng)功能。整個系統(tǒng)中物理機器以系統(tǒng)資源視圖的方式提供給用戶,架構(gòu)能夠感知物理機器上運行的操作系統(tǒng)、物理內(nèi)存和CPU參數(shù)等信息,使得用戶可以根據(jù)需要安排運行其上的軟件組件。
在系統(tǒng)運行過程中架構(gòu)還持續(xù)采集內(nèi)存使用量、CPU使用率等各種參數(shù),使得用戶可以對當前運行環(huán)境情況有全面整體的把握。架構(gòu)通過采集和統(tǒng)計每一個物理機器上組件運行的時間和效率,可以對機器的計算能力和組件的資源占用量(包括內(nèi)存資源和計算資源)有定量的估計,這些定量估計會持續(xù)記錄在架構(gòu)之中。組件設計人員也可以預先對組件需要的資源進行說明,架構(gòu)通過組件配置文件記錄這些說明,當系統(tǒng)運行時架構(gòu)分析組件的資源要求和物理機器的計算能力,得到最佳的組件配置方式[6-7],提示用戶參考。
3.2 跨平臺高效數(shù)據(jù)交互技術(shù)
架構(gòu)的操作系統(tǒng)抽象層屏蔽了Windows、Linux、VxWorks等平臺的差異,使得運行在其上的軟件可以以一份統(tǒng)一的代碼展現(xiàn)出來。包括對上述各種操作系統(tǒng)的進程、線程(task)、異步管理、網(wǎng)絡操作、路徑和文件操作以統(tǒng)一的接口調(diào)用,并提供跨平臺的XML操作、自動大小端轉(zhuǎn)換和序列化功能。
采用基于二進制的高效率序列化和反序列化技術(shù),數(shù)據(jù)序列化時自動消除冗余長度,有效節(jié)約傳輸帶寬。序列化和反序列化功能能夠根據(jù)所處硬件平臺自動判斷字節(jié)序情況,在后臺完成各種數(shù)據(jù)類型的大小端轉(zhuǎn)換,使得功能組件開發(fā)人員從繁瑣、復雜的字節(jié)序轉(zhuǎn)換中施放出來,關注于數(shù)據(jù)本身。
對序列化后的數(shù)據(jù)采用消息隊列技術(shù)完成通信,與傳統(tǒng)消息隊列管理系統(tǒng)不同,系統(tǒng)不需要獨立部署任何服務進程,架構(gòu)內(nèi)部沒有采用一個消息服務器(Broker)來存儲轉(zhuǎn)發(fā)消息,而是直接在發(fā)送端緩存,避免了單點失效和傳輸延遲問題。使用Reactor模式[8]與不同操作系統(tǒng)平臺的I/O模型進行通信,以達到高效率的多路I/O性能。
架構(gòu)對多種通信方式進行了抽象,提供點對點雙向通信、詢問回答通信和一對多通信(即訂閱發(fā)布通信)?;谶@些通信方式,架構(gòu)上層軟件可以方便的選擇需要的通信方式完成底層通信,不需要再考慮心跳、重連或者動態(tài)斷開與加入等底層細節(jié)問題。
3.3 系統(tǒng)智能動態(tài)重構(gòu)技術(shù)
架構(gòu)可以通過系統(tǒng)的智能平臺管理接口(IPMI)主動獲取當前硬件設備的健康狀況,知曉設備溫度、是否掉電崩潰等情況,并通過分布式的冗余特點達到動態(tài)重構(gòu),持續(xù)提供服務的能力。本架構(gòu)通過實現(xiàn)自動部署、組件動態(tài)啟停和數(shù)據(jù)通信鏈路動態(tài)修改技術(shù)完成系統(tǒng)功能的動態(tài)重構(gòu)。
架構(gòu)通過內(nèi)部實現(xiàn)的ftp服務器和ftp客戶端完成組件在Windows和Linux操作系統(tǒng)上的自動部署,由于VxWorks操作系統(tǒng)自帶ftp服務器端,架構(gòu)直接使用內(nèi)部實現(xiàn)的ftp客戶端與之通信,完成組件的部署。在系統(tǒng)啟動時全部的部署操作由域管理觸發(fā),需要運行的組件通過ftp傳輸?shù)綄奈锢砥脚_上;在運行期間,架構(gòu)感知到某臺硬件設備宕機時它會觸發(fā)域管理器選擇一臺可以使用的硬件平臺,然后在組件庫中把宕機類型的組件傳輸?shù)侥抢?,并動態(tài)啟動。
組件動態(tài)啟停技術(shù)在Windows和Linux操作系統(tǒng)中通過平臺無關抽象層提供的進程封裝抽象實現(xiàn),每一個組件即為一個進程;在VxWorks操作系統(tǒng)中通過平臺無關抽象層的動態(tài)庫加載和線程抽象實現(xiàn)。架構(gòu)使用統(tǒng)一的接口在VxWorks操作系統(tǒng)下加載組件到系統(tǒng)內(nèi)存中,再找到程序入口點,然后通過程序入口啟動組件成為一個task,至此完成組件在VxWorks操作系統(tǒng)下的動態(tài)啟動。
經(jīng)過動態(tài)重構(gòu)后的系統(tǒng)需要關閉其它組件與宕機組件的數(shù)據(jù)連接,并對新啟動的組件建立數(shù)據(jù)連接。這是基于架構(gòu)提供的跨平臺數(shù)據(jù)交互技術(shù)完成的。
3.4 敏捷的系統(tǒng)模型開發(fā)技術(shù)
在復雜的系統(tǒng)中往往會把系統(tǒng)功能分解成多個組件,并通過組件之間數(shù)據(jù)交互協(xié)作完成整體功能。在本架構(gòu)的集成和部署環(huán)境中,功能組件以模塊化的形式顯示給用戶,用戶使用鼠標拖動定義組件之間的數(shù)據(jù)傳輸路徑和方向。與傳統(tǒng)的圖形化配置功能相比,本架構(gòu)還把硬件資源也以圖形化模塊的形式提供給用戶選擇,并且組件模塊必須依附于某個硬件資源模塊之上,用以表明選擇特定硬件平臺運行此組件。通過圖形化配置完成系統(tǒng)設定后生成XML格式的配置文件,架構(gòu)讀取此配置文件完成分布式環(huán)境下組件的加載、連接和運行。集成和部署配置用戶界面見圖5所示。
圖5 敏捷式的系統(tǒng)集成與部署配置方式
架構(gòu)的核心支撐框架與集成和部署環(huán)境的圖形化界面松耦合,圖形化配置功能不僅可以使用Qt進行桌面軟件實現(xiàn),也可以使用Web技術(shù)實現(xiàn),避免用戶安裝任何客戶端軟件。
本文架構(gòu)與軟件通信體系架構(gòu)對比,類似之處在于:
(1)本架構(gòu)與軟件通信體系架構(gòu)(SCA)都采用了管道過濾器模式,這與嵌入式系統(tǒng)的特點有緊密關系。但是兩者在實現(xiàn)方式上有較大區(qū)別。
(2)本架構(gòu)采用與SCA基本兼容的配置文件格式。
差異之處在于:
(1)架構(gòu)自身管理的方式不同。SCA內(nèi)部各部分交互依賴于CORBA,本架構(gòu)自身管理與控制是通過輕量級的遠程方法調(diào)用(RPC)完成的。
(2)業(yè)務組件之間的數(shù)據(jù)通信方式不同。SCA的業(yè)務單元之間數(shù)據(jù)交互也是由CORBA完成的,往往效率較低;本架構(gòu)的業(yè)務組件之間數(shù)據(jù)通信時通過消息隊列技術(shù)完成的,效率很高。
(3)對組件的層級設計不同。SCA在每一個硬件平臺上有Device Manager,其下可以管理多個Device,每一個Device下有一個或者多個Component,一共是三層關系。本架構(gòu)采用一個硬件平臺一個節(jié)點管理器,其下管理多個功能組件的兩層結(jié)構(gòu),其中FPGA可以理解為一種特殊的功能組件。這樣的結(jié)構(gòu)使得硬件平臺和在其上運行的組件之間的對應關系更加清晰。
(4)對組件的管理能力不同。SCA僅定義了對整個系統(tǒng)的啟動和停止操作,不能單獨控制某一個組件的啟停,本架構(gòu)實現(xiàn)了單個組件的精細控制,使得動態(tài)重構(gòu)和遷移成為可能。
(5)SCA標準沒有定義狀態(tài)監(jiān)控相關內(nèi)容,本架構(gòu)內(nèi)部實現(xiàn)了硬件資源狀態(tài)監(jiān)控和組件運行狀態(tài)監(jiān)控功能。
(6)SCA標準沒有定義組件部署相關內(nèi)容,大多數(shù)SCA實現(xiàn)的廠商使用集成開發(fā)環(huán)境(IDE)完成組件的部署,部署方式各不相同。本架構(gòu)內(nèi)建部署相關流程,在不借助任何外部工具的情況下能夠完成組件在分布式環(huán)境中的部署操作,使得在系統(tǒng)運行期間動態(tài)部署某些組件成為可能。
5.1 工程應用與驗證
在某監(jiān)控系統(tǒng)的工程應用中,利用本文架構(gòu)在存在ARM、PowerPC和DSP幾種硬件平臺的系統(tǒng)環(huán)境下,分別定義了兩種不同的系統(tǒng)處理流程,形成了不同的系統(tǒng)能力,滿足了工程應用的實際需要。在系統(tǒng)概念驗證與初樣階段,通過分析系統(tǒng)功能、性能需求,完成組件功能劃分和串并處理流程的定義,搭建了具有完整功能的系統(tǒng),其基礎業(yè)務模型如圖6所示。
圖6 某監(jiān)控系統(tǒng)基礎業(yè)務模型
圖7 某監(jiān)控系統(tǒng)業(yè)務擴展模型
在實際應用環(huán)境中安裝有一對高分辨率攝像頭,用戶也對系統(tǒng)能力提出了更高的要求。得益于本文架構(gòu)提供的“算法可加載、規(guī)則可配置、流程可定義”的能力,在原有基礎業(yè)務模型的狀態(tài)下,對軟件功能組件進行替換,對流程進行編排,快速開發(fā)出了業(yè)務擴展模型,如圖7所示。在圖形采集與預處理PowerPC機器上增加圖像分塊組件,把高分辨率圖像分解為多個子圖,并增加一個并行處理計算單元,提高系統(tǒng)處理吞吐量,獲得更好的實時監(jiān)控效果。配置第二臺采集與預處理機器,獲取另一個攝像頭采集的數(shù)據(jù)。利用雙攝像頭的優(yōu)勢,增加了雙目景深計算組件,使得系統(tǒng)對監(jiān)控環(huán)境中的位置信息有更精確的理解。最后替換告警判斷算法,加入距離和物體的關聯(lián)信息,綜合判斷降低虛警率。
5.2 效果評價
在此監(jiān)控系統(tǒng)的工程應用中,系統(tǒng)設計者可以方便的選擇不同的圖像增強預處理算法、分類器算法和告警判斷算法,評估算法運行效果;系統(tǒng)運行期間,系統(tǒng)維護者可以使用新算法動態(tài)替換已有算法,立即提升功能和效果。每種組件有明確的數(shù)據(jù)輸入和結(jié)果輸出接口,使組件開發(fā)人員從系統(tǒng)流程和底層硬件的復雜度中解放出來,專注于業(yè)務功能的開發(fā)。通過功能組件的配合使用,自由定義各種運行規(guī)則,并與特定硬件解耦,本架構(gòu)保證了該工程應用的高質(zhì)高效完成。
對比原有系統(tǒng)開發(fā)流程和架構(gòu),使用本文架構(gòu)進行開發(fā)的項目縮短了研發(fā)周期,顯著增加了代碼復用度,極大降低了測試工作量,進而提升了產(chǎn)品質(zhì)量。
本文分析了當前一些分布式架構(gòu)的特點和問題,根據(jù)系統(tǒng)研發(fā)的實際需要,提出并實現(xiàn)了一種跨平臺敏捷式動態(tài)可重構(gòu)系統(tǒng)架構(gòu),通過在PowerPC, ARM, DSP等多種硬件平臺組成的系統(tǒng)中進行工程驗證,表明此架構(gòu)解決了復雜系統(tǒng)環(huán)境下,系統(tǒng)開發(fā)困難、靈活性差、處理流程和功能固化等問題。
[1] MURTHY A. Apache Hadoop YARN - background and an overview [EB/OL]. [2016-04-08] http://hortonworks.com/blog/apache-hadoop-yarn-background-and-an-overview/.
[2] Tom Cox.RapidIO Technical Overview and Spec 2.1 Features [EB/OL]. http://www.rapidio.org, 2010.12.
[3] Joint Tactical Networking Center (JTNC). SCA_4.1_DRAFT_Sca Specification Version: 4.1 [S].2014-12-31.
[4] Michi Henning, Steve Vinoski. Advanced CORBA Programming with C++ [M]. Addison Wesley. 1999.
[5] Frank Buschmann, Kevlin Henney, Douglas C. Schmidt. Pattern Oriented Software Architecture Volume 4: A Pattern Language for Distributed Computing [M]. Wiley. 2007.
[6] Abrishami S, Naghibzadeh M, Epema D. Deadline-constrained workflow scheduling algorithms for IaaS clouds [J]. Future Generation Computer Systems, 2013, 29(1):158-169。
[7] 葉常華, 左朝樹. 基于多核處理器的節(jié)能任務調(diào)度方法[J]. 中國電子科學研究院學報, 2012, 7(2):204-207.
[8] SCHMIDT D C. Reactor: an object behavioral pattern for demultiplexing and dispatching handles for synchronous events [J]. Compilers Principles Techniques & Tools, 1999, 261(2):201-208.
Research on Cross-platform Agile Dynamic Reconfigurable System Architecture
ZANG Wei-ming, HUA Hua, LAI Bing-yu, DENG Wen
(No.29 Research Institute of CETC, Sichuan, ChengDu, 610036)
The trend of the embedded system is open cross-platform, agile reconstruction, distributed collaboration, system resource adaptive adaptation. However, the software architecture in embedded system usually with fixed functionality, lack of flexibility of processing, lack of adaptability to different type of platforms. It is difficult to match the increasingly changing of complex system requirements. Therefore, this paper proposes a cross-platform agile dynamic reconfigurable software architecture that shields the hardware platform differences and provides efficient data communication mechanisms with hardware awareness and component dynamic reconfiguration capabilities, as well as modular graphical system configuration capabilities. This paper discusses the principle and key technologies of this architecture in depth. Architecture already used and verified on a variety of embedded processing platforms such as PowerPC, ARM, DSP devices.
cross-platform; agile; dynamic reconfigurable; system architecture research
10.3969/j.issn.1673-5692.2017.03.001
2017-04-01
2017-06-05
裝發(fā)重點實驗室基金項目資助(9140C100602150C10046);國家自然科學基金資助項目(61271330)
TP311.52
A
1673-5692(2017)03-225-06
臧維明(1961—),男,四川人,研究員,主要研究方向為系統(tǒng)工程與軟件架構(gòu)、信號處理等;
E-mail:doubhua@163.com
華 驊(1981—),男,四川人,工程師,主要研究方向為軟件架構(gòu)、數(shù)字圖像處理等;
賴炳宇(1981—),男,四川人,高級工程師,主要研究方向為嵌入式軟件架構(gòu)、信號處理等;
鄧 文(1978—),男,廣西人,高級工程師,主要研究方向為嵌入式軟件架構(gòu)、信號處理等。