智慧城市是利用物联网、云计算、大数据技术将虚实世界融合,实现对人和机器的感知、分析、计算、控制和服务[1]。因此,智慧城市需要构建智能感知的、泛在的空间信息服务,并将这些服务组合在一起提供给用户[2,3]。要实现这些服务的语义描述和智能感知,需要自动感知不同需求的上下文时空信息,譬如,通过手机记录的时间、位置、姿态、速度、加速度等时空连续数据的上下文信息感知,可以判断手机持有人的状态和异常行为(如马路上摔倒等),从而提供必要的应急服务。这类的空间感知和认知服务,本文称为上下文感知的空间信息服务。如何构建上下文感知的空间信息服务以及如何组合这些服务是本文研究的重点。
构建上下文感知的空间信息服务,目前主要的研究思路是将上下文跟Web服务结合。具体结合方法有多种,其中具有代表性的方法包括采用切面描述上下文,切面与Web服务之间是松耦合的链接关系[4,5],在运行的时候可以动态关联在一起;通过对OWL-S[6]进行扩展以加入上下文信息。Mokhtar等提出了一个上下文感知服务组合系统[7],此系统扩展OWL-S来加入对上下文的支持,上下文作为OWL-S的Profile(概要)类的参数属性。Furno等提出了基于上下文的语义模型 $^{[8]}$ ,此模型使用上下文条件和自适应规则扩展 OWL-S 中的 Profile、Process(过程)和 Grounding(绑定)类;最后一类方法是加入配置规则,代表性成果包括薛宵等利用配置建立上下文信息与服务之间的关系 $^{[9]}$ 。本文采用对 OWL-S 扩展的方法。
单个的上下文感知空间信息服务提供的功能有限,现实中需要将多个上下文感知的空间信息服务进行组合形成一个更复杂、功能更加强大的服务,以满足用户的个性化需求。因为Web服务组合与人工智能(artificial intelligence,AI)规划两个学科问题间存在着很多相似之处,研究人员提出了很多基于AI规划的Web服务组合方法[10-13],但这些方法并没有考虑上下文信息。目前,基于上下文感知的空间信息服务组合的研究很少[14-17]。
本文首先创建了智慧城市中的地理上下文本体;其次设计了上下文感知的空间信息服务的语义表示模型,此模型扩展OWL-S本体以支持上下文;最后使用智能规划技术和语义增强技术,将上下文感知的空间信息服务组合转化为智能规划的求解过程,即将上下文感知的空间信息服务的领域服务集和目标服务转换为规划领域定义语言(planning domain definition language, PDDL) $^{[18]}$ 的领域和问题,然后将 PDDL 文件输入满足 PDDL 规范的智能规划器进行规划,将规划结果转换为 Web 服务业务流程执行语言(web services business process execution language, WS-BPEL) $^{[19]}$ 工作流语言,并将其输入到工作流引擎上运行。
1 智慧城市中的地理上下文
描述用户所处的各种地理环境或情景,寻找适合地理上下文感知计算的上下文模型,是构建地理上下文感知空间信息服务的基础性问题。
智慧城市中的地理上下文信息是任何刻划城市情景的信息,主要包括地理空间位置、任务领域及其用户等方面的信息。目前主要的上下文建模方法有实体关系(entity relation, ER)模型、键值对模型、基于逻辑的模型、面向对象模型以及基于本体的上下文模型等。其中基于本体的上下文模型由于其开放性、可扩展性,易于知识共享,而且支持本体推理和上下文重用的特点是目前研究的重点。智慧城市中涉及的地理空间信息是一个开放的集合,不可能一次性考虑到所有的地理上下文信息,采用本体上下文模型更容易扩展。
智慧城市中较为常用的上下文信息有地图与兴趣点信息(point of interest, POI)、GPS 数据、客流数据、手机数据、位置服务数据(location based service, LBS)、视频监控数据、环境与气象数据、社会活动数据等[20]。本文在参考普适计算、城市计算、语用 Web 等方面上下文本体研究成果的基础上[21-24],提出了空间因素、时间因素、社会因素、环境因素、技术因素、用户因素、任务因素等 7 大类地理上下文因素。其中空间因素是地理上下文的特有因素,包括位置、空间对象、空间关系等;时间因素包含相对时间和绝对时间等;用户因素包含身份信息、职业信息、偏好信息等;环境因素包含天气、温度、湿度、污染、环境安全、交通状况等;技术因素包含硬件、软件、数据、人机交互、信息技术安全等;社会因素包含文化(语言和习俗及规范)、社会资源、社会机构等。
本文采用分层的思想,将地理上下文本体(OWL-GCt)划分为上层通用上下文本体和下层领域上下文本体。上层通用上下文本体主要负责地理上下文的基本概念和关系的实体;下层领域上下文负责具体领域相关的概念及关系。本文构建的地理上下文本体的上层通用上下文本体结构如图1所示。本文的地理上下文本体使用Web本体语言(ontology web language,OWL) $^{[25]}$ 语言表示。

flowchart graph TD A["地理上下文"] --> B["地理上下文因素"] B --> C["用户"] B --> D["空间因素"] B --> E["任务"] B --> F["环境因素"] B --> G["时间"] B --> H["技术因素"] B --> I["社会因素"] C --> J["个人简历"] C --> K["偏好"] D --> L["地理对象"] D --> M["位置"] D --> N["兴趣点"] E --> O["天气"] E --> P["污染"] E --> Q["交通"] E --> R["噪音"] G --> S["硬件"] G --> T["软件"] G --> U["数据"] H --> V["文化"] H --> W["语言"] H --> X["习俗"]
图 1 地理上下文本体
Fig. 1 GeoContext Ontology
2 上下文感知的空间信息服务的语义表示
目前,已经有 OWL-S、WSMO、WSDL-S、SAWSDL、SWSF 等语义网络服务技术。WSMO 和 SWSF 的逻辑表达不局限于描述逻辑。WSDL-S 和 SAWSDL 侧重于对 WSDL 元素进行扩展,而没有提供一个描述服务的完整本体框架。由于 OWL-S 建立在 W3C 推荐的标准 OWL 的基础上,已经有不少软件工具支持 OWL-S。本文采用 OWL-S 来表达空间信息服务的语义。
OWL-S 分为服务概要、服务模型、服务绑定 3 个部分。其中服务概要描述服务的功能;服务模型实现服务如何运行;服务绑定是服务如何被访问。服务模型建模服务的内部模型,定义了过程的输入、输出、前提条件和效果。OWL-S 中定义的前提条件和效果是由输入、输出和内部的一些参数定义,无法表达外部信息定义的前提条件和效果。
上下文感知的空间信息服务(OWL-SGC)利用地理上下文本体扩展 OWL-S 本体使其具有感知地理上下文的能力。其具体方法就是建立 OWL-S 中的 Service 对象和 OWL-GCt 中 Geo-Context 对象之间的关系。
上下文感知的空间信息服务也需要对地理上下文的变化作出响应,包括输入、输出值对地理上下文的变化的响应,前提条件是对地理上下文变化的响应、效果和地理上下文的变化的响应。
OWL-SGC 扩展 OWL-S 中的原子过程使输入、输出、前提条件和效果能够感知上下文的变化。为了表达外部地理上下文的前提条件和效果,OWL-SGC 增加地理上下文前提条件和地理上下文效果两个类。地理上下文信息可以作为输入、输出值,需要建立输入和输出分别与地理上下文之间的值的对应关系,而增加上下文绑定类,如 GPS 数据,相机的拍摄角度信息等地理上下文信息作为输入。
上下文感知空间信息服务的语义描述如图 2 所示。图 2 中,虚线矩形内的元素是扩展 OWL-S 本体的元素,其他元素都是 OWL-S 本体中已有元素,OWL-S 本体中跟扩展无关的元素没有列出。GeoContextPrecondition 是 OWL-S 本体中 Condition 类的子类,GeoContextEffect 是 OWL-S 本体 Expression 类的子类。GeoContextPrecondition、GeoContextEffect 和 GeoContextBinding 都使用 GeoContext 信息。
OWL-SGC 支持的地理上下文前提条件和效果类的表示有以下 3 种类型: 第一种表示地理上下文对象是否存在; 第二种表示地理上下文对象跟其他的对象是否存在属性关系; 第三种表示为数值关系, 如 Op(current_ctx, value), Op 是关系运算符, current_ctx 指向当前上下文, value 表示数值。这些情况都可以使用语义网规则语言 (semantic web rule language, SWRL) $^{[26]}$ 表示, 如通过布尔函数表示为一个谓词。

flowchart graph TD A["服务Service"] --> B["地理上下文 GeoContext"] C["条件Condition"] <--> D["地理上下文前提条件 GeoContextPrecondition"] E["原子过程AtomicProcess"] --> F["地理上下文绑定 GeoContextBinding"] B --> G["地理上下文效果 GeoContextEffect"] D --> G F --> G G --> H["表达式 Expression"]
图 2 上下文感知的空间信息服务的语义表示(OWL-SGC)
Fig. 2 Semantic Representation of Context-Aware Geospatial Web Service
3 上下文感知的空间信息服务组合
3.1 上下文感知的空间信息服务组合流程
上下文感知的空间信息服务组合利用智能规划方法进行服务组合。组合服务请求也使用OWL-SGC 表示, 只是没有服务绑定, 称为 OWL-SGC 目标服务, 而所有已存在的 OWL-SGC 服务称为 OWL-SGC 领域服务。目标 OWL-SGC 服务和当前的地理上下文作为服务组合的问题内容输入, OWL-SGC 服务集合作为服务组合的领域内容输入。
输入内容经过 OWL-SGC 解析器解析,由 PDDL 转换器转换为符合 PDDL 标准的领域和问题。OWL-SGC 解析器在解析过程中,如果有新的服务类型,就添加到领域本体库中。本体管理器(OOM)利用语义相似性技术对 PDDL 的领域和问题进行语义增强,将增强后的结果输入兼容 PDDL 的规划器进行规划,产生规划序列,再将这些规划序列转换为基于 WS-BPEL 标准的工作流,并在工作流引擎上执行。
上下文感知的空间信息服务组合流程如图 3 所示, 具体包括 OWL-SGC 解析器、本体管理器、PDDL 转换器、PDDL 兼容规划器、WS-BPEL 转换器和 WS-BPEL 兼容的工作流引擎。

flowchart graph TD A["OWL-SGC目标服务+当前地理上下文"] --> B["OWL-SGC解析器"] C["OWL-SGC服务"] --> B B --> D["PDDL转换器"] D --> E["PDDL兼容的规划器"] E --> F["WS-BPEL转换器"] F --> G["WS-BPEL兼容的工作引擎"] H["领域本体库"] --> I["本体管理器"] I --> D
图 3 上下文感知空间信息服务组合流程
Fig. 3 Workflow of Context-Aware Geospatial Service Composition
OWL-SGC 解析器将输入进行解析,解析的结果与本体管理器获得的相似对象一起,通过PDDL 转换器转换为符合 PDDL 标准的问题和领域,转换规则详细见 §3.2。OWL-SGC 在解析过程中需要读取领域本体库,如果有新的服务类型,则添加到领域本体库中。
本体管理器获取与目标服务中相似的本体对象。获得的相似对象用来扩展 PDDL 中问题的初始状态集合。本体管理器也获取与 OWL-SGC 服务集中相似的本体对象,这些对象用来增强 PDDL 中的领域集合。OWL-SGC 服务集的增强是不变的,可以先计算好,然后存储起来。使用的时候不需要重新计算。
本流程仅需要兼容 PDDL 的规划器。目前有很多基于 PDDL 标准的规划器,可以根据不同的需求灵活地选择不同的兼容规划器。规划器产生的结果为规划序列。这些规划序列由规划转换器转换为 WS-BPEL 标准表示的工作流。最后,工作流输入到兼容 WS-BPEL 的工作流引擎上执行。
3.2 OWL-SGC 转换为 PDDL
规划域定义语言 PDDL 被广泛地认为是规划问题的标准输入描述语言,支持规划域和规划器功能的统一描述。一个 PDDL 规划由领域 (Domain) 和问题 (Problem) 两部分描述。其中领域描述所有领域特征的元素,如输入输出参数、对象类型、谓词、动作等;问题描述主要包括待规划问题中的对象、初始条件和目标,用以对需要规划的实际问题进行描述。
对于语义 Web 服务使用的 OWL-S 模型,由于 OWL-S 本身的设计受 PDDL 语言的重大影响,因此,在两种表示之间实现互相转化是很直观的。为了实现服务的自动组合规划,将 OWL 描述的领域本体和 OWL-S 描述的目标服务,分别转化为等价的 PDDL 的问题描述和领域描述。这样,服务自动组合的过程即可转换为智能规划的求解过程。
OWL-S 中的效果是执行 Web 服务所产生的物理效果, 输出是执行 Web 服务所产生的信息。因此, 要将输出表示转换成谓词的形式, 在语义上将 OWL-S 的输出看成是产生知识的效果, 即输出是服务执行后已知的信息。本文将输出 X 转换为谓词 hasKnowledge(X)。同样, 输入在语义上可以看作知识的前提条件, 即在执行活动前, 必须知道输入的值, 本文将输入 Y 转换为谓词 hasKnowledge(Y)。
文献[10,27]中的方法只是进行了OWL-S到PDDL的转换,没有考虑上下文信息。本文方法是对文献[10,27]中的方法进行扩展以支持地理上下文。OWL-SGC到PDDL的转换分为以下两部分:①将OWL-SGC领域服务转换为PDDL领域描述文件;②将OWL-SGC目标服务和当前的地理上下文转换为PDDL问题描述的文件。
将 OWL-SGC 描述的领域服务转换为 PDDL 领域描述文件的转换规则如下:
1)OWL-SGC 领域服务中的每个服务的 ID 作为领域中每个 PDDL 动作的名称。
2)OWL-SGC 领域服务中每个服务的所有输入参数作为 PDDL 动作中的参数,其类型作为 PDDL 领域中的类型。
3)OWL-SGC 领域服务中的前提条件作为 PDDL 动作的前提条件,其包含的谓词也作为 PDDL 领域的谓词定义。
4)OWL-SGC 领域服务中定义的效果作为 PDDL 动作的效果,其包含的谓词也作为 PDDL 领域的谓词定义。
5)OWL-SGC 领域服务中的每个服务的地理上下文前提条件作为 PDDL 动作的前提条件,其包含的谓词也作为 PDDL 领域中的谓词定义。
6)OWL-SGC 领域服务中的每个服务定义的地理上下文效果作为每个 PDDL 动作的效果,其包含的谓词也作为 PDDL 领域的谓词定义。
7)OWL-SGC领域服务中的每个服务所有的输入参数 $\mathrm{Input}i$ ,转换为PDDL谓词hasKnowledge $(\mathrm{Input}_i)$ ,作为PDDL动作的前提条件。
8) OWL-SGC 领域服务中每个服务的所有的输出参数 $Output{i}$ ,转换为谓词 hasKnowledge (Output ${i}$ ),作为 PDDL 动作的效果,其类型作为 PDDL 领域中的类型。
9) OWL-SGC 领域服务中每个地理上下文 GeoContext ${i}$ ,转换为谓词 hasKnowledge(GeoContext $_{i}$ ),作为 PDDL 动作的前提条件,其类型作为 PDDL 领域服务的类型。
将OWL-SGC目标服务和当前的地理上下文转换为PDDL问题描述文件的规则如下:
1)当前的地理上下文作为PDDL问题描述的对象。
2)OWL-SGC 目标服务中定义的前提条件作为 PDDL 问题描述的初始状态。
3)OWL-SGC 目标服务中的定义的地理上下文前提条件作为 PDDL 问题描述的初始状态。
4)OWL-SGC 目标服务中的所有输入参数 $Input_{i}$ ,转换为谓词 hasKnowledge( $Input_{i}$ ),加入 PDDL 问题描述初始状态集合。
5)将所有的不存在于目标集合的对象 Object $i$ ,转换为谓词 hasKnowledge(Object $_i$ ),加入 PDDL 问题描述的初始状态集合。
6)目标服务中定义的效果加入问题描述的目标集合。
7)OWL-SGC 目标服务中定义的地理上下文效果作为 PDDL 问题描述的目标集合。
8) OWL-SGC 目标服务中定义的所有的输出参数 $Output{i}$ ,转换为谓词 hasKnowledge( $Output_{i}$ ),加入 PDDL 问题描述的目标集合。
3.3 语义增强
将上下文感知的空间信息服务组合转化为PDDL后,规划器进行规划匹配时使用的是语法匹配,而不关心其语义。上下文感知的空间信息服务使用语义表示,其组合就是希望通过语义来加强。这样,在转换成PDDL之前,需要在OWL-SGC目标服务和OWL-SGC领域服务中找出语义相同或者相似的对象来增强PDDL的问题和
领域。
一个规划器表示为三元组 $
如果一个动作 $A_{i}$ 能够应用于一个状态 S,那么 precondition( $A_{i}$ ) ⊆ S。
如果 $A_{i}$ 应用于 S,那么 S 的后继状态 $S' = S - \mathrm{del}(A_{i}) \cup \mathrm{add}(A_{i})$ 。
从 I 开始, 经过一系列动作 $A = A_{1}, A_{2}, A_{3} \cdots, A_{n}$ , 导致 $S \supseteq G$ , 那么称 A 为一个规划解。
由此可以看出,增强 I 集合和 A 中的 add 集合,可以增加规划解,也即提高服务组合率。增强 I 集合和 add 集合,就是要找出 I 集合和 add 集合中的对象和属性相同或者相似的对象和属性,然后分别加入到 I 集合和 add 集合中。增强 I 集合和 add 集合的规则如下:
1)设 $IC_{i}$ 是集合 I 中对象,将跟 $IC_{i}$ 语义相同的对象或者 $IC_{i}$ 的直接父类对象加入集合 I 中;
2)设 $IP_{i}$ 是集合 I 中的属性,将跟 $IP_{i}$ 语义相同的属性和 $IP_{i}$ 直接父类的属性加入集合 I 中;
3)设 $AC_{i}$ 是集合 add 中的对象,将跟 $AC_{i}$ 语义相同的对象和 $AC_{i}$ 直接父类的对象加入 add 集合中;
4)设 $AP_{i}$ 是集合 add 中的属性,将跟 $AP_{i}$ 语义相同的属性和 $AP_{i}$ 直接父类属性加入 add 集合中;
5)对于 I 集合中和 add 集合中的数值关系,形如 $\mathrm{Op}(x, v)$ ,其中 Op 是关系运算符,x 表示变量的名称(此变量可以是上下文感知信息服务中的输入、输出变量,或者内部变量,或者上下文变量),v 表示数值。本文将 Op 的关系定义为相等、不相等、大于、大于或者等于、小于、小于或者等于。满足关系运算符 Op 是相同的,参数 x 的语义相等,数值 v 相等的数值关系加入到 I 集合和 add 集合中。
4 实例和分析
本文以智慧旅游作为应用实例进行实验,通过主动感知旅游资源、旅游经济、旅游活动、旅游者方面的信息,为游客、旅行社、景区、酒店等提供帮助。
在智慧旅游应用中,主要的活动功能包括景点的选取、酒店的选择、交通出行、景点旅游等活动。在智慧城市服务应用中每个活动功能由相应的上下文感知的空间信息服务来实现,这些服务能够获取用户的偏好、文化、游客手机流量消费情况等上下文,也可以考虑其他的上下文,如天气、距离、时间、景点游客流量、游览路线导航来决定用户的出行旅游方式。每个服务有一个服务接口,通过注册中心对外发布服务。以游客使用手机在某一景点拍照为例,在景点照片上可以呈现关于景点的文字描述和视频讲解信息,上下文信息包括用户对文字显示的偏好、运营商网络状况、GPS位置、拍摄角度等。
为了解决游客的旅游需求,根据§3描述的服务组合方法,表1定义了游客旅游的问题的描述:初始状态定义了游客当前欣赏的景点,目标是在此景点照片上按照游客的风格偏好呈现文字描述,并根据网络信号的强弱,决定是播放高清视频,还是压缩后的视频。地理上下文包含游客的基本信息、语言、文字显示的风格、游客的流量使用情况、运营商网络状况、GPS信号、拍摄角度等。表2描述了游客旅游的领域服务的描述,即上下文感知空间信息服务集合,定义了每个服务的名称、输入、输出、前提条件、效果、地理上下文的前提条件和地理上下文效果。其中,游客位置匹配服务通过手机获取的GPS数据和拍摄角度数据,结合基础地理数据进行地图匹配,计算出当前游客的精确位置数据,搜索景点服务通过游客当前的精确位置数据和拍摄角度数据,从基础地理数据库中搜索最接近的POI数据,景点反投照片像素位置服务根据POI数据记录的位置,结合游客当前精确位置数据,拍摄角度数据,反算出POI在拍摄影像中的像素位置,文字标注显示服务在景点所在照片的位置显示景点文字的说明,导览视频播放服务播放景点的视频信息。
表 1 游客旅游的问题描述
Tab. 1 Problem Description of Travel
| 问题描述项 | 内容 |
|---|---|
| 当前上下文 | 用户名称 |
| 语言 | |
| 文字的显示风格 | |
| 运营商网络 | |
| 游客流量消费 | |
| GPS数据 | |
| 拍摄角度 | |
| 初始状态 | 当前欣赏的景点 |
| 目标 | 当前景点相关视频播放 |
| 当前景点的中文文字显示 |
表 2 游客旅游的领域描述
Tab. 2 Domain Services Description of Travel
| 服务名称 | 输入 | 输出 | 前提条件 | 效果 | 地理上下文前提条件 | 地理上下文效果 |
|---|---|---|---|---|---|---|
| 景点拍摄 | 真实景点 | 图片 | GPS数据,拍摄角度 | |||
| 游客位置匹配 | 基础地理数据,GPS数据,拍摄角度 | 游客精确位置 | GPS数据,拍摄角度 | |||
| 搜索景点 | 位置,拍摄角度,基础地理数据 | 当前景点信息 | 基础地理数据完备性 | 拍摄角度 | ||
| 景点反投照片像素位置 | 景点,精确位置,拍摄角度 | 景点在照片像素坐标 | 拍摄角度 | |||
| 文字标注显示 | 图片,景点文字,像素坐标, | 文字显示 | 文字显示风格 | 中文 | ||
| 导览视频播放 | 图片,景点视频 | 视频播放 | 运营商网络状况,游客流量消费 | 中文 |
地理上下文和初始状态作为输入,领域服务作为转换函数,如果组合成功,就会到达目标,形成一个服务组合序列。本示例所形成的服务组合序列如图4所示。整个上下文感知的空间信息服务的输入为当前的真实景点、上下文有游客的基本信息、文字的显示风格信息、运营商的网络状况信息、游客的流量消费信息、GPS数据、拍摄角度,最终目标是将此景点介绍的文字信息、视频信息和所拍摄照片叠加呈现在游客面前。提供的服务组合流程为游客使用拍摄照片,调用景点拍摄服务,将真实场景转换为图片,再通过当前的GPS数据、拍摄角度、基础地理数据,获取游客的精确位置,由游客的精确位置、拍摄角度、基础地理数据,能够获得景点的数字化信息,如文字、视频等。为了在景点在照片中的位置显示文字、视频等信息,经过景点反投照片像素位置服务获得景点在照片中的像素坐标。然后通过文字标注显示服务根据游客的显示风格进行显示。导览视频播放根据当前的运营商网络状况,游客流量消费情况,选择是播放高清视频还是播放压缩视频。
上下文感知的空间信息服务的目标服务和领域服务转换为 PDDL 后,规划器产生一个抽象的 PDDL 规划。这个规划包含景点拍摄服务、游客位置匹配服务、搜索景点服务、景点反投照片像素位置、文字标注显示服务、导览视频播放服务的序列等。不使用地理上下文感知,此服务组合无法构建成功。

flowchart graph LR A["真实景点"] --> B["景点拍摄"] B --> C["游客位置匹配"] C --> D["搜索景点"] D --> E["景点反投照片像素位置"] E --> F["导览视频播放"] F --> G["中文,播放"] H["GPS数据拍摄角度"] --> B I["GPS数据拍摄角度"] --> C J["拍摄角度"] --> D K["显示风格"] --> L["文字标注显示"] L --> M["中文,显示"] N["网络状况流量消费"] --> F O["拍摄角度"] --> E
图 4 游客旅游的服务组合
Fig. 4 Service Composition of Travel
5 结语
本文提出了一个基于上下文感知的空间信息服务组合方法。上下文感知的空间信息服务的语义表示是对 OWL-S 本体进行扩展以支持地理上下文。该扩展增加了地理上下文类、地理上下文前提条件类、地理上下文效果类和地理上下文绑定类。上下文感知的空间信息服务组合转化成智能规划的求解过程。在转换过程中使用语义增强技术,增强服务组合率。
同时,本文也提供了将上下文感知的空间信息服务组合转换为智能规划的问题和领域的方法,并最终转换成基于PDDL的问题和领域,输入到兼容PDDL的规划器进行规划,并将结果转换为WS-BPEL的标准过程流程,输入到工作流引擎上执行。下一步的研究包括加入规划流程校验,实现对校验不符合要求的服务组合进行重新规划,以及考虑更多的语义相似性技术,如语义距离、各项语义的权重等来增强服务。
参考文献
- [1] 李德仁, 姚远, 邵振峰. 智慧城市中的大数据[J]. 武汉大学学报·信息科学版, 2014, 39(6): 631-640 (Li Deren, Yao Yuan, Shao Zhenfeng. Big Data in Smart City[J]. Geomatics and Information Science of Wuhan University, 2014, 39(6): 631-640)
- [2] 李德仁, 邵振峰. 论新地理信息时代[J]. 中国科学F辑(信息科学), 2009, 39(6): 579-587 (Li Deren, Shao Zhenfeng. The New Era of Geographic Information[J]. Science in China (Series F: Information Sciences), 2009, 39(6): 579-587)
- [3] 龚健雅, 王国良. 从数字城市到智慧城市: 地理信息技术面临的新挑战[J]. 测绘地理信息, 2013, 38(2): 1-6 (Gong Jianya, Wang Guoliang. From Digital City to Smart City: New Challenges to Geographic Information Technology[J]. Journal of Geomatics, 2013, 38(2): 1-6)
- [4] Li Li, Liu Dongxi, Bouguettaya A. Semantic Based Aspect-Oriented Programming for Context-aware Web Service Composition[J]. Information Systems, 2011, 36(3): 551-564
- [5] Hafiddi H, Baidouri H, Nassar M, Kriouile A. An Aspect Based Pattern for Context-Awareness of Services[J]. International Journal of Computer Science and Network Security, 2012, 12(1): 71-78
- [6] Martin D, Burstein M, Hobbs J, et al. OWL-S: Semantic Markup for Web Services[EB/OL]. (2004)[2015]. http://www.w3.org/Submission/OWL-S/
- [7] Mokhtar S B, Fournier D, Georgantas N, et al. Context-Aware Service Composition in Pervasive Computing Environments[C]//Proceedings of the 2nd International Workshop on Rapid Integration of Software Engineering Techniques, Heraklion, Crete, Greece, 2005.
- [8] Furno A, Zimeo E. Context-Aware Composition of Semantic Web Services[J]. Mobile Networks and Applications, 2014, 19(2): 235-248
- [9] 薛霄, 常静坤, 安吉宇. 智慧矿山服务系统的情景感知实现技术研究[J]. 计算机研究与发展, 2014, 51(12): 2746-2758 (Xue Xiao, Chang Jingkun, An Jiyu. Intelligent Service System with Context-Awareness Capability for Coal Mine Industry: Design and Implementation[J]. Journal of Computer Research and Development, 2014, 51(12): 2746-2758)
- [10] Klusch M, Gerber A, Schmidt M. Semantic Web Service Composition Planning with OWLS-XPlan[C]//Proceedings of the 1st International AAAI Fall Symposium on Agents and the Semantic Web, Arlington, VA, USA, 2005.
- [11] Hatzi O, Vrakas D, Nikolaidou M, et al. An Integrated Approach to Automated Semantic Web Service Composition through Planning[J]. IEEE Transactions on Services Computing, 2012, 5(3): 319-332
- [12] Sirin E. Combining Description Logic Reasoning with AI Planning for Composition of Web Services[D]. College Park, MD, USA: University of Maryland, 2006.
- [13] Rao Jinghai, Su Xiaomeng. A Survey of Automated Web Service Composition Methods[C]//Proceedings of the IEEE International Conference on Web Services, San Diego, CA, USA, 2004.
- [14] Truong H, Dustdar S. A Survey on Context-Aware Web Service Systems[J]. International Journal of Web Information Systems, 2009, 5(1): 5-31
- [15] 莫同, 李伟平, 吴中海, 等. 一种情境感知服务系统框架[J]. 计算机学报, 2010, 33(11): 2084-2092 (Mo Tong, Li Weiping, Wu Zhonghai, et al. Framework of Context-Aware Based Service System[J]. Chinese Journal of Computers, 2010, 33(11): 2084-2092)
- [16] Han S N, Lee G M, Crespi N. Semantic Context-Aware Service Composition for Building Automation System[J]. IEEE Transactions on Industrial Informatics, 2014, 10(1): 752-761
- [17] Zhou Jiehan, Gilman E, Palola J, et al. Context-Aware Pervasive Service Composition and Its Implementation[J]. Personal and Ubiquitous Computing, 2011, 15(3): 291-303
- [18] Gerevini A, Long D. Plan Constraints and Preferences in PDDL3[R]. Technical Report, Department of Electronics for Automation, University of Brescia, Italy, 2005.
- [19] Alves A, Arkin A, Askary S, et al. Web Services Business Process Execution Language Version 2.0[EB/OL]. (2007)[2015]. http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html
- [20] 王静远, 李超, 熊璋, 等. 以数据为中心的智慧城市研究综述[J]. 计算机研究与发展, 2014, 51(2): 239-529 (Wang Jingyuan, Li Chao, Xiong Zhang, et al. Survey of Data-Centric Smart City[J]. Journal of Computer Research and Development, 2014, 51(2): 239-529)
- [21] Wang Xiaohang, Zhang Daqing, Gu Tao, et al. Ontology Based Context Modeling and Reasoning Using OWL[C]//Proceedings of the 2nd IEEE Conference on Pervasive Computing and Communications, Orlando, USA, 2004.
- [22] Sarjakoski L, Nivala A M. Adaptation to Context—A Way to Improve the Usability of Mobile Maps[C]//Map-Based Mobile Services, Theories, Methods and Implementations, Berlin, 2005.
- [23] Mokbel F M, Levandoski J J. Toward Context and Preference-Aware Location-Based Services[C]//Proceedings of the Eighth ACM International Workshop on Data Engineering for Wireless and Mobile Access, Providence, Rhode Island, 2009.
- [24] Bradley N, Dunlop M. Toward a Multidisciplinary Model of Context to Support Context-Aware Computing[J]. Human-Computer Interaction, 2005, 20(4): 403-436
- [25] W3C OWL Working Group. OWL2 Web Ontology Language Document Overview[EB/OL]. (2009-10-27)[2015]. http://www.w3.org/TR/2009/REC-owl2-overview/
- [26] Horrocks I, Patel-Schneider P F, Boley H, et al. SWRL: A Semantic Web Rule Language Combining OWL and RuleML[EB/OL]. (2004)[2015]. http://www.w3.org/Submission/SWRL
- [27] Bevilacqua L, Furno A, di Carlo V, et al. A Tool for Automatic Generation of WS-BPEL Compositions from OWL-S Described Services[C]//The 5th International Conference on Software, Knowledge Information, Industrial Management and Applications (SKIMA), Benevento, Italy, 2011.