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