正在加载图片...
·56· 智能系统学报 第1卷 则利用2.1和2.2节介绍的服务组合方法可得 Sequence(eS,Sequence(eS2,eS,)是相同的,如 服务Sequence(Sequence(eS,,eS),eS,)和服务 图12所示: n/ 图l2服务Sequence(Sequence(eS!,eS),eS,)和Sequence(eSi,Sequence(eS,,cS) Fig.12 Service Sequence(Sequence(eSI,eS2),eS3)and Sequence(eSI ,Sequence(eS2,eS3)) 所以Sequence(Sequence(eSi,eS),eS:)= 输入:需要组合的原子服务、组合服务描述说明 Sequence(eSi,Sequence(eS,eS).证毕 CSD 3实现与分析 输出:一个带条件的有限状态自动机 1)从组合服务描述说明C$D中读取第一个组 因为通过任意组合算子所得到的组合服务仍然 合算子CS,并取出组合算子CS的参数PS 是1个带条件的有限状态自动机(见2.3节的性质 2)如果PS中不含组合算子,则按2.1节介绍 10),所以任何组合服务都可以转化为1个有限状态 的对组合算子C$的组合方法进行服务组合,得到 自动机来实现.关键问题是如何将几个服务转化为 一个带条件的有限状态自动机cFSA,并result= 1个基于有限状态自动机的组合服务.由于服务组 cFSA,Goto 6). 合算子操作的封闭性,可以利用递归的方法来实现 3)从PS中取出组合服务描述说明CSD的子描 这种转化.例如,服务Repeat-While(中,Sequence 述SCSD (eS,eS)可以转化为图13所示的有限状态自动 4)递归调用ServicesTocFSA(SCSD),得到结 机,即首先将服务eS,和服务eS,进行Sequence组 果mresult 合,得到服务Sequence(eS,eS),然后再对服务 5)按2.1节介绍的对组合算子CS的组合方法 Sequence(eS!,eS,)进行Repeat-While组合 对结果mresult进行服务组合,得到一个带条件的 用Java语言实现了将几个服务转化为1个基 有限状态自动机,假设结果是result. 于有限状态自动机的组合服务算法ServicesTocF- 6)返回result. SA,算法Services TocFSA描述如下: 7)算法结束」 算法:服务组合算法Services TocFSA (a)服务es (b)服务eS (s and-)or (hand-p)or (rs and (rs and g/h (and-)or (rs and) E/E (c)服务组合 图I3服务Repeat-While(中,Sequence(eSi,eS,) Fig.13 Service Repeat_While(,Sequence(eS ,eS2) 由于算法ServicesTocFSA能够将几个服务转 化成一个有限状态自动机,从而可以根据转化后得 1994-2008 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net则利用 2. 1 和 2. 2 节介绍的服务组合方法可得 服务 Sequence (Sequence ( eS1 , eS2 ) , eS3 ) 和服务 Sequence (eS1 , Sequence ( eS2 , eS3 ) ) 是相同的 ,如 图 12 所示 : 图 12 服务 Sequence (Sequence (eS1 ,eS2 ) ,eS3 )和 Sequence (eS1 ,Sequence (eS2 ,eS3 ) ) Fig. 12 Service Sequence (Sequence (eS1 ,eS2 ) ,eS3 ) and Sequence (eS1 ,Sequence (eS2 ,eS3 ) ) 所以 Sequence (Sequence ( eS1 , eS2 ) , eS3 ) = Sequence (eS1 , Sequence (eS2 , eS3 ) ) . 证毕. 3 实现与分析 因为通过任意组合算子所得到的组合服务仍然 是 1 个带条件的有限状态自动机 (见 2. 3 节的性质 10) ,所以任何组合服务都可以转化为 1 个有限状态 自动机来实现. 关键问题是如何将几个服务转化为 1 个基于有限状态自动机的组合服务. 由于服务组 合算子操作的封闭性 ,可以利用递归的方法来实现 这种转化. 例如 ,服务 Repeat While (φ, Sequence (eS1 , eS2 ) ) 可以转化为图 13 所示的有限状态自动 机 ,即首先将服务 eS1 和服务 eS2 进行 Sequence 组 合 ,得到服务 Sequence ( eS1 , eS2 ) ,然后再对服务 Sequence (eS1 , eS2 ) 进行 Repeat While 组合. 用 J ava 语言实现了将几个服务转化为 1 个基 于有限状态自动机的组合服务算法 ServicesTocF2 SA ,算法 ServicesTocFSA 描述如下 : 算法 :服务组合算法 ServicesTocFSA 输入 :需要组合的原子服务、组合服务描述说明 CSD 输出 :一个带条件的有限状态自动机 1) 从组合服务描述说明 CSD 中读取第一个组 合算子 CS ,并取出组合算子 CS 的参数 PS. 2) 如果 PS 中不含组合算子 ,则按 2. 1 节介绍 的对组合算子 CS 的组合方法进行服务组合 ,得到 一个带条件的有限状态自动机 cFSA ,并 result = cFSA , Goto 6) . 3) 从 PS 中取出组合服务描述说明 CSD 的子描 述 SCSD. 4) 递归调用 ServicesTocFSA (SCSD) ,得到结 果 mresult. 5) 按 2. 1 节介绍的对组合算子 CS 的组合方法 对结果 mresult 进行服务组合 ,得到一个带条件的 有限状态自动机 ,假设结果是 result. 6) 返回 result. 7) 算法结束. 图 13 服务 Repeat While (φ,Sequence (eS1 ,eS2 ) Fig. 13 Service Repeat While (φ,Sequence (eS1 ,eS2 ) 由于算法 ServicesTocFSA 能够将几个服务转 化成一个有限状态自动机 ,从而可以根据转化后得 · 65 · 智 能 系 统 学 报 第 1 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有