摘要:將軟件構(gòu)件化開發(fā)技術應用至RFID領域,基于領域工程的分析方法,對RFID領域內(nèi)變化性需求進行封裝、隔離和抽象,分析出RFID體系架構(gòu),提煉出RFID軟件構(gòu)件模型。針對構(gòu)件的管理,研究了RFID構(gòu)件的分類方法,提出刻面分類法,并詳細描述RFID軟件構(gòu)件分類的刻面及每個刻面的術語空間。
關鍵詞:RFID;構(gòu)件;領域工程;構(gòu)件模型;刻面分類
RFID(Raclio Frequency Identification),即射頻識別,是一種非接觸式的自動識別技術,該技術利用無線射頻方式進行非接觸的雙向通信,在識別的同時進行數(shù)據(jù)交換。RFID應用領域日益擴大,現(xiàn)已涉及到日常生活的各個方面,并將成為未來信息社會的一項基礎技術。特別是隨著“物聯(lián)網(wǎng)”概念引起業(yè)界廣泛關注,作為一種先進生產(chǎn)力,RFID技術的廣泛應用對提高生產(chǎn)效率、提升用戶應用對應用的體驗具有極大的促進作用。
RFID軟件在RFID整體開發(fā)中所占的比例也越來越高,而軟件設計與研發(fā)由于受到網(wǎng)絡和硬件環(huán)境不同的影響,導致生產(chǎn)效率低,開發(fā)成本大。盡管RFID軟件具有多樣化、與硬件密切相關等特性,但軟件各組成部分,仍然有其共有特點和構(gòu)成要素,所以采用構(gòu)件技術能夠支持RDID應用系統(tǒng)的高效開發(fā)。
因此,文中研究在RFID領域中采用構(gòu)件化方法進行軟件開發(fā),將功能進行提煉分解,將相應的軟件設計為軟件構(gòu)什,使其能夠重復應用,成為提高軟件開發(fā)效率、保障軟件質(zhì)量的有效途徑。
1 構(gòu)件化的軟件開發(fā)方法
上世紀九卜年代中后期,隨著分布式對象,Internet、java和Client/Server計算模式的興起,基于構(gòu)件的軟件開發(fā)模式為廣大研究人員所認同。軟件構(gòu)件是一個具有規(guī)范接口和確定的上下文依賴的組裝單元,能夠被獨立部署和被第三方組裝。
構(gòu)件化的軟件過程宜分成領域工程(開發(fā)構(gòu)件)和應用過程(使用構(gòu)件開發(fā)應用程序)兩個獨立的子過程,兩個子過程之間通過構(gòu)件庫聯(lián)系起來。因此構(gòu)件化的軟件開發(fā)技術的主要研究內(nèi)容可以分為領域工程、應用工程和過程管理3部分。
領域工程是為一組相似或相近系統(tǒng)的應用工程建立基本能力和必備基礎的過程,是一種系統(tǒng)的生產(chǎn)構(gòu)件的過程,是開發(fā)構(gòu)件的主要方式。領域工程包括3個主要的階段:
1)領域分析 領域分析的目的是建立領域模型(DomainModel),領域模型描述領域中系統(tǒng)之間的共同需求。領域分析的主要內(nèi)容包括確定領域邊界,識別信息源,分析領域中系統(tǒng)的需求,確定哪些需求是被領域中的系統(tǒng)廣泛共享的,哪些是可變的,并最終建立領域模型。
2)領域設計 領域設計的目標是獲得領域構(gòu)架(Domain SDecific Software Architecture,縮寫為DSSA)。領域設計需要考慮若干實現(xiàn)問題,例如:操作系統(tǒng)、采用的編程工具、軟件分布方、數(shù)據(jù)存取方式、選取體系結(jié)構(gòu)風格(例如兩層C/S方式、B/S結(jié)構(gòu)、三層結(jié)構(gòu))、選取構(gòu)件實現(xiàn)模型。
3)領域?qū)崿F(xiàn) 領域?qū)崿F(xiàn)即實現(xiàn)在領域設計模型中的功能構(gòu)件和體系結(jié)構(gòu)構(gòu)件,生成最終的二進制代碼,應用軟件開發(fā)時集成到最終的程序中去。
這些活動的產(chǎn)品(可復用的軟件構(gòu)件)包括:領域模型、領域構(gòu)架、領域特定的語言、代碼生成器和代碼構(gòu)件等。
2 RFID軟件構(gòu)件技術
2.1 RFID領域分析
通過對RFID軟件系統(tǒng)進行分析,識別RFID應用的公共特征和可變特征,對刻畫這些特征的對象和操作進行選擇和抽象,形成領域模型。
典型的RFID系統(tǒng)分為3個主要部分:硬件、應用軟件和RFID中間件。
硬件部分:主要包括RFID讀寫器、天線、標簽,將RFID讀寫器放在預先設定好的位置,電子標簽貼在待識別物體上,在RFID天線的識讀范圍即可實現(xiàn)標簽數(shù)據(jù)的讀取。
應用軟件部分:主要是在ERP、MRP等相關的企業(yè)管理系統(tǒng)。
RFID中間件部分:RFID軟件中除了標簽和閱讀器上運行的軟件外,介于閱讀器與企業(yè)應用之間的中間件是其中的一個重要組成部分。中間件為企業(yè)應用提供一系類計算功能,在電子產(chǎn)品編碼(Electronic Product Code,EPC)規(guī)范中被稱為Savant。其主要任務是對硬件部分采集的數(shù)據(jù),經(jīng)過提取、解密、過濾、轉(zhuǎn)換、導入應用軟件系統(tǒng),并通過應用系統(tǒng)呈現(xiàn)在界面上,供操作者瀏覽、查詢、選擇、修改。
綜合分析RFID的整體結(jié)構(gòu),本文歸納RFID的體系架構(gòu)如圖1所示:讀寫器和射頻Tag構(gòu)成RFID硬件系統(tǒng);射頻中間件即RFID中間件,同時通過連接ONS服務器和PML服務器,可以在全球范圍內(nèi)形成一種“新式網(wǎng)絡”;企業(yè)應用層接受來自RFID中間件的相關RFID信息數(shù)據(jù),是RFID數(shù)據(jù)后端應用部分。
2.2 RFID領域構(gòu)件模型
構(gòu)件模型對構(gòu)件化開發(fā)方法的研究起著至關重要的作用,構(gòu)件模型是構(gòu)件技術的核心內(nèi)容。XML語言作為構(gòu)件描述語言,相對其他語言有很強的優(yōu)越性,便于組裝工具通過構(gòu)件的描述文檔了解構(gòu)件信息,以及驗證構(gòu)件之間的約束關系等。在基于普通構(gòu)件模型的基礎上,本文采用的領域構(gòu)件模型如圖2所示。
由圖2的RFID領域構(gòu)件模型可知,領域構(gòu)件包括構(gòu)件實體和構(gòu)件文法描述。其中,構(gòu)件實體包含構(gòu)件屬性、構(gòu)件服務接口、構(gòu)件引用接口等;構(gòu)件文法描述即為<構(gòu)件關系集合,服務接口集合,引用接口集合>描述文檔。在構(gòu)件文法描述中,構(gòu)件關系集合即為構(gòu)件所依賴的構(gòu)件集合和與該構(gòu)件互斥的構(gòu)件集合;服務接口集合即為該構(gòu)件對外提供的服務接口;構(gòu)件引用接口集合則是該構(gòu)件所引用其他構(gòu)件服務的接口。
3 RFID領域的構(gòu)件分類
在RFID構(gòu)件庫構(gòu)件的開發(fā)和積累中,將產(chǎn)生包含基礎應用類、表示層類、運算邏輯類和流程類構(gòu)件等基礎構(gòu)件和應用于讀寫器、電子標簽及通信網(wǎng)絡的專用構(gòu)件。隨著RFID領域的不斷發(fā)展和深入演化,需要在保持整體表示結(jié)構(gòu)的情況下,適當對RFID構(gòu)件的屬性進行一定的修正、擴充和刪減,以保證構(gòu)件在描述上的準確性。
3.1 RFID領域刻面分類的優(yōu)越性
構(gòu)件的分類方法有很多種,刻面分類方法更適合于面向特定領域構(gòu)件庫,特定領域的刻面分類模式易于從領域模型中導出。采用刻面分類方法對RFID構(gòu)件庫中的構(gòu)件進行刻面分類,以各類構(gòu)件的共同特征實現(xiàn)對RFID構(gòu)件庫基礎構(gòu)件和專用構(gòu)件統(tǒng)一組織、統(tǒng)一管理和檢索,并在此基礎上進行構(gòu)件檢索技術的研究。
從刻面分類模式本身來說,它不區(qū)分領域,要求所有的構(gòu)件都使用同樣的刻面來描述,這種限制極大影響了用戶對目標領域的理解和檢索效率和質(zhì)量。領域不同,刻面描述重點可能會有較大差異。因此,面向特定領域構(gòu)件庫,限制了領域術語空間,將大大提高構(gòu)件的查準率。
3.2 RFID領域刻面描述
Prieto—Diaz最早所提出的刻面分類方案包括兩個方面:“功能”和“環(huán)境”,通過上述對RFID領域系統(tǒng)的分析,并結(jié)合實際應用系統(tǒng)開發(fā)需要,本文使用一個4元組來描述構(gòu)件,具體屬性如圖3所示。
1)TYpe類型:
2)Application Domain應用領域;
3)Language語言特性;
4)Level層次;
以上是4個屬性彼此之間相可正交,充分體現(xiàn)構(gòu)件對于用戶最相關的特征表示,能較好適應RFID構(gòu)件庫的發(fā)展和刻面的兼容擴充。該刻面分類建立的術語空間樹如圖4~7所示。
4 結(jié)束語
軟件復用技術能夠很好的解決軟件規(guī)模和復雜度日益增加的困境,基于構(gòu)件的軟件開發(fā)是軟件復用的一種有效方法,這一方法同樣適宜在RFID軟件開發(fā)過程中采用。本文分析和研究了RFID領域的系統(tǒng)結(jié)構(gòu),從而推出RFID領域構(gòu)件模型;分析RFID軟件構(gòu)件的分類方法并選擇刻面分類法作為RFID軟件構(gòu)件的分類方法,對刻面和每個刻面的術語進行了詳細闡述,為RFID軟件構(gòu)件化開發(fā)提供借鑒。