国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式構(gòu)件技術(shù)探究

2014-12-31 00:48楊曉華
電腦知識(shí)與技術(shù) 2014年35期
關(guān)鍵詞:遠(yuǎn)程控制嵌入式系統(tǒng)插件

楊曉華

摘要:嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)是新一代的監(jiān)控系統(tǒng),它體積小易于布控、功耗低、穩(wěn)定性高、具有良好的性價(jià)比,與傳統(tǒng)的基于PC機(jī)的監(jiān)控系統(tǒng)相比具有強(qiáng)大的優(yōu)勢(shì)。隨著硬件的變革,嵌入式網(wǎng)絡(luò)視頻監(jiān)控軟件系統(tǒng)也需要從基于PC機(jī)的開發(fā)轉(zhuǎn)移到基于ARM的嵌入式系統(tǒng)的開發(fā)上,嵌入式系統(tǒng)有不同于通用PC的諸多新特點(diǎn),對(duì)嵌入式系統(tǒng)下視頻監(jiān)控系統(tǒng)開發(fā)提出新的要求。

關(guān)鍵詞:嵌入式系統(tǒng);遠(yuǎn)程控制;軟構(gòu)件;插件;構(gòu)件模型

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)35-8396-02

嵌入式軟件系統(tǒng)日益復(fù)雜,功能日益強(qiáng)大,基于構(gòu)件的軟件開發(fā)(CBSD)方法,能夠提高嵌入式軟件的復(fù)用率和生命周期,大大縮減開發(fā)時(shí)間和開發(fā)費(fèi)用,是嵌入式軟件設(shè)計(jì)的新方向。

構(gòu)件化的軟件開發(fā)方法是一種基于分布對(duì)象技術(shù)、強(qiáng)調(diào)通過可復(fù)用構(gòu)件設(shè)計(jì)與構(gòu)造軟件系統(tǒng)的軟件復(fù)用途徑?;跇?gòu)件的軟件系統(tǒng)中的構(gòu)件可以是COTS(Commercial-Off-the-Shelf)構(gòu)件,也可以是通過其它途徑獲得的構(gòu)件(如自行開發(fā))。CBSD體現(xiàn)了“購(gòu)買而不是重新構(gòu)造”的哲學(xué),將軟件開發(fā)的重點(diǎn)從程序編寫轉(zhuǎn)移到了基于已有構(gòu)件的組裝,以更快地構(gòu)造系統(tǒng),減輕用來支持和升級(jí)大型系統(tǒng)所需要的維護(hù)負(fù)擔(dān) ,從而降低軟件開發(fā)的費(fèi)用。

軟件復(fù)用已經(jīng)是軟件工程研究的主流,被視為是使軟件開發(fā)真正走上工程化和產(chǎn)業(yè)化道路的希望。人們?cè)趯?shí)踐中認(rèn)識(shí)到軟件復(fù)用是一個(gè)涉及到技術(shù)、方法學(xué)、管理和文化等多個(gè)方面的復(fù)雜問題。除了日常隱含發(fā)生的對(duì)專業(yè)知識(shí)和經(jīng)驗(yàn)的復(fù)用之外,最為典型的復(fù)用活動(dòng)表現(xiàn)為借鑒、理解、修改和集裝各種不同抽象層次 (從產(chǎn)品的概念、系統(tǒng)模型和違約到程序源碼甚至目標(biāo)碼 )、不同粒度 (從系統(tǒng)構(gòu)架、框架、類簇到代碼片斷 )、不同形式 (黑盒構(gòu)造塊、生成器、模板、設(shè)計(jì)模式等 )的可復(fù)用軟件構(gòu)件來構(gòu)造新系統(tǒng)和實(shí)現(xiàn)系統(tǒng)演化過程。

構(gòu)件(component)是可復(fù)用的軟件組成成份,可被用來構(gòu)造其他軟件。構(gòu)件具有相對(duì)獨(dú)立的功能和可復(fù)用價(jià)值。它可以是被封裝的對(duì)象類、類樹、一些功能模塊、軟件框架 (framwork)、軟件構(gòu)架 (或體系結(jié)構(gòu)Architectural)、文檔、分析文件、設(shè)計(jì)模式 (Pattern)等。構(gòu)件分為構(gòu)件類和構(gòu)件實(shí)例,通過給出構(gòu)件類的參數(shù),生成實(shí)例,通過實(shí)例的組裝和控制來構(gòu)造相應(yīng)的應(yīng)用軟件。

軟構(gòu)件技術(shù)是支持軟件復(fù)用的核心技術(shù),其主要研究?jī)?nèi)容包括:

1) 構(gòu)件獲?。河心康牡臉?gòu)件生產(chǎn)和從已有系統(tǒng)中挖掘提取構(gòu)件;

2) 構(gòu)件模型:研究構(gòu)件的本質(zhì)特征及構(gòu)件間的關(guān)系;主要的模型有3C模型,北京大學(xué)提出的青鳥構(gòu)件模型等

3) 構(gòu)件描述語(yǔ)言:以構(gòu)件模型為基礎(chǔ),解決構(gòu)件的精確描述、理解及組裝問題;

4) 構(gòu)件分類與檢索:研究構(gòu)件分類策略、組織模式及檢索策略,建立構(gòu)件庫(kù)系統(tǒng),支持構(gòu)件的有效管理;

5) 構(gòu)件復(fù)合組裝:在構(gòu)件模型的基礎(chǔ)上研究構(gòu)件組裝機(jī)制,包括源代碼級(jí)的組裝和基于構(gòu)件對(duì)象互操作性的運(yùn)行級(jí)組裝;

6) 標(biāo)準(zhǔn)化:構(gòu)件模型的標(biāo)準(zhǔn)化和構(gòu)件庫(kù)系統(tǒng)的標(biāo)準(zhǔn)化。

從軟件開發(fā)方法上,CBSD引導(dǎo)軟件開發(fā)從應(yīng)用系統(tǒng)開發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。在基于構(gòu)件的軟件系統(tǒng)開發(fā)時(shí),就要對(duì)一個(gè)新的功能模塊的設(shè)計(jì)考慮其重用性。與傳統(tǒng)的嵌入式軟件不同,構(gòu)件化的嵌入式軟件是由構(gòu)件構(gòu)成的,這些構(gòu)件的一個(gè)或者幾個(gè)組合成一個(gè)完整的應(yīng)用系統(tǒng);而且,新的應(yīng)用也可以使用已有的構(gòu)件,從而實(shí)現(xiàn)嵌入式軟件的重復(fù)利用。

接口和框架是軟構(gòu)件的基本結(jié)構(gòu)組成,利用構(gòu)件開發(fā)應(yīng)用系統(tǒng)就是對(duì)構(gòu)件接口、構(gòu)件上下文以及框架環(huán)境一致性的逐漸探索過程。構(gòu)件間信息通信的機(jī)制就是構(gòu)件接口,對(duì)構(gòu)件接口進(jìn)行定義是CBSD其中的關(guān)鍵技術(shù);構(gòu)件組裝技術(shù)是基于構(gòu)件的軟件開發(fā)的核心技術(shù)。

構(gòu)件的接口可以理解為構(gòu)件的訪問點(diǎn),原始的接口是特征的集合,一個(gè)特征可以是一個(gè)數(shù)據(jù)類型,也可以是一個(gè)抽象方法。構(gòu)件的特性從接口信息表達(dá),它對(duì)于有效管理和使用構(gòu)件是非常重要的,優(yōu)質(zhì)的構(gòu)件接口設(shè)計(jì)是降低構(gòu)件之間耦合性的關(guān)鍵。一個(gè)構(gòu)件不僅給外界提供服務(wù)接口,而且,還可能向其他構(gòu)件提出接口要求。完美的構(gòu)件模型應(yīng)該具有服務(wù)接口和請(qǐng)求接口,實(shí)際的構(gòu)件可以沒有請(qǐng)求接口,但不能沒有服務(wù)接口,沒有請(qǐng)求接口的構(gòu)件是一個(gè)不需要客戶進(jìn)行控制和定制的接口。

在嵌入式軟構(gòu)件的接口設(shè)計(jì)中,還要求有配置屬性,這是用于改變構(gòu)件功能和性能參數(shù)的接口。構(gòu)件的配置要根據(jù)應(yīng)用環(huán)境的需要,通過參數(shù)的改變,可以使構(gòu)件具有個(gè)性化的靈活性。

如果要實(shí)現(xiàn)構(gòu)件的價(jià)值,就必須經(jīng)過組裝應(yīng)用于應(yīng)用系統(tǒng)才行,構(gòu)件組裝是CBSD技術(shù)中的核心技術(shù)。目前構(gòu)件的組裝方法按對(duì)構(gòu)件內(nèi)部細(xì)節(jié)了解的程度分為黑盒子、白盒子和灰盒子。簡(jiǎn)單說,白盒子就是對(duì)用戶公開的,黑盒子就是對(duì)用戶保密的,灰盒子就是對(duì)用戶有所保留又有所公開的。目前我們一般都是使用灰盒子。

有了構(gòu)件,還需要組建構(gòu)件管理庫(kù)(component base management system ,CBMS),對(duì)構(gòu)件進(jìn)行觀測(cè)、定制和測(cè)試是構(gòu)件管理庫(kù)要完成的功能,內(nèi)容豐富、組織良好的構(gòu)件庫(kù)是軟件重用的核心。組建構(gòu)件管理庫(kù)系統(tǒng)的要求包含:構(gòu)件庫(kù)的建立、存儲(chǔ)和管理功能、構(gòu)件組織、構(gòu)件庫(kù)定義功能、構(gòu)件存取功能、構(gòu)件庫(kù)運(yùn)行管理功能和維護(hù)以、支持構(gòu)件組合。構(gòu)件管理庫(kù)系統(tǒng)的核心部分是構(gòu)件庫(kù)運(yùn)行管理功能,它包含構(gòu)件提取、構(gòu)件執(zhí)行、構(gòu)件庫(kù)內(nèi)部維護(hù)等。

總之,良好的構(gòu)件接口定義是構(gòu)件可以方便復(fù)用的關(guān)鍵因素和基礎(chǔ),只有定義優(yōu)質(zhì)的構(gòu)件的接口才能更好完成構(gòu)件的組裝和構(gòu)件管理庫(kù)系統(tǒng)的組建。

構(gòu)件化軟件開發(fā)方法強(qiáng)調(diào)真正的軟件重用和高度的互操作性,它側(cè)重于構(gòu)件的組成和裝配。利用這種方法來開發(fā)應(yīng)用系統(tǒng),特別是對(duì)于嵌入式系統(tǒng)開發(fā)來說,其優(yōu)勢(shì)是明顯的,主要表現(xiàn)在以下幾個(gè)方面。endprint

1) 構(gòu)件化軟件開發(fā)方法繼承并發(fā)展了面向?qū)ο笤O(shè)計(jì)方法。構(gòu)件化設(shè)計(jì)并沒有擯棄面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,而是在系統(tǒng)各個(gè)層面上利用了對(duì)象技術(shù)的優(yōu)勢(shì)。

2) 系統(tǒng)模塊化。采用構(gòu)件技術(shù)毫無疑問必須使系統(tǒng)模塊化,模塊化的軟件工程帶了得最大好處就是靈活、可重新配置、利于系統(tǒng)升級(jí)和維護(hù)。

3) 增加了系統(tǒng)的可靠性。由于每個(gè)構(gòu)件在系統(tǒng)集成前都進(jìn)行了充分的測(cè)試,提高了基于構(gòu)件的系統(tǒng)可靠性。

4) 降低開發(fā)成本。嵌入式系統(tǒng)構(gòu)件可以在不同的硬件系統(tǒng)中重復(fù)使用這些構(gòu)件,降低后續(xù)系統(tǒng)開發(fā)的成本,良好的構(gòu)件庫(kù)是嵌入式系統(tǒng)開發(fā)的珍貴資源。

基于構(gòu)件的軟件開發(fā)促進(jìn)了軟件的模塊化和復(fù)用能力,正在被逐漸應(yīng)用于嵌入式系統(tǒng)。由于嵌入式系統(tǒng)資源受限的特性,嵌入構(gòu)件除了具有傳統(tǒng)構(gòu)件的基本特征外(如:構(gòu)件的實(shí)現(xiàn)與構(gòu)件的接口定義被隔離的特性),與一般的軟件構(gòu)件相比它體現(xiàn)出了嵌入式構(gòu)件的新特點(diǎn):

1) 嵌入式軟件開發(fā)者必須保證在低處理能力和有限的內(nèi)存環(huán)境下系統(tǒng)執(zhí)行的完整性和有效性。

2) 由于嵌入式目標(biāo)系統(tǒng)系統(tǒng)比一般的企業(yè)軟件具有更復(fù)雜的多樣性,構(gòu)件模型需要更加關(guān)注可復(fù)用的內(nèi)核,因此,嵌入式系統(tǒng)構(gòu)件結(jié)構(gòu)和模型設(shè)計(jì)盡可能簡(jiǎn)單和輕型。

3) 以靜態(tài)結(jié)構(gòu)為主要特征(即編譯時(shí)動(dòng)態(tài)性),支持少量運(yùn)行時(shí)的動(dòng)態(tài)性。這意味著組件不能在運(yùn)行時(shí)創(chuàng)建和銷毀,也不能在運(yùn)行時(shí)建立新的連接和斷開已有的連接。

4) 另外由于嵌入系統(tǒng)的平臺(tái)依賴性比較強(qiáng),嵌入式構(gòu)件被分為應(yīng)用軟件構(gòu)件和系統(tǒng)構(gòu)件。

隨著嵌入式構(gòu)件技術(shù)的不斷發(fā)展,嵌入式構(gòu)件模型作為基于構(gòu)件的嵌入式系統(tǒng)開發(fā)的關(guān)鍵技術(shù)被廣泛研究,許多構(gòu)件模型被提出,目前影響比較大的嵌入式構(gòu)件模型有以下幾種:

1) MinimumCORBA:是OMG組織于2000年下半年推出的一種面向嵌入式系統(tǒng)應(yīng)用的構(gòu)件模型。它是CORBA模型面向嵌入式等資源受限系統(tǒng)進(jìn)行的簡(jiǎn)化版本,刪除了CORBA中體現(xiàn)組件動(dòng)態(tài)的特性。它對(duì)于嵌入式系統(tǒng)開發(fā)仍然有許多不足如:運(yùn)行時(shí)不需要的資源消耗依然存在,另外對(duì)于開發(fā)者來說系統(tǒng)限制太多,靈活性不夠。

2) Koala:Koala 該模型于2000年由Rob van Ommering等提出,是Philips研究實(shí)驗(yàn)室的研究成果,該模型是面向電子消費(fèi)品的嵌入式構(gòu)件模型。組件被分別得進(jìn)行設(shè)計(jì),每個(gè)組件擁有與其它組件連接的接口,但接口是在配置時(shí)被綁定即組件的組裝,僅在編譯時(shí)和設(shè)計(jì)時(shí)的具有可擴(kuò)展性[30]。

3) PECOS(Pervasive Component System):是由Michael Winter等在2002年提出的,該項(xiàng)目旨在利用構(gòu)件技術(shù)來開發(fā)嵌入式系統(tǒng),節(jié)省開發(fā)費(fèi)用。在該模型中組件被定義為具有端口的黑盒子,在設(shè)計(jì)時(shí)組裝,在運(yùn)行時(shí)沒有被組裝的可能,也沒有知識(shí)倉(cāng)庫(kù)支持。PECOS的構(gòu)件模型是一個(gè)特定的專用構(gòu)件模型,它的結(jié)構(gòu)簡(jiǎn)單、支持設(shè)計(jì)時(shí)(design-time有時(shí)也稱編譯時(shí))構(gòu)件集成(這種構(gòu)件又稱為靜態(tài)構(gòu)件),適合于狀態(tài)可預(yù)知和需求確定的小型的嵌入式構(gòu)件系統(tǒng)開發(fā)。

通過上述構(gòu)件模型分析,它們都有個(gè)共同的特點(diǎn)就是基本不支持運(yùn)行時(shí)的動(dòng)態(tài)性和可擴(kuò)展性,基于上述構(gòu)件模型開發(fā)的嵌入式目標(biāo)系統(tǒng)不具有運(yùn)行時(shí)的多態(tài)性和可擴(kuò)展性。

參考文獻(xiàn):

[1] 高文國(guó).基于ARM的嵌入式視頻監(jiān)控終端的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院研究生院,2006.

[2] 徐力,孔巖.視頻監(jiān)控系統(tǒng)的現(xiàn)狀和發(fā)展趨勢(shì)[J].軟件開發(fā)與應(yīng)用,2005(4):60-62.

[3] 王志堅(jiān),費(fèi)玉奎,婁淵清.軟件構(gòu)件技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2005.

[4] 童恒慶,聶會(huì)琴,李錫品.CORBA/COM/EJB三種組件模型的分析與比較[J].計(jì)算機(jī)應(yīng)用研究,2004(4):66- 67.

[5] 陳新,高鳳梅,曹玲芝等.嵌入式數(shù)據(jù)庫(kù)SQLite在電梯B/S監(jiān)控中的應(yīng)用[J].電子技術(shù)應(yīng)用,2006(5):59-61.

[6] 周曉峰.基于語(yǔ)義的軟件構(gòu)件匹配方法及在水利領(lǐng)域中應(yīng)用的研究[D].南京:河海大學(xué),2006.

[7] 王克宏.認(rèn)識(shí)基于構(gòu)件的軟件開發(fā)方法[EB/OL]. http://industry.ccidnet.com/art/3089/20060314/476481_1.html,2006-3-14.

[8] 劉芳,周興社,任春香.Linux 下嵌入式軟構(gòu)件技術(shù)研究與實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2007,24(4):50-53.endprint

猜你喜歡
遠(yuǎn)程控制嵌入式系統(tǒng)插件
自編插件完善App Inventor與樂高機(jī)器人通信
基于jQUerY的自定義插件開發(fā)
水冷發(fā)射機(jī)冷卻系統(tǒng)故障分析及解決方案
鹽城地區(qū)設(shè)計(jì)項(xiàng)目與課堂遠(yuǎn)程互動(dòng)的方式方法研究
基于GSM的遠(yuǎn)程控制系統(tǒng)
基于物聯(lián)網(wǎng)項(xiàng)目驅(qū)動(dòng)的嵌入式系統(tǒng)教學(xué)改革的研究與實(shí)踐
嵌入式系統(tǒng)課程“中斷、異常與事件”教學(xué)實(shí)踐及啟示
面向?qū)嵺`創(chuàng)新人才培養(yǎng)的嵌入式系統(tǒng)教學(xué)研究
MapWindowGIS插件機(jī)制及應(yīng)用
基于Revit MEP的插件制作探討
偃师市| 阿勒泰市| 五大连池市| 新干县| 翁牛特旗| 成安县| 保靖县| 霍林郭勒市| 白银市| 长岭县| 桓台县| 美姑县| 青海省| 阿合奇县| 潞城市| 顺平县| 曲沃县| 抚松县| 阿拉善盟| 巴彦淖尔市| 阿荣旗| 手机| 正安县| 新郑市| 赤城县| 三亚市| 霞浦县| 探索| 庐江县| 高雄市| 唐河县| 高碑店市| 梁河县| 偏关县| 石台县| 潢川县| 乐安县| 莲花县| 屏南县| 启东市| 略阳县|