论文部分内容阅读
摘 要 提出一种新的方式来描述基于语义的Web服务行为模型,这个描述方法将Web服务的执行过程解释为接收/发送消息和动作的执行。通过定义消息类、前置/后置条件、活动属性来解释基于语义的服务行为交互模型的各部分概念,同时通过建立基于这些概念的服务整体模型验证这种描述方法的可行性。
关键词 基于语义;服务行为;模型描述
中图分类号:TP399 文献标识码:A 文章编号:1671-7597(2014)20-0034-02
关于web服务计算中语义web服务的研究,主要集中在以原子服务为基本单位的接口语义的附加和判断的层面上,而关于服务行为之间的交互也把研究重点放在了接口调用顺序、消息规格等方面,很少有研究考虑到为了保证服务的正常执行,根据客户的真实需求,为服务行为附加语义信息,使服务行为实现真正交互。所以本文在这个研究背景下提出一个新的行为模式,这种行为模式使用自动和逻辑的形式化,这种模型相关联活动和消息,并采用OWL-S中的IOPR模型描述活动,通过建立一个新的描述模型来表达附加语义信息的服务行为,通过定义消息类和活动属性,来描述附加语义信息的web服务行为。
1 消息的描述
在本节中,介绍了对web服务行为进行描述所需要的一些基本概念。在这个描述方法中Web服务的运行过程解释为接收/发送消息和执行活动。该模型捕捉了web服务过程中两种不同类型的状态:“发送/接收消息”状态和“活动执行”状态。这种分离描述不仅使服务行为之间的“对话”(信息交换)很明显,而且服务内部的活动执行序列也很明显。在我们给出这种描述模型的正式定义之前,我们首先定义消息类和活性属性。
消息是Web服务或一个服务内部的活动之间进行交换的数据。直观地看,一个消息具有结构化的内容,属于消息类。我们假设这个类有类名、属性(消息名称)、初始类型,如整形、字符串和布尔类型等。
定义消息类是一个表达式,其中是类名, 是属性,代表的是类型。
类中的一个消息是从得到的映射,比如是这个消息的标示符,而是定义域中的值。
这个描述模型假设消息类的结构是水平的。而扩展的、允许分级结构也是可以实现的在本文中仅考虑水平结构简化了描述。针对上面的描述,我们可以举一个简单的例子。
一个旅游代理商要实现飞机票预订预订酒店预订到酒店的出租车等一系列功能,考虑第一个行为活动飞机票预订,这个活动响应的消息类定义为可能包括属性等。根据上面定义的方法我们可以描述为
)
同时,Web服务必须访问数据库或数据源。一种方法是让数据库作为的web服务的一部分来存储数据,所存储的数据不仅是过程需要的数据,还有关于过程本身的信息。本文的重点是Web服务的行为,我们的做法是假设允许Web服务查询数据库。
数据库类是一个表达式其中R是类名,是属性,并且是类型。类中的一个消息是O从得到的映射,比如是这个消息的标示符,而(或者)是定义域中的值。
2 前置条件/后置結果的描述
在OWL-S中,Web服务的语义通过使用配置文件描述。在配置文件中主要包括输入,输出,前提条件、执行结果(IOPR)。直观地看,一个活动的前提条件是一个活动执行之前必须满足的关联条件,只有这样活动才能被准确的执行。前提条件是在输入消息类和数据库类的关联条件。
在这个前提条件的定义中,C和R是关联这个活动的输入信息类和数据库类,C.A是输入消息类C的消息属性A,R.o.A是数据库类R在消息O映射下的属性值A的值,术语date用于表示数据值,例如常数。内置的函数type()是实现返回消息类属性类型的函数。比较操作compare包括:相等/不等,运算符号operation是加、减、乘、除法。
一个活动的后置结果是一个活动执行之后应该实现的关联结果,只有这样活动的执行才打到了预期的目的。后置结果是在输出消息类和数据库类的关联结果。
3 活动属性的描述
定义一个活动属性,定义为,其中:
T是活动的名称;
I是本次活动的输入消息类的元组;
O为这次活动的输出消息类的元组;
S是本次活动的数据库类的元组;
P是本次活动的前置前提;
R是本次活动的后置结果。
当前置条件P都满足了,这个活动才会执行,它消耗I中输入消息类的实例,即一组输入消息,
产生另一个输出消息元组,它们是输出消息类O的一组实例,活动后置结果放置在R中。
对于飞机订票活动,我们可以使用上面定义的描述方法对这个活动附加语义信息:
可以看出,飞机订票活动的中活动名称为,输入消息类的名称为,包括属性等等,其中为类型,为类型,为类型。同理,定义了输入消息类的名称为,包括属性,数据库类属性包括同时描述了活动执行的前置条件和后置结果,前提条件要求描述输入消息的属性的类型,并指出它只能处理少于十张票的请求,且要求请求购买的飞机票数要比数据库中可预订的票数少。后置结果说明执行此活动后要求数据库中剩余的可预订飞机票的张数大于20张。(在实际应用中,当可预订的票数少于某个值时,订票系统可能会提示“机票剩余较少”的提示,在这里,我们假定机票少于20张时会有相应的提示,所以机票<20,是本次活动顺利执行的后置结果。)从这个例子中可以对本文的研究重点有更深刻的体会,在以往的关于服务行为交互模型的研究中,只考虑活动调用顺序不一致、消息个数和类型等引起的失配,并没有考虑在实际交互的过程中可能附加的语义信息引起的失配,在以往的研究中,并没有考虑每个活动接口附加的语义约束条件,也就是没有考虑前置条件和后置结果的语义约束。而本文的研究重点就是为每个服务行为的活动接口附加语义信息。 4 服务行为附加语义信息的web服务的描述
在本节中,我们概述了模型的Web服务行为。语义信息通过活动属性以及活动的前置和后置条件格式来表达。这种模式下的Web服务可以由具有输入和输出的许多活动组成。显然,我们需要解决如何传递不同活动之间消息的问题。我们使用“internal”消息连接活动的输入和输出。这样,我们可以将Web服务中设置的消息类别划分为三类:只被服务消耗的“input”消息;只由服务产生的“output”消息;“internal”是既被服务产生又被服务消耗的消息。
定义Web服务是一个系统
Q是一个有限状态集,被分成消息状态Qm和活动状
态Qa;
q0∈Q是初始状态,FQ是终止状态集合;
P是一个具有不同名字活动的属性集合有限集(我们也使用P来表示一组活动的名称);
Σ是一个有限集消息类,被劃分成三类:分别为输入消息类,输出消息类和内部消息类。
Mi,Mo是局部的映射,例如对P中的每一个活动有n个输入消息和m个输出消息,并且每一个状态是的输入消息,是的输出消息。
Δ是一组以下形式的转变:
这是在类m中接到一个消息情况下状态的转变。
这是在类m中发出一个消息情况下状态的转变。
是P中的一个活动,这是在执行完活动的状态的转变。
这种描述模型区分了两种状态:消息状态,其中服务可以发送或接收消息;活动状态,其中服务可以执行活动。消息序列描述外部的交互,而活动序列表征内部的执行。输入消息是从服务请求者得到的,输出消息是发送给服务请求者的消息。内部消息是那些在一个服务内部的活动之间进行内部交换的消息。对于一个活动,其输入消息可以是从请求者)或前面一个活动的)得到的,它的输出消息可满足请求者)或满足随后活动的)。
5 结束语
本文详细的介绍了如何通过定义消息类、前置/后置条件、活动属性来将语义信息附加到服务行为上,实现了通过定义的概念和关系来描述原子web服务,建立了基于语义信息的web服务行为与服务整体的联系,进一步说明附加语义信息后的服务行为能够在web服务计算领域实现和应用,验证了本文研究具有实际意义,以及研究方向的正确性。
参考文献
[1]彭晖,陈立民,常亮,等.基于动态描述逻辑的语义Web服务匹配研究[J].计算机研究与发展,2008,45(12):2102-2109.
[2]相东明.基于Petri网的Web服务组合执行引擎研究[D].山东:济南大学,2013.
关键词 基于语义;服务行为;模型描述
中图分类号:TP399 文献标识码:A 文章编号:1671-7597(2014)20-0034-02
关于web服务计算中语义web服务的研究,主要集中在以原子服务为基本单位的接口语义的附加和判断的层面上,而关于服务行为之间的交互也把研究重点放在了接口调用顺序、消息规格等方面,很少有研究考虑到为了保证服务的正常执行,根据客户的真实需求,为服务行为附加语义信息,使服务行为实现真正交互。所以本文在这个研究背景下提出一个新的行为模式,这种行为模式使用自动和逻辑的形式化,这种模型相关联活动和消息,并采用OWL-S中的IOPR模型描述活动,通过建立一个新的描述模型来表达附加语义信息的服务行为,通过定义消息类和活动属性,来描述附加语义信息的web服务行为。
1 消息的描述
在本节中,介绍了对web服务行为进行描述所需要的一些基本概念。在这个描述方法中Web服务的运行过程解释为接收/发送消息和执行活动。该模型捕捉了web服务过程中两种不同类型的状态:“发送/接收消息”状态和“活动执行”状态。这种分离描述不仅使服务行为之间的“对话”(信息交换)很明显,而且服务内部的活动执行序列也很明显。在我们给出这种描述模型的正式定义之前,我们首先定义消息类和活性属性。
消息是Web服务或一个服务内部的活动之间进行交换的数据。直观地看,一个消息具有结构化的内容,属于消息类。我们假设这个类有类名、属性(消息名称)、初始类型,如整形、字符串和布尔类型等。
定义消息类是一个表达式,其中是类名, 是属性,代表的是类型。
类中的一个消息是从得到的映射,比如是这个消息的标示符,而是定义域中的值。
这个描述模型假设消息类的结构是水平的。而扩展的、允许分级结构也是可以实现的在本文中仅考虑水平结构简化了描述。针对上面的描述,我们可以举一个简单的例子。
一个旅游代理商要实现飞机票预订预订酒店预订到酒店的出租车等一系列功能,考虑第一个行为活动飞机票预订,这个活动响应的消息类定义为可能包括属性等。根据上面定义的方法我们可以描述为
)
同时,Web服务必须访问数据库或数据源。一种方法是让数据库作为的web服务的一部分来存储数据,所存储的数据不仅是过程需要的数据,还有关于过程本身的信息。本文的重点是Web服务的行为,我们的做法是假设允许Web服务查询数据库。
数据库类是一个表达式其中R是类名,是属性,并且是类型。类中的一个消息是O从得到的映射,比如是这个消息的标示符,而(或者)是定义域中的值。
2 前置条件/后置結果的描述
在OWL-S中,Web服务的语义通过使用配置文件描述。在配置文件中主要包括输入,输出,前提条件、执行结果(IOPR)。直观地看,一个活动的前提条件是一个活动执行之前必须满足的关联条件,只有这样活动才能被准确的执行。前提条件是在输入消息类和数据库类的关联条件。
在这个前提条件的定义中,C和R是关联这个活动的输入信息类和数据库类,C.A是输入消息类C的消息属性A,R.o.A是数据库类R在消息O映射下的属性值A的值,术语date用于表示数据值,例如常数。内置的函数type()是实现返回消息类属性类型的函数。比较操作compare包括:相等/不等,运算符号operation是加、减、乘、除法。
一个活动的后置结果是一个活动执行之后应该实现的关联结果,只有这样活动的执行才打到了预期的目的。后置结果是在输出消息类和数据库类的关联结果。
3 活动属性的描述
定义一个活动属性,定义为,其中:
T是活动的名称;
I是本次活动的输入消息类的元组;
O为这次活动的输出消息类的元组;
S是本次活动的数据库类的元组;
P是本次活动的前置前提;
R是本次活动的后置结果。
当前置条件P都满足了,这个活动才会执行,它消耗I中输入消息类的实例,即一组输入消息,
产生另一个输出消息元组,它们是输出消息类O的一组实例,活动后置结果放置在R中。
对于飞机订票活动,我们可以使用上面定义的描述方法对这个活动附加语义信息:
可以看出,飞机订票活动的中活动名称为,输入消息类的名称为,包括属性等等,其中为类型,为类型,为类型。同理,定义了输入消息类的名称为,包括属性,数据库类属性包括同时描述了活动执行的前置条件和后置结果,前提条件要求描述输入消息的属性的类型,并指出它只能处理少于十张票的请求,且要求请求购买的飞机票数要比数据库中可预订的票数少。后置结果说明执行此活动后要求数据库中剩余的可预订飞机票的张数大于20张。(在实际应用中,当可预订的票数少于某个值时,订票系统可能会提示“机票剩余较少”的提示,在这里,我们假定机票少于20张时会有相应的提示,所以机票<20,是本次活动顺利执行的后置结果。)从这个例子中可以对本文的研究重点有更深刻的体会,在以往的关于服务行为交互模型的研究中,只考虑活动调用顺序不一致、消息个数和类型等引起的失配,并没有考虑在实际交互的过程中可能附加的语义信息引起的失配,在以往的研究中,并没有考虑每个活动接口附加的语义约束条件,也就是没有考虑前置条件和后置结果的语义约束。而本文的研究重点就是为每个服务行为的活动接口附加语义信息。 4 服务行为附加语义信息的web服务的描述
在本节中,我们概述了模型的Web服务行为。语义信息通过活动属性以及活动的前置和后置条件格式来表达。这种模式下的Web服务可以由具有输入和输出的许多活动组成。显然,我们需要解决如何传递不同活动之间消息的问题。我们使用“internal”消息连接活动的输入和输出。这样,我们可以将Web服务中设置的消息类别划分为三类:只被服务消耗的“input”消息;只由服务产生的“output”消息;“internal”是既被服务产生又被服务消耗的消息。
定义Web服务是一个系统
Q是一个有限状态集,被分成消息状态Qm和活动状
态Qa;
q0∈Q是初始状态,FQ是终止状态集合;
P是一个具有不同名字活动的属性集合有限集(我们也使用P来表示一组活动的名称);
Σ是一个有限集消息类,被劃分成三类:分别为输入消息类,输出消息类和内部消息类。
Mi,Mo是局部的映射,例如对P中的每一个活动有n个输入消息和m个输出消息,并且每一个状态是的输入消息,是的输出消息。
Δ是一组以下形式的转变:
这是在类m中接到一个消息情况下状态的转变。
这是在类m中发出一个消息情况下状态的转变。
是P中的一个活动,这是在执行完活动的状态的转变。
这种描述模型区分了两种状态:消息状态,其中服务可以发送或接收消息;活动状态,其中服务可以执行活动。消息序列描述外部的交互,而活动序列表征内部的执行。输入消息是从服务请求者得到的,输出消息是发送给服务请求者的消息。内部消息是那些在一个服务内部的活动之间进行内部交换的消息。对于一个活动,其输入消息可以是从请求者)或前面一个活动的)得到的,它的输出消息可满足请求者)或满足随后活动的)。
5 结束语
本文详细的介绍了如何通过定义消息类、前置/后置条件、活动属性来将语义信息附加到服务行为上,实现了通过定义的概念和关系来描述原子web服务,建立了基于语义信息的web服务行为与服务整体的联系,进一步说明附加语义信息后的服务行为能够在web服务计算领域实现和应用,验证了本文研究具有实际意义,以及研究方向的正确性。
参考文献
[1]彭晖,陈立民,常亮,等.基于动态描述逻辑的语义Web服务匹配研究[J].计算机研究与发展,2008,45(12):2102-2109.
[2]相东明.基于Petri网的Web服务组合执行引擎研究[D].山东:济南大学,2013.