正在加载图片...
·492 智能系统学报 第4卷 1.2组合Wb服务建模 础上引人了6个控制流(Sequence、Switch、Repeat-- 组合Web服务是多个Web服务的聚集,如将 While、Repeat-Until、Fow和Pick)的宏定义: 其类比于工作流,组合服务中成员服务触发的控制 Sequence({s1,…,sn}):=s1;…;sn, 逻辑即为组合服务的控制流,成员服务之间的数据 Switch({p1,…,pn}),({s1,…,sn})= (消息)传递即为组合服务的数据流。 (p1?sn)U…U(pn?;sn), 1.2.1控制流语义建模 Repeat--While(p,s):=(p?s)*;(p)?, BPEL4WS和OWL-S采用特定的结构化的构造 Repeat-Until(,s):=s;(()?;s)*,,(4) 子(活动)来描述一组基本服务执行的顺序,这些构 Pikc({s1,…,sn})=sU…Usn, 造子说明了组合服务是如何通过将基本服务组合在 Flow({s1,…,8n}):=s1∩…∩5n 一起而创建得来的.用动态描述逻辑中的复杂动作 式中:s,1,…,5n为构成复杂动作的成员动作,p, 对服务进行语义建模,通过描述逻辑中的动作构造 p1,…,P.为条件式,ow的构造符“∩”为本文在 子,由基本服务逐步构造成复杂服务,即通过DDL DDL(SHON(D))中引入的动作构造子,表示n个 中的动作构造符“?”、“;”、“U”以及“*”由原子动 动作s1,…,sn可以同时发生,它等同0WLS中的 作逐步构造成复杂动作.DDL中的动作由如下产生 Split+Join,而忽略不检查并发结果导致不确定逻辑 式生成: 结果的Split控制流.本文不在DDL中为Any-Order T,T'→a(1,…,xn) 引入宏定义是因为Any-Order的语义是它的成员服 p?1πUr'|T;π'|π*. (3) 务.可以以任意顺序执行,也就是说,如果一个Ay 式中:a(x1,…,xn)是原子动作,”是一个公式形如 Order成立,那么任意指定的一个有同样成员服务的 p?,πU',T;'以及T·的动作分别为测试(test)、选 Sequence控制流也成立,且具有相同的逻辑结果.最 择(choice)、顺序(sequence)及迭代(iteration)动作. 后,If-Then-Else控制流是Switch控制流的一种特 表1列出了BPEL4WS、OWL-S和DDL的控制 例,它们可以简单地等价替换.基于上述DDL复杂 流,并显示了它们之间的对应关系(其中π;'为服 动作宏定义的服务可以被定义如下: 务定义式,”为条件式) stI Sequence(S)I Switch(S)I Pick(S)I Flow(S)I, 表1BPEL4WS、OWL-S和DDL控制流的简单比较 Repeat-While(,s)I Repeat-Until(,s).(5) Table 1 A brief comparison of control-flows in 式中:s是服务的名称,t表示基本服务,Sequence、 BPELAWS,OWL-S and DDL Repeat--While、Repeat--Until、Switch、Pick和Flow是控 BPELAWS OWLS DDL 制流的名称,S表示一组服务,称为s的“成员服 (Structured Activity)(Control Construct)) (Action Construct) 务”,亚表示一组条件式 Sequence Sequence T;π 1.2.2数据流语义建模 Any-Order (m;π)U(π;x) 除了控制结构,OWL-S使用绑定类来描述进程 Switch If-Then-Else (e?;T)U((7p)?;r) 之间的数据流.绑定被描述为使用其他进程数据的 While Repeat-While (?;T)*;(p)? 过程,并使这种过程及数据来源的具体参数明确化, Repeat-Until T;(7g?;)*;(p)? BPEL4WS通过对活动之间的交互状态建模来处理 数据流.交互状态由接收和发送的消息及其他的相 Pick Choice TUT 关数据组成.但是,OWL-S和BPEL4WS都不对复杂 Flow Split 的数据流进行显式声明,而复杂数据流是包含复杂 Split Join 控制流的组合服务必然将会导致的结果.以图1所 由表1可以看出BPEL4WS和OWL-S中的控制 示的一个简单场景为例. 流除了Flow、Split和Split+Join都可以在DDL中 如图1所示,任务PayRental的输入是任务Car 找到等价描述.相对于BPEL4WS和OWL-S侧重对 Rental或BikeRental的输出.尽管BPEL4WS和 组合服务中基本服务执行顺序的描述,DDL侧重于 OWL-S可以显式声明CarRental和PayRental的数据 对基本服务的动态内涵刻画,以及组合服务内部组 流以及BikeRental和PayRental之间的数据流,但它 合的逻辑关系的描述.对组合服务控制流的语义建 们没有给出声明2个数据流之间的可选关系的方法。 模综合表1所述,控制流做适当取舍,在DDL的基 为解决该问题,在数据流的声明引入AND,OR2个结
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有