使用描述逻辑表达语义Web服务行为

2014-10-22 20:27崔冬
电脑知识与技术 2014年27期
关键词:自动化

崔冬

摘要:该文重点研究Web服务的行为层面并使用描述逻辑对附加的行为信息进行形式化表达。使用Dl框架来描述顺序和平行拆分的交互序列,这些内容对Web服务的发现和组合的研究都提供了一定的参考价值。在不更改代码的情况下,扩展了Web服务的特征描述;通过与本体语言OWL-DL的结合,在目前语义Web服务研究成果的基础上增加Web服务行为方面的描述。

关键词:描述逻辑; 服务行为; 自动化

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6334-03

Abstract: This paper focuses on the behavior of Web services and the use of description logic expression level of formal for additional information on the behavior. Interactive sequences using DL framework to describe sequential and parallel split, the content of research on Web service discovery and composition are to provide a certain reference value. Without changing the code, the expansion of the description of the characteristics of Web services; through combining with the ontology language OWL-DL, based on current research results of Semantic Web services on the web service behavior description increase.

Key words: description logic; service behavior; automation

服务计算技术的出现,部分解决了这些发展所带来的挑战。结合使用Web服务描述语言(WSDL),简单对象访问协议(SOAP),通用描述、发现与集成服务(UDDI),软件组件可以进行发布或者访问,并且可以通过标准化的接口和协议进行通信。这增加了公司使用软件的灵活性 ,但Web服务使用过程仍然不能实现自动化处理。 本文重点研究的是服务的行为方面,也就是,一个服务操作之间的限制决定了它们允许执行的顺序。我们选择DL描述逻辑,因为它基于形式化语义,足够丰富表达我们的要求,而且DL是可以进行判定的。通过使用OWL-DL,我们证明使用DL作为通用的语义Web服务描述语言,可以保证web服务描述的可扩展性和整体性。

1 行为方面的要素

在本节中我们将对使用DL表述web服务行为时出现的一些基本元素的含义进行解释,这些元素的含义与它们相关联的服务行为的含义有直接的联系,这意味着,每个元素根据消息执行的顺序有不同的含义,后面将进行详细说明。目前的工作重点是基础控制模式。先给出以下三种用DL表述的基本模式,在未来的研究中,更复杂的模式也能够实现。

服务进行交换的信息可以分为输入消息和输出消息,既包括需要处理的输入参数又包括服务提供的输出限制,在考虑服务行为的组成时,有三个基础部分:1) exists输入和输出的存在(交互);2) sequence输入和输出发生的序列;3) control 允许发生的交互顺序。

exists:事实上,发生在一个服务中的交互,我们称之为exists。从一个服务请求者的角度去描述服务环境,要能够提供输入并且接收输出,而从一个服务提供者的角度去描述服务环境,要能够提供输出并且需要输入,exists存在的不同语义信息将在第四部分进行讨论。出于建模的目的,在进行合并之前首先要分别考虑输入和输出的exists。事实上,发生在一个服务中的交互,我们称之为exists。从一个服务请求者的角度去描述服务。一个服务包含一系列输入、一系列输出或者通常两者都包括,交互中合并exists不会在交互顺序中进行声明。

sequence :交互的外观顺序,考虑到公共和私有的过程,一个特殊的交互顺序需要定义,在一个交互开始执行之后另一个交互的初始状态(对于外部观察者来说是不可见的)被激活,虽然隐含的交互顺序不能被观察者看到,只能看到外部可见的公共过程,但是为了这个操作能够成功执行,需要定义输入之间的顺序、输出之间的顺序,或者输入和输出之间的顺序。

control: 除了交互exists和交互sequence,行为的第三方面是控制结构的描述control,它们是从基础序列派生来的。在文献[3]中,对管理系统存在的工作流进行分析,得到了20种工作流模型,并且定义和描述了工作流语言,我们的解决方案着重于基本控制模式以显示服务行为如何被DL描述 。通过这些基本控制模式可以来模拟设计一组通用的服务行为构造方式。 基本模式包括顺序、并行分割、同步、排他选择以及简单合并,其他高级模式,如多重选择和周期一般是可以实现的,只不过在初步的研究中对其进行忽略。并行分割表示交互的并发性,这意味着被描述为并行分割的交互可以以任意的顺序并行执行。下面描述一个例子表述一个交互被限定在平行分割之后发生:输入必要的登录信息之后,用户必须同时输入信用卡信息和地址信息。输入信用卡和地址信息的先后顺序对服务功能是无关紧要的,只要两者都出现后就可以登陆。排他选择描述的是交互中只有一个分支被执行的情况。目前,DL中一直未能实现排他选择。在DL中能够实现的模型组合是,存在和顺序,存在和并行分割,顺序和并行分割以及所有三者的组合,将在第五部分说明。

2 服务匹配

在上一节中已经描述了表示行为的元素以及它们对于交互序列的含义,本节重点介绍 这些元素关联着服务匹配的语义信息。服务匹配是语义web服务研究领域的一个重大课题。在本节中,我们通过分析服务如何通过之前介绍的元素进行匹配来描述语义信息。 Web服务能否匹配,依赖于前面所述的行为方面。仅仅通过比较这些架构的存在可以但不容易被声称,因为这些后面关于web服务的语义信息表达的非常复杂。这些会在接下来的章节中更详细的介绍,服务请求R描述的每个方面都要进行分析,分析的依据是它执行服务S的结果,我们使用DL可以这样表示,服务S满足请求R的所有需求,可以声明为

R≥S (1)

exists:已经在第三部分解释,请求R和服务S的输入我们可以分别写成IR和IS,输出我们可以写成OR和OS,,IR描述了环境能够提供的输入集合的最大值,一个服务不用使用提供的所有输入,而是通过使用最少的输入来实现目标,描述为规则(2) ,环境定义的输出集合定义为OR,OR定义了OS要提供的最小输入集合,这种关系定义为规则(3)

Inputs: IRIS (2)

Outputs:OROS (3)

sequence :描述一个请求服务的输入输出顺序定义为SeqR,而匹配服务的输入输出顺序定义为SeqS,两者需要满足RS的约束条件,同时也要满足表达式(2) 和(3) ,也就是说,即使一个输入存在于SeqR中,也没有必要一定使用,这是标准的推理机制认可的。但是,如果一个服务使用了SeqR中的一个输入,那么在SeqS 中必须出现同样对应的限制。相反,输出则要求都能够实现,值得指出的是,如果所提供的服务的输出并不是请求服务要求得到的(也就是在 OR 中没有定义的输出),那么这个输出可以在 SeqS的任意位置。

Sequence: SeqRSeqS (4)

control:平行分割的相关语义描述如下,一个请求服务在一组交互状态(例如:I1和O1) 之间定义了一个“平行分割”结构,这也就表明交互状态出现的先后顺序无关紧要,也就是说,先执行I1再执行O1,或者调转顺序都是满足需求的,必须明确声明这种结构,因为并不是所有的匹配服务都只能按照一个接一个的先后顺序执行交互。匹配服务没有必要和请求服务具有完全一致的控制结构,“exists”、“sequence”、“control”可以任意组合,当组合成一个更复杂的行为时描述的各部分的服务匹配特征仍然需要考虑。

3 使用DL来描述服务行为

在之前的章节中,我们描述了服务行为的各部分元素,以及涉及到服务匹配时这些元素相关的语义含义。这部分,我们将介绍如何使用DL框架来表述我们之前讨论的行为元素和他们的语义信息,这些内容是进行自动推理和匹配的基础。

选择逻辑描述方式(OWL-DL),是因为它的可判定性和它能够与其他语义web技术相结合来实现web服务描述的扩展。请求服务和提供服务之间的匹配是通过DL框架的一系列关系来表达的,通过使用接下来定义的语言框架来解释服务并实现对服务行为的描述,标准的推理机能够实现对这些分类的推理,结构模型的建立和开发使用了这些分类的概念,针对在第四部分提出的理论,服务匹配就是根据请求服务进行自动的识别和分类。DL框架介绍如下:请求服务、提供服务被建模为类,行为方面的描述表达不同类之间的特殊属性。

exists: 为了表达“exists”的语义信息(在第四部分定义过的),我们提出给“exists”定义一个属性“has”,用口语可以表示为“一个服务所拥有的输入和输出”,事实上,这些输入和输出可能具有不同的语义信息,也通过不同的方式进行建模,DL通过使用合并符号来表达输入条件I1, I2, . . . , In的集合进而表达了请求/提供服务的一个输入集合,要表达(2) 式,请求/提供服务的集合可以分别表示如下:

IS/R (I1 I2 ... In) (5)

一个请求服务R通过使用相关的集合定义“has”关系来描述一组输入

Rhas. IR has. (I1 I2 ... In) (6)

一个提供服务被描述为Shas. (I1 I2. . . Im) 当mn时表明它能够与R进行匹配,因为它满足了RS,如果提供服务的输入更多(m > n)则不满足条件,输出通过使用交集符号来表达(3) 中的语义信息,DL通过如下表达式表达了输出O1,O2, ... ,On的集合

OS/R (O1O2 ... On) (7)

通过定义相关集合的“has”关系来表达一个请求服务的一系列输出。

Rhas.OR has. (O1O2 ... On) (8)

提供的服务S被定义为S has. (O1O2. . . Om),当mn时满足服务请求,因为RS,如果m < n,认为服务不匹配,值得注意的是,当服务既包含输入又包含输出,需要组合表达式(5) 和表达式(7) 时,也是通过取交集的操作符号进行连接,用如下的表达式进行连接。

IOS/R IS/ROS/R(I1 I2 ... In)(O1O2 ... Om) (9)

请求服务提供了一组输入,并需要得到一组输出,通过类似于表达式(6) 和(8) 的描述进行定义。

Rhas.( (I1 I2 ... In) (O1O2 ... Om) ) (10)

这个表达式使定义在(2) 和(3) 上的限制能够进行推理。

sequence :输入和输出的顺序通过使用属性“then”来表达,连续的几个交互通过嵌套的顺序属性来表达,输入和输出在刚开始被分别定义,嵌套表达式通过类似于表达输入输出的exists那样进行组合,连续的输入使用合并标示符,连续的输出使用交集标示符,拥有一系列交互的请求服务和提供的服务通过下面的表达式(11) 和(12) 进行表达

SeqRthen.( I1then.( I2(then.(... (then.( In))))))) (11)

SeqRthen.(O1then.(O2(then.(... (then.(On))))))) (12)

在一个序列中既有输入又有输出,在现在看来还有些复杂,我们还不能解决,不同的是,通过DL-表达式实现的交互组合实现了在嵌套的序列表达式中包含存在和序列。类似于输入后再输入,输出后再输出的概念组合可以通过使用表达式(11) 和(12) 来进行准确的匹配,但是,类似于输入后输出,输出后输入的概念组合在服务表示的每个方面还不能够准确的匹配,这也就意味着虽然一些服务顺序是相反或者不准确也可能被认为是匹配的,使用DL表达式的目标是使用一种表达组合序列的方式,能够准确分类所有的情况。在第六部分,我们通过举例说明了如何根据使用DL表达式定义的请求服务准确区分提供的服务是否合适。

control:在第四部分描述的平行分割的语义通过以下的形式进行表达。

SeqRthen. (I1(then. ((I2(then. I3)) (I3(then. I2))))) (13)

SeqRthen.(O1(then. ((O2(then. O3))(O3(then. O2))))) (14)

表达式(13) 和(14) 描述了第二个和第三个交互的并发性,第二个和第三个发生的顺序是无关紧要的,服务S1中先执行交互2再执行交互3或者服务S2先执行交互2再执行交互3都可以满足请求服务R。(满足表达式RS)

服务行为的表达 一个服务行为包括 “exists”部分和“sequence”顺序。因此使用DL表达式表达服务行为包含了两者(通过交集标示符进行连接),使用DL架构描述请求服务和匹配服务的行为描述如下,假设一个请求服务描述了三个输入(I1, I2, I3),并且它们的顺序是(I1→ I2→I3)

Rhas.( (I1 I2I3)then. (I1(then.( I2 (I3))))) (15)

使用同样表达方式的提供服务可以通过验证是否满足表达式RS.来判断是否匹配,接口可以使用标准的推理机,输出也可以进行相应的表达,进行“exists”和输出序列的组合表达。

4 证明概念

下来我们要指出一个方案应用在之前描述过的DL框架上,请求服务和可能匹配的服务将在后面通过OWL-DL 进行描述,目前的接口机制用来表达服务是否匹配的结果,这表明了怎样利用目前的标准推理机来增强代码的强壮性。因为之前通过DL描述的语义信息把web服务模型从它的解释应用程序中分离了出来。第一个例子只是考虑到交互,接着进行扩展考虑到行为,证明了我们研究方法的扩展性。互相独立开发的不同方面通过同一种形式语义的表达可以被集成在一个可以考虑所有方面的分析模型中,使用OWL-DL框架将允许通过使用相同的本体语言,与其他本体模型进行集合。这个方案描述如下:一个用户需要一个网购服务,要求输入的是“登陆请求”,“购买请求”和“用户的信息”,并提供一个“购买认证”作为输出,现在提供了两个服务:1) 一个商店服务,满足了我们的要求;2) 欺诈服务骗取客户的信息。相关的DL框架描述如下:

ROrderinghas. ((login orderuserData)(conf))

S1 Store has. ((login order)(wMsg conf))

S2 Fraud has. ((loginorder userData)(conf))

商店服务需要“登陆请求”和“购买请求”就提供相对于购物请求的“欢迎信息”和“购物认证”。诈骗服务对照请求服务有着同样的交互,推理机给出了这些请求的描述并在接口给出了结果,两个服务都满足请求。如果仅考虑一个服务的交互属性“exists”,因为两个服务都满足(RS),认为两个服务都满足请求服务R,再进一步考虑附加服务的行为来对服务进行进一步鉴定,我们通过之前介绍的DL框架来定义允许的交互顺序,最重要的限制是直到登陆成功了才可以申请购买服务,输入用户信息。商店服务满足要求,而欺诈服务要求在登陆之前就提供用户信息,通过DL框架描述请求服务和匹配服务的定义如下:

ROrderinghas. ((loginorderuserData) (conf)

then.(login(then. (order(then. (userData (then. (conf))))))))

S1Storehas.((loginorder) (wMsgconf)then. (login

(then. (wMsg t (then. (order(then. (userData (then.(conf))))))))))

S2 Fraudhas. ((loginorderuserData) (conf)

then. (userData (then. (login (then. (order (then.(conf))))))))

给出了这些服务的表达后,通过推理机得到的结为只有商店服务满足要求,欺诈服务不满足定义的交互顺序。

5 总结和未来的工作

本文介绍了一种使用OWL-DL表达服务行为的方法,描述了不同的框架来定义交互的发生,交互的顺序和并发性。通过使用DL作为描述元素,我们实现了增加强壮性、扩展性和集成性的效果,这些在web服务行为的之前的相关研究领域是比较欠缺的。通过一个简单的例子作为基础,我们最终指出了架构的应用、声明了标准推理机的实现,该文介绍的解决方法特别适合应用在服务自动发现和自动组合的研究领域。

未来的工作中,服务行为描述将主要集中在以下三点:1) 为了提供一个允许表达服务行为主要范围DL框架集合,序列表达中交互的组合需要覆盖所有特殊的情况;2) 建立一个可以表达排他选择的表达式;3) 循环以及其他先进的工作流模式的表述去扩展特殊行为的基本表达。未来的研究中,通过使用DL框架来表述服务行为的相关工作,我们最终会证明DL是否具有足够的表达力来表达各种服务行为特有的限制条件。

参考文献:

[1] 于守健,夏小玲,乐嘉锦,等.基于扩展接口语义的Web服务匹配模型研究[J].计算机科学,2002(11) :34-2.

[2] 公帅,熊锦华,刘志勇. 基于交互冲突的服务互操作匹配性检测[J].计算机学报,2013(12) :36-12.

[3] Rajasekaran, P., Miller, J., Verma, K., et al. Enhancing web services description anddiscovery to facilitate composition[Z].2004.

猜你喜欢
自动化
国内焊接设备市场现状及发展趋势研究
AGV小车在白酒行业自动化立体仓库中的应用
电气工程及其自动化问题与对策
我国机械设计制造及其自动化的现状及发展趋势
浅论节能设计理念在机械制造与自动化中的应用
简析火力发电厂热工自动化仪表应用及故障排除方法
配网自动化实用化模式建设及系统运行
配电室无人职守集控站在京博石化的运用
配电线路运行资料管理自动化的探讨