RFID领域软件构件化开发技术研究
RFID(Raclio Frequency Identification),即射频识别,是一种非接触式的自动识别技术,该技术利用无线射频方式进行非接触的双向通信,在识别的同时进行数据交换。RFID应用领域日益扩大,现已涉及到日常生活的各个方面,并将成为未来信息社会的一项基础技术。特别是随着“物联网”概念引起业界广泛关注,作为一种先进生产力,RFID技术的广泛应用对提高生产效率、提升用户应用对应用的体验具有极大的促进作用。
RFID软件在RFID整体开发中所占的比例也越来越高,而软件设计与研发由于受到网络和硬件环境不同的影响,导致生产效率低,开发成本大。尽管RFID软件具有多样化、与硬件密切相关等特性,但软件各组成部分,仍然有其共有特点和构成要素,所以采用构件技术能够支持RDID应用系统的高效开发。
因此,文中研究在RFID领域中采用构件化方法进行软件开发,将功能进行提炼分解,将相应的软件设计为软件构什,使其能够重复应用,成为提高软件开发效率、保障软件质量的有效途径。
1 构件化的软件开发方法
上世纪九卜年代中后期,随着分布式对象,Internet、java和Client/Server计算模式的兴起,基于构件的软件开发模式为广大研究人员所认同。软件构件是一个具有规范接口和确定的上下文依赖的组装单元,能够被独立部署和被第三方组装。
构件化的软件过程宜分成领域工程(开发构件)和应用过程(使用构件开发应用程序)两个独立的子过程,两个子过程之间通过构件库联系起来。因此构件化的软件开发技术的主要研究内容可以分为领域工程、应用工程和过程管理3部分。
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,是一种系统的生产构件的过程,是开发构件的主要方式。领域工程包括3个主要的阶段:
1)领域分析 领域分析的目的是建立领域模型(DomainModel),领域模型描述领域中系统之间的共同需求。领域分析的主要内容包括确定领域边界,识别信息源,分析领域中系统的需求,确定哪些需求是被领域中的系统广泛共享的,哪些是可变的,并最终建立领域模型。
2)领域设计 领域设计的目标是获得领域构架(Domain SDecific Software Architecture,缩写为DSSA)。领域设计需要考虑若干实现问题,例如:操作系统、采用的编程工具、软件分布方、数据存取方式、选取体系结构风格(例如两层C/S方式、B/S结构、三层结构)、选取构件实现模型。
3)领域实现 领域实现即实现在领域设计模型中的功能构件和体系结构构件,生成最终的二进制代码,应用软件开发时集成到最终的程序中去。
这些活动的产品(可复用的软件构件)包括:领域模型、领域构架、领域特定的语言、代码生成器和代码构件等。
2 RFID软件构件技术
2.1 RFID领域分析
通过对RFID软件系统进行分析,识别RFID应用的公共特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型。
典型的RFID系统分为3个主要部分:硬件、应用软件和RFID中间件。
硬件部分:主要包括RFID读写器、天线、标签,将RFID读写器放在预先设定好的位置,电子标签贴在待识别物体上,在RFID天线的识读范围即可实现标签数据的读取。
应用软件部分:主要是在ERP、MRP等相关的企业管理系统。
RFID中间件部分:RFID软件中除了标签和阅读器上运行的软件外,介于阅读器与企业应用之间的中间件是其中的一个重要组成部分。中间件为企业应用提供一系类计算功能,在电子产品编码(Electronic Product Code,EPC)规范中被称为Savant。其主要任务是对硬件部分采集的数据,经过提取、解密、过滤、转换、导入应用软件系统,并通过应用系统呈现在界面上,供操作者浏览、查询、选择、修改。
综合分析RFID的整体结构,本文归纳RFID的体系架构如图1所示:读写器和射频Tag构成RFID硬件系统;射频中间件即RFID中间件,同时通过连接ONS服务器和PML服务器,可以在全球范围内形成一种“新式网络”;企业应用层接受来自RFID中间件的相关RFID信息数据,是RFID数据后端应用部分。
2.2 RFID领域构件模型
构件模型对构件化开发方法的研究起着至关重要的作用,构件模型是构件技术的核心内容。XML语言作为构件描述语言,相对其他语言有很强的优越性,便于组装工具通过构件的描述文档了解构件信息,以及验证构件之间的约束关系等。在基于普通构件模型的基础上,本文采用的领域构件模型如图2所示。
由图2的RFID领域构件模型可知,领域构件包括构件实体和构件文法描述。其中,构件实体包含构件属性、构件服务接口、构件引用接口等;构件文法描述即为<构件关系集合,服务接口集合,引用接口集合>描述文档。在构件文法描述中,构件关系集合即为构件所依赖的构件集合和与该构件互斥的构件集合;服务接口集合即为该构件对外提供的服务接口;构件引用接口集合则是该构件所引用其他构件服务的接口。
3 RFID领域的构件分类
在RFID构件库构件的开发和积累中,将产生包含基础应用类、表示层类、运算逻辑类和流程类构件等基础构件和应用于读写器、电子标签及通信网络的专用构件。随着RFID领域的不断发展和深入演化,需要在保持整体表示结构的情况下,适当对RFID构件的属性进行一定的修正、扩充和删减,以保证构件在描述上的准确性。
3.1 RFID领域刻面分类的优越性
构件的分类方法有很多种,刻面分类方法更适合于面向特定领域构件库,特定领域的刻面分类模式易于从领域模型中导出。采用刻面分类方法对RFID构件库中的构件进行刻面分类,以各类构件的共同特征实现对RFID构件库基础构件和专用构件统一组织、统一管理和检索,并在此基础上进行构件检索技术的研究。
从刻面分类模式本身来说,它不区分领域,要求所有的构件都使用同样的刻面来描述,这种限制极大影响了用户对目标领域的理解和检索效率和质量。领域不同,刻面描述重点可能会有较大差异。因此,面向特定领域构件库,限制了领域术语空间,将大大提高构件的查准率。
3.2 RFID领域刻面描述
Prieto—Diaz最早所提出的刻面分类方案包括两个方面:“功能”和“环境”,通过上述对RFID领域系统的分析,并结合实际应用系统开发需要,本文使用一个4元组来描述构件,具体属性如图3所示。
1)TYpe类型:
2)Application Domain应用领域;
3)Language语言特性;
4)Level层次;
以上是4个属性彼此之间相可正交,充分体现构件对于用户最相关的特征表示,能较好适应RFID构件库的发展和刻面的兼容扩充。该刻面分类建立的术语空间树如图4~7所示。
4 结束语
软件复用技术能够很好的解决软件规模和复杂度日益增加的困境,基于构件的软件开发是软件复用的一种有效方法,这一方法同样适宜在RFID软件开发过程中采用。本文分析和研究了RFID领域的系统结构,从而推出RFID领域构件模型;分析RFID软件构件的分类方法并选择刻面分类法作为RFID软件构件的分类方法,对刻面和每个刻面的术语进行了详细阐述,为RFID软件构件化开发提供借鉴。