摘 要: 软件动态演化与环境变化紧密联系,软件需要通过自我补足来适应环境变化,但是软件所在的开放环境信息多样、复杂难控,虽然上下文感知技术能够很好地解决这个问题,然而上下文信息数量丰富、结构多样、难以被有效利用。本文介绍了上下文感知技术、本体理论及相关技术,构建了上下文本体元模型,采用层次化的上下文本体方案,对不同上下文进行统一建模,提高上下文的共享。达到采用形式化的语言显式表达环境的目的,为建立环境适应性准则做准备。并在此基础上构建室内舒适节能监控系统的本体模型。
关键词: 上下文感知;本体;软件动态演化;环境适应性准则
0 引言
在开放环境[1]下,环境对软件运行的影响日益明显,软件需要内部补偿来应对外部环境变化,由于环境空间和计算空间的强关联性、非确定性和高度混杂性,迫切需要建立环境要素到软件空间的映射关系,形成软件适应环境的交互准则。建立物理空间与信息空间的对偶关系[2],显式化表达环境[3],软件向现实物理空间中的环境上下文提供数据,并从中获取数据,通过上下文感知计算,将物理世界与软件联系起来。实现软件全面监视、调控并适应环境。然而开放环境下上下文数量丰富,结构多样,关系复杂,如何获取、处理、存储上下文是上下文感知系统的难点。
本文通过基于本体的建模方式,将现实世界的信息与软件的上下文结合起来,将环境显式化表达并加以监控,便于考察环境变化时软件的反应。
据研究,人一生中大概有2/3的时间是在室内度过的,室内环境质量直接关系到人的心情、工作效率,甚至影响人的健康,因此室内环境质量越来越受到人们的重视。影响室内环境的因素多种多样,人也具有主观感受,每个人的舒适度感受也因人而异,现实中环境也经常发生一些不能被预料的事,这些为考察软件动态演化与环境变化的关系提供了条件。通过对室内舒适节能监控系统的建模,来验证理论的正确性。
本文建立了一种统一的上下文信息模型,然后使用层次化模型,同时将概念映射成层次模型,使用本体的建模方法构建模型。
1 上下文感知计算的相关理论
1.1 上下文感知计算的定义
上下文感知技术是普适计算的核心技术之一,在普适计算的环境中,人和计算机时刻进行着交互,普适计算系统获取与用户需求相关的一切上下文信息并时刻为用户提供服务,这就是上下文感知技术。最早提出上下文感知计算的是美国哥伦比亚大学的Schilit B.N博士以及Theimer M.M,Schilit认为上下文就是位置、人和事物的标识,以及它们的变化,并且将上下文分为三大类[4]:计算上下文、用户上下文和物理上下文。Ryan等把上下文定义为用户的位置、环境、特征以及时间。而Dey[5]认为上下文是所有能够描述用户和软件交互所涉及到的实体(如人、物体等)的状态信息,其中包括用户和软件本身。目前,研究人员对上下文有个共性的理解:上下文即环境本身以及环境中个体所包含的或者隐含的可用于描述其状态和历史状态的任何信息,其中的个体既可以是人、地点等物理实体,也可以是软件、程序、网络等虚拟实体。由此可知上下文就是软件环境以及构成环境的各实体及其状态。上下文包含的范畴非常广泛,用户所处环境中任何与系统相关的信息都可以是上下文,但是从软件交互的角度来看,所有能被系统感知或者潜在地影响系统行为的因素都属于上下文的范畴。但是由于条件限制,应用程序不可能收集和利用所有信息,Abowd通过总结将上下文感知看做“谁,在哪,什么时间,在做什么”作为实体,并且用这些信息定义为什么这个情景正在发生,即“who′s,where′s,when,what′s and why”。
本文认为建立物理空间与信息空间的对偶关系即将系统能感知的环境信息转化为系统能理解的数据,即“谁什么时间在哪在什么样的情况下在做什么”。因此本文将所需上下文分为五类,即用户上下文、位置上下文、时间上下文、活动上下文以及设备上下文。
1.2 上下文感知计算的研究内容
上下文感知计算主要研究上下文信息的获取,上下文信息的融合处理以及上下文信息的存储、查询和管理。
1.2.1 上下文信息的感知获取
上下文的感知和获取是上下文感知计算的前提,是系统了解环境的第一步。一般上下文的获取方法与上下文的种类直接相关,上下文可以简单分为低层上下文和高层上下文。低层上下文信息的获取比较简单,可以从各种传感器直接获得,但是低层上下文信息具有不确定性、模糊性和冗余等特点,一般要经过初步清洗来获得更高层次的上下文。
上下文信息获取主要有几种方法,一种是底层传感器感知采集获得,第二种是用户预设,第三种是通过网络获取,第四种是经过系统处理得到能够使用的高级上下文。
1.2.2 上下文信息的融合及处理
由于底层传感器的多样性,使得获取的信息具有分布、异构和动态的特性,不能直接使用,因此要对上下文进行建模,从而获得可以直接用于后期使用的高层上下文。
目前上下文建模的方法主要有6种[6],即:键值对模型(Key-value Model)、标记模型(Markup Scheme Model)、图模型(Graphical Model)、面向对象模型(Object Oriented Model)、基于逻辑的上下文模型(Logic Based Model)以及基于本体的上下文模型(Ontology Based Model)。综合比较集中建模方法,基于本体的建模方法具有形式化程度高,具有较强的表达能力,能够较好地支持上下文的推理,易于信息的共享等特点能够较好地表达复杂的环境。因此本文采用基于本体的方法对上下文进行统一建模。
1.2.3 上下文存储、查询和管理
上下文数量丰富、结构多样,具有实时性并且不同上下文间关系复杂,因此对上下文的存储、查询以及管理在上下文感知计算中占据重要地位。
2 本体及相关技术
2.1 本体的定义
本体(Ontology)原是一个哲学名词,指事物的本身,是人类思想认识活动产生的必然结果。近年来,本体的概念被应用于计算机领域,被用于对现实世界进行系统化的描述,方便知识的共享和重用。最早给出Ontology定义的是Neches等人,他们将Ontology定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成规定这些词汇外延的规则的定义”。Neches认为:“本体定义了组成领域词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。”Gruber提出“本体是概念化的明确的规范说明”,Studer认为本体是“共享概念模型的明确的形式化规范说明”。
虽然不同研究者对本体有不同的定义,但是从内涵上讲,都是把本体看做某个领域内不同主体(人、机器等)之间进行交流的一种语义基础。即在不同主体之间共享确定的概念以及概念间的相互关系,以达到沟通的目的。
对于本体的具体构造,目前公认的是一个本体是由概念(类)、关系、函数、公理和实例等5种元素组成。
2.2 本体的构建
2.2.1 本体描述语言
从本体被引入计算机领域以来,大量研究者为本体的使用发展做出了贡献,因此诞生了很多本体描述语言,如与Web相关的RDF、RDF-S、OIL、DAML、OWL,与具体系统相关的Ontolingua、cycl、loom。其中OWL是W3C推荐的语义互联网中本体描述语言的标准,是由DAML和OIL结合发展起来的,集成了其他各本体描述语言的优点,建立在RDF的基础之上,采用面向对象的方法,利用类和属性描述领域的结构,用公理来声明类和属性。
2.2.2 本体构建方法
目前本体构建还没有一个统一的标准,主要有以下几种方法:(1)骨架法;(2)TOVE企业建模法;(3)元本体法;(4)循环获取法;(5)七步法[7]。综合考虑研究,本文采用元本体法和七步法相结合来构建本体。
3 基于本体的室内舒适节能监控模型
基于上述技术,用上下文感知技术将物理空间与信息空间[8]连接起来,用本体的方法形式化显式表达上下文,使系统与环境间的关系清晰可见。并构建了室内舒适节能监控本体模型。
综合考虑,用OWL语言作为本体建模语言,并且采用Protégé工具构建本体,Protégé提供了简单易用的图形化界面,提供了优良的可扩展的大量插件应用,支持丰富的本体描述语言,支持知识的集成及本体的持久化存储。用Jena2建立本体模型对本体进行处理。Jena是基于Java的开源语义网开发工具包,为解析RDF、RDFS和OWL本体提供了一个集成环境,配备了完善的对本体进行解析、存储、查询和基于规则的推理引擎。
3.1 上下文感知系统框架
系统通过传感器、网络获取以及系统预设来感知环境,得到上下文的初始数据,经过上下文建模和预处理得到低层上下文,经过推理等方式得到高层上下文。
本文设计的上下文感知系统框架如图1所示。
3.2 基于本体的上下文元模型
上下文元本体是一个三元组(MetaContexts,MetaRelations,MateAttribute)。其中MetaContexts是上下文概念集合,MetaRelations是关系的集合,而MateAttributes是与概念相关的属性集合。上下文元本体模型如图2所示。
对于本论文设计的系统来说,本体模型的构建就是系统概念及概念间关系的确定描述。
基于上文所述的方法,通过构建室内舒适节能监控系统的本体模型将现实世界与上下文结合起来,显式化表达环境。
通过构建系统,采用Protégé创建、可视化、操作本体,使用Jena2对本体进行解析、存储、查询、进行基于规则的推理。
3.3 系统中概念的确定
根据上下文的本体元模型,分析系统的需求。由于是室内环境舒适度节能监控平台,系统选取与之相关的环境概念。对系统进行本体建模,建立系统领域的概念模型。
本文所涉及上下文概念主要被分为四个部分:
(1)用户上下文:用户姓名、年龄、健康状况、个人喜好;
(2)时间上下文:时间、日期、季节、年份;
(3)设备上下文:设备名称、计算能力、操作系统版本、功率、已使用时间、使用寿命、耗电量、网络类型、宽带、通信成本;
(4)位置上下文:位置、光照、湿度、温度、空气质量、噪音;
(5)活动上下文:感觉。
3.4 模型的实现
将概念采用自顶向下的方式进行分类分层,用于描述领域概念间的类属关系,并将本体中的概念模块化。系统本体的部分概念间关系如图3所示。
在图3所示框架的基础上再将概念具体化,最后用Protégé工具创建本体类。本体类图如图4所示。
本体类创建完成后,为类添加数据属性和对象属性。生成的OWLViz图如图5。
同时生成IndoorEnvironment.owl文件,部分代码如下:
<?xml version="1.0"?>
<!DOCTYPE Ontology [
<!ENTITY xsd http://www.w3.org/2001/XMLSchema#">
<!ENTITY xml ttp://www.w3.org/XML/1998/namespace">
<!ENTITY rdfs http://www.w3.org/2000/01/rdf-schema#">
<!ENTITY rdf http://www.w3.org/1999/02/22-rdf-syntax-
ns#">
]
<Ontology xmlns="http://www.w3.org/2002/07/owl#" xml:base="http://www.semanticweb.org/wqy/ontologies/2014/7/IndoorEnvironment" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xml="http://www.w3.org/XML/1998/namespace" ontologyIRI="http://www.semanticweb.org/wqy/ontologies/2014/7/Indoor Environment">
4 总结
本文介绍了上下文感知技术、本体理论及相关技术,构建了上下文本体元模型,采用层次化的上下文本体建模方案,对不同上下文进行统一建模,提高上下文的共享。并在此基础上构建室内舒适节能监控系统的本体模型,使环境能够显式化表达,易于观察环境的变化。下一步的工作是构建环境适应性准则,通过Jena2构建演化规则。
参考文献
[1] 黄宇,余建平,马晓星,等.开放环境特性感知技术[J].软件学报,2011(5):865-876.
[2] CROWLEY J L. Context driven observation of human activity[J]. European Symposium on Ambient Intelligence, 2003, 2875: 101-118.
[3] 吕建,马晓星,陶先平,等.面向网构软件的环境显式化技术[J].中国科学:信息科学,2013(1):1-23.
[4] SCHILIT B, ADAMS N, WANT R. Context-aware computing applications[C]. Santa Cruz: Mobile Computing Systems and Applications, 1994:85-90.
[5] DEY A K. Understanding and using context[J]. Journal Personal and Ubiquitous Computing, 2001,5(1):4-7.
[6] STRANG T, LINNHOFF-POPIEN C. A context modeling survey[C]. Proceedings of the First International Workshop on Advanced Context Modelling, Reasoning and Management, Nottingham, 2004:1-8.
[7] ARUNA T, SARANYA K, BHANDARI C. A survey on ontology evaluation tools[C]. Coimbatore: IEEE, 2011:1-5.
[8] 何廷润.物联网物理空间与信息空间融合的业务信息特征分析[J].移动通信,2012(11):20-24.