專利名稱:嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式操作系統(tǒng)技術(shù)領(lǐng)域,尤其是涉及一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法。
背景技術(shù):
隨著計算機軟硬件的發(fā)展。工業(yè)化程度的提高,構(gòu)件化思想被引入了計算機領(lǐng)域。就像標準的零部件在傳統(tǒng)工業(yè)中發(fā)揮的作用一樣。標準的構(gòu)件也將在計算機的軟硬件中發(fā)揮作用。構(gòu)件這一詞語,更早地出現(xiàn)并應(yīng)用在建筑領(lǐng)域。建筑設(shè)計使用建筑圖紙,從圖紙上,可以知道“餐廳”、“臥室”的位置和設(shè)計,但如果沒有建筑師的指導(dǎo),生手(即使很了解圖紙)仍然無法蓋起大樓。為了解決這個問題,產(chǎn)生了構(gòu)件化。第二次世界大戰(zhàn)期間為了迷惑德國軍隊,盟軍一夜之間可以建造數(shù)十座大樓,效率如此之高,就是因為把房子看成標準的構(gòu)件,用吊車,如搭積木一樣,簡單地完成。
隨著計算機制造業(yè)的發(fā)展,硬件技術(shù)及硬件性能的提高速度總是快于軟件,著名的摩爾定律說明了硬件的發(fā)展速度,但是考察一下軟件開發(fā)的速度,可以發(fā)現(xiàn)軟件開發(fā)的速度一直遠遠地落后于硬件的速度。軟件的應(yīng)用領(lǐng)域也發(fā)生了根本的變化,模式從單機模式、C/S模式一直到現(xiàn)在的網(wǎng)絡(luò)計算,特別是網(wǎng)絡(luò)計算帶領(lǐng)軟件產(chǎn)業(yè)進入了一個新的時代,以電子商務(wù)為代表的技術(shù)潮流正將大到企業(yè)計算、小到個人數(shù)字代理的各種應(yīng)用,軟件開發(fā)領(lǐng)域正面臨著一些新的課題,如復(fù)雜的分布環(huán)境、靈活的應(yīng)用模式、廣泛的包容性等,人們需要的是一種能以“Internet速度”開發(fā)軟件的方法,傳統(tǒng)的軟件設(shè)計思想顯然已遠遠不夠。
諸如此類的問題的最佳方法是采用構(gòu)件化和軟件復(fù)用的方法進行軟件開發(fā)。這需要解決兩方面的問題其一是建立一種工程化的軟件開發(fā)方法;其二是采取軟件復(fù)用的方式。從類比的角度出發(fā),電子生產(chǎn)企業(yè)能夠降低成本,硬件構(gòu)件化是基礎(chǔ)。
提高軟件開發(fā)的速度,軟件開發(fā)工程化是必由之路。軟件開發(fā)工程化在現(xiàn)實中所采取的形式在目前來說,軟件工廠無疑是最可行的形式,也許以后會出現(xiàn)軟件開發(fā)自動化,但從目前的狀況來看,軟件開發(fā)自動化還是非常遙遠。如何實現(xiàn)軟件工廠、軟件藍領(lǐng)的軟件開發(fā)運作模式,必須研究其實現(xiàn)基礎(chǔ)與所需要的外部條件。
就是為了解決這一連串的問題,構(gòu)件技術(shù)應(yīng)運而生。構(gòu)件技術(shù)與面向?qū)ο蟮拈_發(fā)方法不同的是,面向?qū)ο蟮募夹g(shù)強調(diào)對個體的抽象,構(gòu)件則更推廣了對象封裝的內(nèi)涵,側(cè)重于復(fù)雜系統(tǒng)中組成部分的協(xié)調(diào)關(guān)系,強調(diào)實體在環(huán)境中的存在形式。
從廣義上來說,構(gòu)件有如下的幾個基本屬性。
1.構(gòu)件是可獨立配置的單元,因此構(gòu)件必須自包容;2.構(gòu)件強調(diào)與環(huán)境和其他構(gòu)件的分離,因此構(gòu)件的實現(xiàn)是嚴格封裝的,外界沒機會或沒必要知道構(gòu)件內(nèi)部的實現(xiàn)細節(jié);3.構(gòu)件可以在適當(dāng)?shù)沫h(huán)境中被復(fù)合使用,因此構(gòu)件需要提供清楚的接口規(guī)范,可以與環(huán)境交互;4.構(gòu)件不應(yīng)當(dāng)是持續(xù)的,即構(gòu)件沒有個體特有的屬性,理解為構(gòu)件不應(yīng)當(dāng)與自身副本區(qū)別。
從以上四個屬性可以看出,構(gòu)件沿襲了對象的封裝特性,但同時并不局限在一個對象,其內(nèi)部可以封裝一個或多個類、原型對象甚至過程,結(jié)構(gòu)是靈活的。構(gòu)件突出了自包容和被包容的特性,這就是在軟件工廠的軟件開發(fā)生產(chǎn)線上作為零件的必要特征。
構(gòu)件化對軟件開發(fā)工程化是非常重要的,有了構(gòu)件才能通過構(gòu)件的組裝、互連,實現(xiàn)軟件的工程化開發(fā)。然而更進一步可以這么說,構(gòu)件化也有自己的基礎(chǔ),那就是統(tǒng)一的建模語言,它應(yīng)該是一種所有軟件開發(fā)人員都了解的語言,可以完整地描述軟件的需求和結(jié)構(gòu),這就是“統(tǒng)一建模語言”(Unified ModelingLanguage,UML)。隨著軟件的日益復(fù)雜,傳統(tǒng)的開發(fā)方法已經(jīng)難以滿足需求,面向?qū)ο蟮拈_發(fā)方法逐漸成為主流,UML就是第三代面向?qū)ο箝_發(fā)方法。利用UML,軟件設(shè)計人員可以很方便地為實際系統(tǒng)的編寫提供一個“藍圖”,可以對軟件系統(tǒng)及其部件進行表示、直觀化說明、構(gòu)建和開發(fā)過程文檔化,能大大簡化軟件設(shè)計的復(fù)雜過程。當(dāng)然,僅有建模語言還不夠,還需要有相應(yīng)的“過程”來實現(xiàn)用建模語言搭建的“藍圖”。
所以說構(gòu)件是一種前沿的軟件設(shè)計思想,對整個軟件行業(yè)的發(fā)展有著推動作用。如果回顧經(jīng)典的工業(yè)化革命,不難得出一些有益的啟示功能再復(fù)雜的產(chǎn)品都是由大量標準的零件(盡管零件可能只在本領(lǐng)域內(nèi)有用)組成,零件在生產(chǎn)線上裝配成一個成品,所有零件在成品中共同發(fā)揮作用。分工越細致、專業(yè)生產(chǎn)的程度越高,總體生產(chǎn)效率就越高。而構(gòu)件技術(shù)所扮演的角色就是把零件、生產(chǎn)線和裝配運行的概念運用在在軟件工業(yè)中,可以預(yù)見,軟構(gòu)件技術(shù)是軟件產(chǎn)業(yè)化革命的必然發(fā)展趨勢。
作為嵌入式系統(tǒng)基礎(chǔ)技術(shù)之一的嵌入式操作系統(tǒng),其發(fā)展也必然要受到構(gòu)件技術(shù)的影響,從而需要對嵌入式操作系統(tǒng)進行特定的設(shè)計,使其也能夠進行構(gòu)件化,利用構(gòu)件技術(shù)解決長期以來困擾操作系統(tǒng)體系結(jié)構(gòu)設(shè)計者的大內(nèi)核和微內(nèi)核在性能、效率與穩(wěn)定性、安全性之間不能兩全其美的矛盾。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法,本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下本發(fā)明提供了一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法,包括以下步驟1)根據(jù)系統(tǒng)功能對系統(tǒng)進行劃分按照嵌入式操作系統(tǒng)的功能,將操作系統(tǒng)劃分為程序運行、I/O設(shè)備訪問、文件訪問、系統(tǒng)訪問、錯誤檢測和反饋、程序開發(fā)六類;2)定義功能構(gòu)件標準接口功能構(gòu)件包括頭信息和標準接口,標準接口封裝了嵌入式操作系統(tǒng)功能構(gòu)件的重要信息,包括查詢函數(shù)獲取標準接口的使用方法、功能構(gòu)件公共接口函數(shù)庫,用于對功能構(gòu)件進行基本的操作,包括接口查詢功能、動態(tài)裝載、移出構(gòu)件功能、簡單的本地管理功能,包括申請、下載構(gòu)件、刪除、更新、替換本地構(gòu)件;
3)功能構(gòu)件封裝按照標準接口的定義,按照步驟(1)中劃分出的嵌入式操作系統(tǒng)功能對操作系統(tǒng)進行封裝,對于每一個劃分出來的嵌入式操作系統(tǒng)功能模塊加上頭信息和接口信息,并重新進行編譯形成嵌入式操作系統(tǒng)功能構(gòu)件。
作為本發(fā)明的一個改進,所述步驟(1)中劃分程序運行功能,包括指令和數(shù)據(jù)載入內(nèi)存、I/O設(shè)備和文件系統(tǒng)的初始化。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是(1)可重用性。本發(fā)明充分利用軟件復(fù)用技術(shù)的特點,對嵌入式操作系統(tǒng)按照其功能進行模塊劃分,并對功能模塊進行了構(gòu)件化,從而形成了按照功能構(gòu)件化的嵌入式操作系統(tǒng),這些功能構(gòu)件都是可重用的。
(2)靈活性。按照功能構(gòu)件化的嵌入式操作系統(tǒng),能夠根據(jù)實際需要的不同,選擇不同的功能構(gòu)件來構(gòu)造嵌入式操作系統(tǒng)能夠提供的服務(wù),從而使得系統(tǒng)的功能更加靈活,性能更高。
圖1是本發(fā)明過程的示意圖;圖2是構(gòu)件統(tǒng)一接口的示意圖;圖3是按功能構(gòu)件化的嵌入式操作系統(tǒng)與構(gòu)件庫的關(guān)系示意圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步的說明。
一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法,附圖1是本發(fā)明實施過程的整體示意圖,其具體實施方法如下1)系統(tǒng)功能劃分操作系統(tǒng)是充當(dāng)計算機用戶和計算機硬件之間的一個中介,并用于管理計算機資源和控制應(yīng)用程序運行的計算機程序,按照嵌入式操作系統(tǒng)的功能,可以劃分為以下六類不同的功能·程序運行,嵌入式軟件程序的運行離不開嵌入式操作系統(tǒng)的配合,其中包括指令和數(shù)據(jù)載入內(nèi)存,I/O設(shè)備和文件系統(tǒng)的初始化等等;
·I/O設(shè)備訪問,每種I/O設(shè)備的管理和使用都有自己的特點。而操作系統(tǒng)接管了這些工作,從而使得用戶在使用這些I/O設(shè)備的過程中會感覺更方便;·文件訪問,文件訪問不僅需要熟悉相關(guān)I/O設(shè)備(磁盤驅(qū)動器等)的特點,而且還要熟悉相關(guān)的文件格式,對于多用戶嵌入式操作系統(tǒng)或者網(wǎng)絡(luò)嵌入式操作系統(tǒng),從安全角度考慮,需要對文件的訪問權(quán)限做出相應(yīng)的規(guī)定和處理;·系統(tǒng)訪問,對于一個多用戶或者網(wǎng)絡(luò)嵌入式操作系統(tǒng)而言,操作系統(tǒng)需要對用戶系統(tǒng)訪問權(quán)限做出相應(yīng)的規(guī)定和處理;·錯誤檢測和反饋,當(dāng)操作系統(tǒng)運行時,會出現(xiàn)這樣那樣的問題,操作系統(tǒng)應(yīng)當(dāng)提供相應(yīng)的機制來檢測這些信息,并且能對某些問題給出合理的處理或者報告用戶;·程序開發(fā),一般嵌入式操作系統(tǒng)都會提供豐富的應(yīng)用程序接口供程序員開發(fā)應(yīng)用程序,并且很多程序編輯工具,集成開發(fā)環(huán)境等等也都是通過操作系統(tǒng)提供的;上述的分類是從嵌入式操作系統(tǒng)的總體進行劃分,其劃分粒度較大,在此次劃分之后,可以進行進一步的劃分,從粒度上來看,構(gòu)件的粒度越小,功能劃分得越細,嵌入式操作系統(tǒng)構(gòu)件越多;構(gòu)件粒度越大,功能劃分得越粗,嵌入式操作系統(tǒng)構(gòu)件就越少。
構(gòu)件粒度的大小,決定了構(gòu)件模塊化、信息封裝性、局部化的程度,為此必須保證構(gòu)件的獨立性。一旦構(gòu)件具備良好的獨立性,建立在嵌入式操作系統(tǒng)構(gòu)件之上的應(yīng)用程序構(gòu)件更容易開發(fā),接口也會簡化;獨立的模塊也比較容易測試與維護,修改工作量小,錯誤傳播范圍小。如果粒度過小,雖然構(gòu)件獨立性增強,但是構(gòu)件的接口就增加了,給構(gòu)件的組合、構(gòu)件的管理帶來了很多的困難。如果粒度過大,構(gòu)件的尺度增加,獨立性降低,各個構(gòu)件之間的關(guān)聯(lián)度也會增加,不利于構(gòu)件的動態(tài)替換與更新。
2)定義功能構(gòu)件標準接口功能構(gòu)件標準接口封裝了嵌入式操作系統(tǒng)功能構(gòu)件的重要信息,這樣功能構(gòu)件的使用者就能夠通過標準的接口獲取功能構(gòu)件的基本信息。
基本上,功能構(gòu)件主要由頭信息和接口兩部分組成,更重要的是功能構(gòu)件的使用者還能通過接口查詢函數(shù)獲取標準接口的使用方法,同時,功能構(gòu)件標準接口還提供了功能構(gòu)件公共接口函數(shù)庫,用于對功能構(gòu)件進行基本的操作,包括接口查詢功能、動態(tài)裝載、移出構(gòu)件功能、簡單的本地管理功能,包括申請、下載構(gòu)件、刪除、更新、替換本地構(gòu)件等操作。
構(gòu)件標準接口是嵌入式操作系統(tǒng)基于功能構(gòu)件化的基礎(chǔ),構(gòu)件標準接口設(shè)計的好壞將直接關(guān)系到構(gòu)件化的性能。構(gòu)件標準接口形成一套統(tǒng)一接口,實現(xiàn)了構(gòu)件組合之間、構(gòu)件與應(yīng)用系統(tǒng)之間、構(gòu)件與構(gòu)件庫之間的簡單清晰的數(shù)據(jù)傳遞標準規(guī)范,使構(gòu)件更加透明,數(shù)據(jù)傳輸更加規(guī)范,構(gòu)件管理更加方便。另外,按照構(gòu)件標準接口開發(fā)出的構(gòu)件具有較好的靈活性和擴展性和相對的獨立性,易于獨立升級、動態(tài)加載和跨平臺、跨進程、跨網(wǎng)絡(luò)使用。
3)功能構(gòu)件封裝按照標準接口的定義,對1)中劃分出的嵌入式操作系統(tǒng)功能進行封裝,對于每一個劃分出來的嵌入式操作系統(tǒng)功能模塊,都加上頭信息和接口,以及其他相關(guān)的信息,并重新進行編譯形成嵌入式操作系統(tǒng)功能構(gòu)件。
構(gòu)件經(jīng)過標準封裝后,都有序存放在構(gòu)件庫里面。而操作系統(tǒng)和其他應(yīng)用系統(tǒng)在使用構(gòu)件的時候,只要通過統(tǒng)一的接口,可以透明的調(diào)用構(gòu)件而不必顧忌調(diào)用的格式和特殊構(gòu)件的調(diào)用條件;同時有了統(tǒng)一接口,可以格式化的在構(gòu)件之間和構(gòu)件與操作系統(tǒng)、應(yīng)用平臺之間進行數(shù)據(jù)流傳輸而實現(xiàn)應(yīng)用的平臺和網(wǎng)絡(luò)跨越。
權(quán)利要求
1.一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法,其特征在于,包括以下步驟1)根據(jù)系統(tǒng)功能對系統(tǒng)進行劃分按照嵌入式操作系統(tǒng)的功能,將操作系統(tǒng)劃分為程序運行、I/O設(shè)備訪問、文件訪問、系統(tǒng)訪問、錯誤檢測和反饋、程序開發(fā)六類;2)定義功能構(gòu)件標準接口功能構(gòu)件包括頭信息和標準接口,標準接口封裝了嵌入式操作系統(tǒng)功能構(gòu)件的重要信息,包括查詢函數(shù)獲取標準接口的使用方法、功能構(gòu)件公共接口函數(shù)庫,用于對功能構(gòu)件進行基本的操作,包括接口查詢功能、動態(tài)裝載、移出構(gòu)件功能、簡單的本地管理功能,包括申請、下載構(gòu)件、刪除、更新、替換本地構(gòu)件;3)功能構(gòu)件封裝按照標準接口的定義,按照步驟(1)中劃分出的嵌入式操作系統(tǒng)功能對操作系統(tǒng)進行封裝,對于每一個劃分出來的嵌入式操作系統(tǒng)功能模塊加上頭信息和接口信息,并重新進行編譯形成嵌入式操作系統(tǒng)功能構(gòu)件。
2.根據(jù)權(quán)利要求1所述的嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法,其特征在于,所述步驟(1)中劃分程序運行功能,包括指令和數(shù)據(jù)載入內(nèi)存、I/O設(shè)備和文件系統(tǒng)的初始化。
全文摘要
本發(fā)明涉及嵌入式操作系統(tǒng)技術(shù)領(lǐng)域,旨在提供一種嵌入式系統(tǒng)基于功能構(gòu)件化的實現(xiàn)方法。該方法包括根據(jù)系統(tǒng)功能對系統(tǒng)進行劃分、定義功能構(gòu)件標準接口和功能構(gòu)件封裝。該方法具有可重用性和靈活性。本發(fā)明充分利用軟件復(fù)用技術(shù)的特點,對嵌入式操作系統(tǒng)按照其功能進行模塊劃分,并對功能模塊進行了構(gòu)件化,從而形成了按照功能構(gòu)件化的嵌入式操作系統(tǒng),這些功能構(gòu)件都是可重用的。按照功能構(gòu)件化的嵌入式操作系統(tǒng),能夠根據(jù)實際需要的不同,選擇不同的功能構(gòu)件來構(gòu)造嵌入式操作系統(tǒng)能夠提供的服務(wù),從而使得系統(tǒng)的功能更加靈活,性能更高。
文檔編號G06F9/44GK1877522SQ200610052229
公開日2006年12月13日 申請日期2006年6月30日 優(yōu)先權(quán)日2006年6月30日
發(fā)明者陳天洲, 謝斌, 趙懿, 沙峰 申請人:浙江大學(xué)