APP下载

面向多服务交互的相容性分析与适配器生成

2014-04-12范大娟黄志球肖芳雄

吉林大学学报(工学版) 2014年4期
关键词:失配适配器约简

范大娟,黄志球,肖芳雄,祝 义,王 进

(1.南京航空航天大学计算机科学与技术学院,南京210016;2.南京工程学院 计算机工程学院,南京211167)

0 引 言

Web服务作为实现SOA架构的重要技术有效地解决了在分布、动态、异构环境下的应用集成问题。由于单个Web服务提供的功能有限,为了满足实际应用的需要,常常通过组合已有Web服务以形成增值的、具有更大粒度的Web服务。近年来,关于Web服务组合的研究工作取得了重要进展,已逐渐从只侧重于组合的功能方面的研究转向支持QOS,比如代价、时间属性[1],可信性[2]和能耗[3]等方面的研究;同时由于服务自身和需求的动态变化特点,传统的静态服务组合的研究也逐渐向动态服务组合的方向转变[4]。

在进行服务组合时,由于不同的Web服务常常由不同的提供者独立开发,它们在签名层或行为层上可能不相容而导致不能直接组合。如何消除Web服务在签名层和行为层上的不相容,从而实现服务的正确组合非常关键。服务之间的不相容表明交互的服务之间发生了失配(Mismatch),失配包括签名层失配(Signature-level mismatches)和行为层失配(Behavioral-level mismatches)。服务适配技术通过构造适配器的方法来消除服务之间的不相容而不改变服务内部代码,以支持服务的正确组合[5-6]。

目前,有关服务适配的研究引起了国内外的广泛关注。如文献[7]对服务之间WSDL签名层上的不相容进行适配,假定功能相似的服务的签名只在组成消息的部件上不一致,而在消息名上相同,即不考虑消息名称失配的情况。文献[8]对于在签名层不相容的服务,通过改变WSDL签名描述使得服务之间可以正确交互。文献[9]利用YAWL工作流语言作为中介语言,对于两个BPEL流程,通过合并两者的对偶服务执行树(Dual service execution trees)的方法自动生成适配器以消除它们在行为层上的失配。文献[10]针对两个异步通信的流程服务,生成最小适配器以消除流程服务之间行为层上的不相容,最小适配器只处理引起失配的消息,可以降低服务组合运行时的通信开销。文献[11]定义了若干个基于BPEL代码的适配模板,每一个模板对应一种失配的输入。开发者可以根据Web服务之间签名层和行为层不相容的情况,利用适配模板生成BPEL适配代码。文献[12]利用模式匹配技术识别签名层和行为层的失配,并通过生成失配树的方法得到适配器规约。

以上研究工作主要存在如下不足:①文献[7-10]只关注服务签名层或行为层上的适配。而由于需要组合的多个服务通常是由不同提供者独立开发,它们往往在签名层和行为层上均不相容,只考虑某一层上的适配难以有效支持服务组合的正确执行。②上述方法[7-12]主要针对的是两个服务交互的简单场景,而实际的Web服务组合往往是多个服务参与的复杂交互场景。③上述方法[7-12]所生成的适配器模型可能包含BPEL不能实现的部分,因此不能直接映射生成实际的适配器BPEL代码,且文献[11-12]所提出的方法不支持服务的自动适配,需要开发者的介入以生成相应的适配器。

针对以上问题,本文研究了面向多个服务参与的复杂交互情形下的适配器自动生成方法。首先对有限自动机(Finite automata,FA)进行签名和行为的扩展(称其为SBA模型)以同时建模服务的签名和行为信息,给出了基于SBA模型分析多个服务之间相容性的方法。定义了适配器模型的语法和操作语义,根据服务的SBA模型和服务之间的消息映射给出了适配器模型的自动生成算法,并讨论如何针对适配器模型中不能实现的部分(比如不确定、不可达等部分)进行约简的方法。最后通过一个实例分析说明了本文所提方法的可行性。与已有服务适配方法相比,通过该方法生成的适配器可以消除多个服务之间在签名层和行为层上的不相容以支持服务组合的正确执行。另一方面,该方法考虑如何对生成的适配器模型中BPEL不能实现的部分进行约简,因此可以支持从适配器模型到BPEL代码的自动生成。

1 服务的签名、行为建模

服务的签名包括服务的一组操作,由服务的WSDL文件描述。服务的每一个操作都可以看作是一个输入或输出消息。服务的每一个消息均由一个或多个部件组成,每一个部件对应一个类型。因此消息的类型常常是由其部件的数目、顺序和类型所决定的结构体类型。基于上述讨论可知,服务的签名可以看作是由服务所包含的消息以及消息的类型所组成的集合。

服务的行为定义了服务的操作调用的顺序,即该服务与其他服务交互时该服务发送或接收消息的动作序列,通常由服务的抽象BPEL流程描述。基于WSDL、抽象BPEL流程描述的服务的签名和行为缺乏精确的语义,需要转换为相应的形式模型表示。

由于有限自动机FA简单、直观、易于理解,具有精确的语义,因此,本文通过对FA模型进行相应的扩展分别用于形式化描述参与组合的单个服务(称为SBA模型)和它们的适配器(称为AM模型),通过SBA模型的组合运算描述SBA模型的组合(称为CBA模型)。下面给出几个关于FA模型的基本概念。

由于本文的SBA模型、AM模型、组合模型CBA均基于FA模型进行扩展,因此,定义1~3同样适用于以上模型。比如在SBA模型中标签集合L对应SBA模型中的动作集合A,即μ1,…,μn-1∈A;在AM模型中标签集合L对应AM模型中的内部动作集合AI和外部动作集合AO,即μ1,…,μn-1∈AO∪AI;在组合模型CBA中标签集合L对应组合模型中的动作同步集合AS,即μ1,…,μn-1∈AS。

本文对FA模型进行签名和行为的扩展,称其为签名行为自动机,用于形式化描述单个服务的签名和行为信息。

定义4 签名行为自动机(Signature,behavioral automata,SBA)。SBA模型是一个扩展的FA模型SBA=(S,s0,F,ΣM,fT,CD,A,T),其中:S表示状态集合;s0表示初始状态,s0∈S;F表示正常终止状态集合,F⊆S;ΣM表示消息集合;fT:ΣM→DT为消息集合ΣM到类型集合DT的映射函数;CD为迁移触发的条件集合;A表示动作集合,A⊆{?,!}×ΣM×DT;T表示迁移关系,T⊆S×CD×A×S。其中,若发送动作a=!m:d,其互补动作为=?m:d;若接收动作a=?m:d,则其互补动作=!m:d。SBA模型的迁移触发条件可为空,表示为ε∈CD。若条件cd1,cd2∈CD,则条件cd1∧cd2表示同时满足cd1和cd2的条件。若条件cd∈CD,有cd∧ε=cd成立。

服务的SBA模型同时包含服务的签名和行为信息,因此利用SBA模型可以自动识别服务在签名层和行为层上的失配,并自动生成适配器进行失配的消解,从而保证了服务组合的正确执行。

2 多个服务之间相容性分析

参与组合的Web服务通常是由不同开发者提供,使用不同的命名空间和类型定义来描述服务的签名,使用不一致的消息交互序列来描述服务的行为。因此,Web服务之间在签名层和行为层上的不相容的现象常常发生。对多个不相容的服务进行组合将使得组合系统不能正确执行。在进行服务组合之前,需要分析服务之间的相容性。

已有分析服务之间相容性的方法大多只考虑两个服务之间在行为上的相容性[5,13],通常根据这两个服务之间的行为是否是完全相反的或者通过一个服务在某一状态下发送消息的集合和与另一服务在相应的状态下接收消息的集合是否存在包含关系来确定。因此,此类(基于二元运算)相容性判定方法不适合用于判定多个服务之间的相容性。此外,已有相容性判定方法常常忽略了服务的签名信息,它们假设相同消息名的消息具有相同的类型,在此假设下通过消息名匹配来分析服务之间的相容性,因此不能识别签名层的某些失配,比如消息类型失配等。

在实际应用中,服务组合往往是多个服务参与的复杂交互场景,且服务同时包含静态的签名信息和动态的行为信息,由于服务的SBA模型同时刻画了服务的签名和行为信息,因此本文基于SBA模型来分析服务之间在签名层和行为层上的相容性。服务之间的不相容意味着它们的组合系统会发生死锁,因此,可以通过检测N个服务的SBA模型的组合模型是否存在死锁状态来判定这N个服务是否相容。

定义5 SBA的组合模型(Composition model of N SBA models,CBA)。N个SBA模型SBAi=(Si,,Fi,,,CDi,Ai,Ti),i={1,…,N},它们的组合模型SBA1|SBA2|…|SBAN可以被表示一个扩展的FA模型CBA=(S,s0,F,ΣM,CD,AS,T),其中:S⊆S1×…× SN,s0=,…,),F⊆F1×…×FN,ΣM⊆CD1×…×CDN,AS是动作同步集合,AS⊆ΣM×{1,…,N}×{1,…,N}× DT,((s1,…,sN),cdi∧cdj,m(i,j):d,(s′1,…,s′N))∈T⇔∀(s1,…,sN)∈S,∃i,j∈{1,…,N},∃(si,cdi,!m:(m),s′i)∈Ti∧ ∃(sj,cdj,?m:(m),s′j)∈Tj∧(m)=(m)=d∧(cdi∧cdj≠F):∀k∈{1,…,N}:(k≠i,j⇒s′k=sk)。

判定N个服务是否相容的步骤:①首先根据定义5的计算方法,自动生成这N个服务的SBA模型的组合模型CBA;②利用定义3中有关死锁状态的形式化定义,自动判断该CBA模型是否存在死锁状态。若不存在死锁状态,则表明这N个服务之间是相容的,因此可以直接进行组合;若存在死锁状态,则意味着这N个服务在签名层或行为层不相容,需要生成适配器消除服务之间的不相容,使得服务组合能够正确执行。

3 多个服务之间适配器的自动生成

已有服务适配方法大多针对只有两个服务参与组合的情形,未考虑多个服务参与组合的复杂交互场景[7-12],且文献[7-10]仅仅针对的是签名层(或行为层)上的适配问题。比如文献[7-8]只关注两个服务之间在签名层上的适配,该方法只适合于简单的无状态服务,而在实际应用中,绝大多数服务是具有行为信息的有状态服务。文献[9-10]研究的是两个服务之间行为层的适配问题,适配器仅通过消息交互的外部动作来消除服务之间的失配,未考虑适配器的有关消息处理的内部动作,因此不能处理签名层上的失配。

此外,文献[11-12]中适配器的生成方法是半自动化的。在文献[11]中,开发者需要根据两个服务之间不相容的情况,人工识别并组合适配模板以生成相应的适配器。文献[12]在适配器的生成过程中需要开发者选择消解失配的方式并提供相应的消息构造信息。以上服务适配方法[7-12]均没有涉及如何对得到的适配器模型中BPEL代码不能实现的部分进行约简,从而不能直接从适配器模型映射生成实际的适配器BPEL代码。

由于SBA模型同时刻画了服务的签名信息和行为信息,因此,本文将基于SBA模型提出一种面向多服务交互的适配器自动生成方法。首先引入多个服务之间的消息映射概念,给出具有消息处理的内部动作和消息交互的外部动作的适配器模型的语法和操作语义,使得适配器可以同时处理多个服务之间签名层和行为层的失配情况。在此基础上给出适配器模型的自动生成算法,讨论如何对得到的适配器模型进行约简的方法以支持实际BPEL代码的自动映射。

3.1 服务之间的消息映射

服务之间的消息映射是一组消息转换规则,即某个服务所需要接收的消息如何通过其他服务的发送消息来构造。消息映射表明了消息之间的语义依赖关系,可以利用语义Web和本体论的相关知识构造服务之间的消息映射[14]。由于本文主要关注的是服务适配方法本身,即如何根据给定的服务的SBA模型和服务之间的消息映射M生成相应的适配器,因此假定消息映射M已经由开发者给出。

文献[16]研究的是组件之间的适配问题,利用同步矢量作为适配契约并根据各个组件的接口描述自动生成适配器来消除组件之间的失配。但由于同步矢量只能表达两个消息之间的匹配关系(是一种特殊的映射关系),该方法不能处理消息分裂/合并失配等情况。而本节中引入的多个服务之间的消息映射概念不仅给出了涉及多个消息之间的映射关系,并且指明适配器如何对接收到的多个消息进行处理以生成另一服务需要的消息的方法,因此可以处理服务之间更多的、更复杂的失配情况。

3.2 适配器模型描述及其自动生成

适配器本质上是服务组合的编制器(Orchestrator),服务之间所有交互的消息必须通过适配器进行转发。为了描述适配器与服务之间的交互情况,需要将适配器的发送/接收动作与具体的服务相关联,即对发送/接收动作进行标记。

其中,标记动作?m(i):d表示适配器接收从第i个服务发送的类型为d的消息m,标记动作!m(j):d表示适配器发送类型为d的消息m至第j个服务,i,j∈{1,…,N}。

定义9 适配器模型(Adaptor model),简称AM。N个服务的SBA模型SBAi=(Si,,Fi,,,CDi,Ai,Ti),i={1,…,N},它们的适配器模型AM可形式化定义为一个扩展的FA模型AM=(S,s0,F,AO,AI,T),其中:S表示适配器的状态集合,S=S1×…×SN×δ,s0表示适配器的初始状态,s0=(,…,,Ø),F表示适配器的正常终止状态集合,F⊆F1×…×FN×δF,AO表示适配器的外部动作集合,AI表示适配器的内部动作集合,AI⊆MT1∪…∪MTN,T表示迁移关系,T⊆S×((CD×AO)∪AI)×S。

适配器的动作分为外部动作和内部动作,外部动作a∈AO是指适配器从某一服务接收消息或发送消息至某一服务。内部动作a∈AI为服务之间的消息映射M中某一消息映射规则mt,表示适配器根据该消息映射规则对接收到的消息进行相应的内部处理。

定义10 AM模型的操作语义。AM模型的操作语义被描述为迁移系统(S,s0,→),迁移关系→定义如下:

发送消息:

接收消息:

内部处理:

若给定N个服务的SBA模型和服务之间的消息映射M,按照算法1可以得到相应的AM模型。

3.3 适配器模型约简

根据算法1得到的AM模型不是最终的AM模型,需要对其进行约简,去除模型中BPEL不能实现的部分,如不确定行为的部分、不可达的部分和死锁部分,约简后的AM模型可以自动映射生成适配器的BPEL代码。

定义11 不确定状态。AM=(S,s0,F,AO,AI,T),状态s∈S,若状态s不符合以下几种情况之一,则称状态s为不确定状态。①从状态s出发的迁移数目等于1;②从状态s出发的接收迁移数目大于等于2,发送迁移数目等于0,这些接收迁移均为有条件约束的迁移,且迁移上的条件两两之间互不相交,即∀i,j∈{1,…,K},cdi∧cdj=F,K为从状态s出发的接收迁移数目;③从状态s出发的接收迁移数目和发送迁移数目均大于等于1,这些迁移均为有条件约束的迁移,且迁移上的条件两两之间互不相交,即∀i,j∈{1,…,K},cdi∧cdj=F,K为从状态s出发的迁移数目。

在不确定状态s下如何选择某一迁移进行触发是不确定的,需要对该状态下多个冲突的迁移进行去除,使得该状态下迁移的触发是确定的。

约简规则1(状态确定化)。对于AM模型中的所有不确定状态s,逐步去除从状态s出发的某个迁移,直到状态s符合定义11给出的三种情况之一。

对AM模型应用约简规则1后的模型中可能存在不可达状态,因此需要引入约简规则2去除AM模型中的不可达状态。

定义12 不可达状态。AM=(S,s0,F,AO,AI,T)状态s∈S是不可达状态,当且仅当不存在从初始状态s0到状态s的迹,即tr(s0,s)=Ø。

约简规则2(去除不可达状态)。在AM模型中去除所有不可达状态s以及从该状态s出发或到达该状态s的迁移。

若AM模型存在死锁状态,则表明对于给定的N个服务,它们之间存在某些交互情况下的失配是不能通过适配器进行消解的,因此,在利用约简规则1和约简规则2去除模型中具有不确定行为的部分、不可达的部分之后,若AM模型中存在死锁状态,则需要利用约简规则3去除AM模型中的死锁状态以得到最终的AM模型。

约简规则3(去除死锁状态)。在AM模型中去除所有死锁状态以及从该状态s出发或到达该状态s的迁移。

利用本节的约简规则1、2、3对AM模型中BPEL不能实现的部分进行约简,使得约简后的AM模型可以直接映射生成适配器的BPEL代码,用于在实际的BPEL执行引擎上运行。

4 实例分析

本节以一个网上医院的应用为例来说明本文方法的可行性,该应用包括Client服务、Specialist服务和Doctor服务,它们的SBA模型见图1,其中:

(1)Client服务通过发送用户名(!mUN)和门诊名称(!mDN)进行登记,然后选择预约专家(!mRS)或门诊挂号(!mRD)。若选择预约专家,则将收到相应门诊的专家信息(?mSL)或收到该门诊暂无专家的提示(?mNS),若暂无专家,则流程结束,若有专家可以预约,则Client发送预约信息(!mRSI),并收到是否预约成功的提示(?mV或?mIV),若预约成功,则流程结束,若预约失败,则可以重新预约(!mRS)或退出预约流程(!mEX)。若Client选择门诊挂号,则将收到挂号信息(?mRLD),Client可以选择接受或取消此次挂号(!mOP),若取消挂号(mOP=0),则收到挂号已取消的提示信息(?mCC),Client将选择重新挂号(!mRD)或退出流程(!mEX),若接受此次挂号(mOP=1),则将收到挂号成功的提示后(?mDS)结束挂号流程。

(2)Specialist服务首先接收预约专家的请求(?mRS),然后接收Client的登记信息(?mRI),根据登记信息中的门诊信息,选择发送相应门诊的专家信息(!mSL)或给出该门诊暂无专家的提示(!mNS),若暂无专家,则流程结束,若有专家可以预约,则发送专家信息,随后接收Client选定的专家姓名(?mSN)和预约时间(?mRT),并判断Client的预约是否有效,若有效,则发送预约成功提示(!mV)并等待Client的确认消息(?mCF),若无效,则给出预约无效的提示(!mIV),等待Client的再次请求(?mRS)或退出预约流程(?mEX)。

(3)Doctor服务首先接收Client的用户名(?mUN)和门诊名称(?mDN),然后接收门诊挂号的请求(?mRD),将生成的挂号信息发送至Client(!mRLD)并等待Client接受或取消此次挂号(?mCO),若Client接受此次挂号(mCO=1),则给出挂号成功的提示信息(!mDS),随后接收来自Client的付款信息(?mPM)并结束流程,若Client取消挂号(mCO=0),则发送挂号已取消的提示信息(!mCC)并结束流程。

图1 网上医院实例中三个服务的SBA模型Fig.1 SBA models for three services composing the online hospital example

Client服务、Specialist服务和Doctor服务之间存在如下消息映射M=MTSpecialist∪MTDoctor∪MTClient:

图2 应用约简规则1前后的AM模型片段Fig.2 The AM model fragments before and after applying reduction rule 1

根据第2节提出的相容性分析方法判断出这三个服务之间是不相容的,即这三个服务之间发生了签名层失配,比如消息合并失配(Client服务发送消息mUN和消息mDN进行登记而Specialist服务通过消息mRI接收Client的登记信息)等失配和行为层失配,比如未指定接收适配(Client服务先发送消息mUN和消息mDN进行登记,再发送消息mRS选择预约专家;Specialist服务先通过接收消息mRS接受预约,再通过消息mRI接收Client的登记信息)等失配,因此需要生成适配器以消除这些签名层和行为层的失配。

根据以上三个服务的SBA模型和消息映射M,利用3.2节的算法1得到的适配器AM模型中包含不确定状态,图2(a)(b)分别为本节实例按照算法1生成的AM模型中含有不确定状态的约简前后模型片段的结果。

对AM模型应用约简规则1-2后得到Specialist服务、Client服务和Doctor服务的适配器的AM模型如图3。其中,图3中的标记s,c,d分别表示Specialist服务、Client服务和Doctor服务。AM模型通过对服务之间的消息进行缓存、消息合并(应用消息转换规则mt1Specialist)、提取(应用消息转换规则mt3pecialist和mt4pecialist)、转换消息类型(应用消息转换规则mtclient)、生成消息(应用消息转换规则mt2specialist)等消除了三个服务之间上述签名层和行为层失配。其中,mt Nw表示集合MTw的第N个消息转换规则。

图3中的AM模型存在死锁状态(灰色状态显示)表示Client服务和Doctor服务的交互过程中发生了不可消解的失配(Doctor服务在通过消息mDS发送挂号成功的提示信息后将通过消息mPM接收Client服务的付款信息,而Client服务无相应的付款消息发送,且根据消息映射M可知消息mPM不能由适配器自动生成)。因此,需要利用约简规则3去除AM模型中的死锁状态(需去除虚线显示的两个状态)以得到最终的无死锁状态的AM模型。

图3 网上医院实例的最终适配器模型Fig.3 The final AM model for the online hospital example

5 结束语

本文首先提出了SBA模型以形式化描述服务的签名和行为信息,并基于SBA模型给出了多个服务之间相容性的分析方法。对于不相容的情况,则给出了自动生成适配器模型以及对得到的适配器模型进行约简的方法。通过一个实例分析说明本文所提方法的可行性。与已有服务适配方法相比,该方法针对的是多个服务交互的复杂场景,通过该方法生成的适配器可以消除多个服务之间在签名层和行为层上的不相容,以支持服务组合的正确执行。此外,通过对适配器模型进行约简以去除BPEL不能执行的部分,使得约简后的适配器模型可以直接映射生成适配器BPEL代码。

[1]朱勇,罗军舟,李伟.一种工作流环境下能耗感知的多路径服务组合方法[J].计算机学报,2012,35(3):627-638.

Zhu Yong,Luo Jun-zhou,Li Wei.An approach for energy aware multipath service composition based on workflow[J].Chinese Journal of Computers,2012,35(3):627-638.

[2]龙军,刘昕民,袁鑫攀,等.一种基于信任推理与演化的Web服务组合策略[J].计算机学报,2012,35(2):298-314.

Long Jun,Liu Xin-min,Yuan Xin-pan,et al.A web services composition strategy based on trust reasoning and evolution[J].Chinese Journal of Computers,2012,35(2):298-314.

[3]肖芳雄,李燕,黄志球,等.基于时间概率代价进程代数的Web服务组合建模和分析[J].计算机学报,2012,35(5):918-936.

Xiao Fang-xiong,Li Yan,Huang Zhi-qiu,et al. Modeling and analyzing web services composition using timed probabilistic priced process slgebra[J]. Chinese Journal of Computers,2012,35(5):918-936.

[4]Li Gang,Han Yan-bo,Wang Jing,et al.Facilitating dynamic service compositions by adaptable service connectors[J].International Journal of Web Services Research,2006,3(1):68-84.

[5]Dumas M,Benatallah B,Nezhad H R M.Web service protocols:Compatibility and adaptation[J]. IEEE Data Engineering Bulletin,2008,31(3):40-44.

[6]张广泉,戎玫,王昇.时间感知Web服务交互行为建模与失配检测方法研究[J].电子学报,2011,39(11):2568-2575.

Zhang Guang-quan,Rong Mei,Wang Sheng.Research on interaction modeling and mismatch checking of time-aware web services[J].Acta Electronica Sinica,2011,39(11):2568-2575.

[7]Ponnekanti S,Fox A.Interoperability among independently evolving web services[C]∥Proc of the 5th International Middleware Conference.LNCS 3231,Berlin:Springer-Verlag,2004:331-351.

[8]Fuchs M.Adapting web services in a heterogeneous environment[C]∥Proc of the 2th IEEE International Conference on Web Services(ICWS 2004). Washington DC:IEEE Computer Society,2004:656-664.

[9]Brogi A,Popescu R.Automated generation of BPEL adapters[C]∥Proc of the 4th International Conference on Service-Oriented Computing(ICSOC 2006).LNCS 4294,Berlin:Springer-Verlag, 2006:27-39.

[10]Seguel R,Eshuis R,Grefen P.Generating minimal protocol adaptors for loosely coupled services[C]∥Proc of the 8th IEEE International Conference on Web Services(ICWS 2008).Washington DC:IEEE Computer Society,2010:417-424.

[11]Benatallah B,Casati F,Grigori D,et al.Developing adapters for web services integration[C]∥Proc of the International Conference on Advanced Information Systems Engineering(CAiSE 2005).Berlin:Springer-Verlag,2005:415-429.

[12]Nezhad H R M,Benatallah B,Martens A,et al. Semi-automated adaptation of service interactions[C]∥Proc of the 16th International Conference on World Wide Web.New York:ACM 2007:993-1002.

[13]Bordeaux L,Salaün G,Berardi D,et al.When are two web services compatible?[C]∥Proc of the TES.Berlin:Springer,2004:15-28.

[14]Van der Aalst WMP,Mooij A J,Stahl C,et al. Service interaction:Patterns,formalization,and analysis[C]∥Proc of the 9th International School on Formal Methods for the Design of Computer,Communication,and Software Systems(SFM 2009). LNCS 5569,Berlin:Springer,2009:42-88.

[15]Zhou Z,Bhiri S,Gaaloul W,et al.Developing process mediator for supporting mediated web service interactions[C]∥Proc of the 6th IEEE European Conference on Web Services(ECOWS 2008). Washington,DC:IEEE Computer Society 2008:155-164.

[16]Carlos Canal,Pascal Poizat,Gwen Salaün.Model-Based adaptation of behavioral mismatching components[J].IEEE Transaction on Software Engineering,2008,34(4):546-563.

猜你喜欢

失配适配器约简
基于无差拍电流预测控制的PMSM电感失配研究
基于二进制链表的粗糙集属性约简
基于特征分解的方位向多通道SAR相位失配校正方法
实值多变量维数约简:综述
适配器模式及其应用
基于模糊贴近度的属性约简
新型水文测验GPS适配器设计与应用
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
美国麦格普公司新型M—LOK相机三脚架适配器
残留应变对晶格失配太阳电池设计的影响