没有合适的资源?快使用搜索试试~ 我知道了~
Web服务编排与描述的语义框架
理论计算机科学电子笔记151(2006)3-18www.elsevier.com/locate/entcsWeb服务描述与编排的语义框架Claus Pahl和Yaoling Zhu1都柏林城市大学计算机学院都柏林9,爱尔兰摘要Web服务是可以由提供者发布并由客户使用Web技术调用的软件服务。这个概念目前被进一步推广,通过对相互通信和交互的服务流程进行编排和编排来解决单个服务的组合问题。我们提出了一个本体框架,这些Web服务流程,提供了技术,他们的描述,匹配和组合。一个基于描述逻辑的知识表示和推理框架提供了基础.我们将这个本体论框架的基础上的业务模型的服务流程的行为和组合。关键词:Web服务,编排,编排,过程模型,本体。1介绍面向服务的体系结构(SOA)为软件开发提供了一个体系结构范例[1]。系统可以按照服务来组织-软件单元,为用户提供“原样”的功能。功能描述和其他属性和质量属性(如安全性或性能)以及面向使用的信息(如调用协议和位置)由提供商公布,并可由潜在用户查找1电子邮件地址:cpahl@computing.dcu.ie1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.07.0334C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3Web服务框架(WSF)就是这样一种SOA [2]。WSF提供了一个SOA基础设施,它由描述语言(WSDL)、调用协议(SOAP)和基于标准Internet和Web技术(如XML)的描述存储库(REpository for Descriptions,REPORT)组成虽然第一代WSF专注于“按原样”使用服务,但下一代需要解决服务组合问题,以使更大的服务到流程的组合在这里是组合的范例两种形式– 编排和编排-最近在WSF社区中作为服务组合和协作的技术进行了讨论[ 5 ]。这两个方面反映了业务流程建模和执行(或编排)以及系统作为交互流程(编排)的观点。到目前为止,WSF更多地关注于调用而不是开发。IBM支持潜在用户定位合适的服务;然而,如何将这些服务集成到现有的软件系统中以及如何将这些服务组合到更大的系统中并没有得到充分的解决。最先进的包括用于编排和编排的语言,例如WS-BPEL 4或WS-CDL [5]。这些语言的基础是工作流程和消息交换,以及交互过程和模式的各个方面基于组件的软件开发的原则CBSD [6]尚未集成。因此,我们在这里将重点关注使用WSF平台作为基于服务的软件系统开发的基础设施总体目标是支持Web上和Web上的(基于服务的)软件开发形式化方法被证明是成功的安全关键,可靠的软件系统的开发形式化模型允许更高程度地理解上下文的原理和机制,以及应用程序的特定属性。因此,一个正式的编排和编排模型以及一个描述符号是我们的中心目标。如果要实现基于服务的系统的基于Web的开发,则会出现一个重要的要求为了支持涉及不同组织的分布式开发的SOA原则,需要采用语义Web语义Web提供了一个共享的知识表示框架和平台,以本体论为核心。本体可以捕获服务的属性,它们还可以支持组合描述和推理。我们的目标是:• 我们澄清了配器和编舞的概念为此,我们将在第3节中为服务流程组合提供一个正式的模型。• 在第4节中,我们提供了一个支持CBSD重用目标的服务流程组合的本体框架。该框架将基于服务流程组合的语义定义。C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)35存储库要求提供~~~~发现匹配~~~~~~~~~~~~~~~~~~~~~~~~客户本体提供商服务装配相互作用网络服务图1.一、Web作为面向服务的开发和部署平台。2组合服务过程的开发2.1基于Web的服务开发服务由在特定位置提供的一组连贯的操作组成。服务提供者提供一个抽象的服务接口描述,潜在的服务用户可以使用它来定位和调用服务。服务通常在单个请求-响应交互中按“原样”使用重用是软件工程的核心原则。现有的服务可以被重用以形成业务或工作流程流程。这里架构组成的原则是过程组装。发现和调用基础设施(潜在用户可以在其中搜索服务和调用协议的语言的描述和组成和协议是这个体系结构的核心元素图1展示了WSF的这个基础设施。面向服务架构的软件开发是一个两步过程。 发现是基于抽象的计算描述(和其他软件属性),形式化的基础上的本体。组装是关于服务到流程的组合表示服务知识的本体对于作为开发平台的Web来说是必不可少的使用是对基本服务生命周期的补充。它是关于服务之间的通信和流程交互的2.2服务流程组合WSF提供了一个基于“按原样使用”调用服务的平台然而,如果服务能够连接起来,就会增加真正的价值[5]。通过组合服务在WSF中支持和实现业务流程是必需的。排舞和编舞是两种形式的服务6C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3目前正在讨论的合作与合作• 演示是指可以使用内部和外部Web服务来完成其任务的组合业务流程。业务流程由系统中的一个代理控制该过程在消息级别描述,即:在消息交换和执行顺序方面• 编排处理实现服务之间协作的交互。考虑多个代理,其中每个代理描述其在交互中的自己的部分。编排和编排处理不同的视角。演示的重点是业务流程的内部行为。编舞专注于外部视角,关注过程交互。这些透视图是SOA的基本方面。我们将在流程模型(编排)和交互模型(编排)中捕获这些。2.3银行账户示例一个网上银行的例子将说明我们的服务流程框架。登录;!(余额+寄存+转账);注销是描述网上银行用户从登录开始,反复执行余额查询、寄存或转账,然后注销的交互过程的过程表达式。在图2中,以伪码表示法描述了四个服务。这些服务中的每一个都在内部实现一个流程(orchestration)。服务调用(导入、通过lined,例如Balance)和服务提供(导出,正常,例如Login)是服务编排的结 果 。 例 如 , AccountProcess 是 BankAccount 和 LoginServer 的 客 户端;BankAccount是AccountRegistry的客户端。3服务和流程描述和组合是设计的核心活动。在本节中,我们将开发一个正式的模型和一种抽象语言,它们构成了这两种活动的操作框架。我们将编排和编舞形式化,并开发一个定义和支持作曲活动的语义框架这种操作语义框架用于捕获需求并形成本体框架的底层。C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)37服务帐户流程operationimport登录名(no:int,user:string):bool import余额(no:int):realimportLodgement(no:int,sum:real):voidimport转账(no:int,dest:int,sum:real):voidimport注销(no:int):void进程登录;!(余额+登录+转账);注销服务银行账户操作export余额(no:int):实数exportLodgement(no:int,sum:real):void export Transfer(no:int,dest:int,sum:real):importCheckAcc(dest:int):bool虚空过程!(余额+登录+(转账;CheckAcc))服务帐户注册表operationexportCheckAcc(no:int):bool进程!检查访问服务登录服务器operation export登录(no:int,user:string):boolexport注销(no:int):void进程!(登录+注销)图二. 银行账户流程和服务。3.1表演和编排说明3.1.1停止。我们可以从诸如WS-SQL [5]这样的语言中推导出以下编排表示法的核心需求• 基本元素:两种形式的基于消息的动作• 过程语言:序列、选择、迭代和并发是服务/过程的组合子,• 抽象和导出接口:流程可以作为Web服务提供• 状态和数据:需要动作的变量和参数。编排的重点如图所示3 .第三章。业务流程本身和实现该流程的Web服务是分离的。这使流程逻辑与其实现保持分离。该过程由调用相应服务的编排引擎8C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3执行。C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)39s1;s2⟨ ⟩⟨ ⟩我们以关注服务组合的流程模型的形式来获取编排的基础过程描述是关于控制流程和执行顺序的确定。我们将从抽象的动作开始,首先集中在控制流方面过程描述可用于不同的目的:• 为了根据操作和控制流程来定义业务流程• 描述服务可以参与组合系统的外部、可观察的交互模式(如果流程作为服务可用我们的过程模型是基于π演算的原则和符号服务流程表达式或流程是基于基本流程名称、命名流程表达式和组合子序列归纳形成的;并行组合|、非确定性选择+和迭代!. 一个命名的进程表达式P(s1,.,s k)由基于服务s1,..., s k和combinators。过程定义是递归的。基于基本流程(即Web服务),可以定义组合服务,即,诸如P=s1;s2;Q之类的表达式可以被利用我们也用符号P过程的特征−→Q强调过渡示例3.1登录;!(余额+登录+转账);注销是网上银行账户的业务流程。这个编排示例忽略了编排所需的流程元素我们现在通过细化动作的概念来添加数据。对于服务s和数据项x,s(x)是接收动作,s x是应答动作,P中的let y=s x是调用动作。需要采取接收和答复行动来促进服务的提供。需要使用其他服务。调用为交互的返回结果y提供了作用域3.1.2编舞。与我们的编排讨论类似,我们注意到编排描述符号的主要要求[5]:• 基本活动:本地活动的请求/响应动作,调用外部服务,• 结构化活动:循环、顺序、选择和并发,• 基础设施:表示服务的端口之间的通道/连接。编排的重点是可观察的交互行为,而不是执行,见图1。3 .第三章。编排模型是一个过程模型,其重点是控制10C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3⟨ ⟩|⟨⟩⟨ ⟩⟨⟩服务接收调用答复返回提供商客户端(出口服务)(使用提供的服务)客户端提供商编排编排图3.第三章。舞蹈与编舞原理命令和执行命令。编排模型是一个关于过程交互的交互模型,即:同步和数据交换。建模过程交互的关键是在过程之间添加数据流。Web服务通过网络连接。表示服务的网络端点称为端口服务(及其端口)可以是数据的接收器和转发器,即读取或写入端口之间建立的通信通道假设服务端口s和数据项x。然后,s(x)是接收动作,s x是发送动作。注意,与编排不同,我们在这里抽象了提供者操作(接收/应答)和客户端操作(调用)之间的区别。表达式Balance acc;Balance(bal)要求服务Balance获取账户ACC的当前余额,然后接收余额Bal。交互是远程服务的激活应提供两种形式假设一个过程表达式P。• request-response:对于P中的每个服务s,写-读序列s x;s(y),其中y是从外部服务返回的结果• execute-reply:对于P中的每个服务s,读写序列s(x);sf(x),其中f是某些内部服务功能。这些交互是流程生命周期的基本构建块流程表达式中的输入服务名称需要绑定到可以执行服务功能的具体服务找到匹配每个服务需求的合适服务并管理连接是交互模型及其匹配和连接支持的一部分到目前为止,进程AB的并发组合不允许交互.转换规则(在π演算中称为反应规则)可以捕获交互并描述这些交互中的数据流-请参见下文中的可以创建一个共享通道,C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)311剂.通常,端口名充当通道名(例如,π演算需要匹配的端口名来建立连接;我们稍后将放松此约束)。编舞通常是关于固定的连接。然而,过程演算也适合动态创建的连接使用π演算的作用域挤出,可以对3.2组成支持在存储库中发布服务或捕获对这些服务的需求时需要描述。我们将以生命周期模型的形式为服务提供一个简单的开发和部署模型,然后讨论生命周期中各个活动所需的技术。3.2.1生命周期和活动。描述和匹配是设计活动。然而,重要的是对整个工艺生命周期的支持将单个服务名称绑定到现有服务,即组成流程实例并执行该实例与描述和匹配同样重要这些方面的基础以编排或交互模型的形式给出,这些模型描述服务之间的绑定、连接和交互每个服务s都是一系列端口sC、sI、sR,它们满足不同生命周期阶段的需求。C端口是一个约定端口,表示一个捕获抽象属性的接口sI和sR是用于交互的连接器端口– sI处理服务调用和输入,sR处理服务应答。我们用带注释的流程符号表示服务生命周期我的天啊!(I s Ia,s R;RESsR(y)为请求者提供用于请求、调用和结果的注释提供者视图与请求者视图是对偶的C(sI);!(EXEsI(a,sR);REPsRf(a)带有用于提供、执行和回复的注释在请求者视图中,RE qsCsI是服务的带注释的输出动作S.一个进程可以使用合约端口sC请求RE q服务。连接器端口引用sI和sR随后被发送用于进一步的交互。如果请求者端口类型和提供者端口类型之间的匹配成功,则可以组成请求者和提供者进程,即请求者可以重复地与所提供的服务交互请求者将在端口sI调用服务,并在端口sR接收结果RES。12C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)33.2.2匹配.匹配是组成的核心。一个被重用和集成的现有服务,例如集成到一个业务流程中,必须匹配需求,以便允许业务流程完成其任务。• 导入流程模式描述了流程期望如何使用其他服务。• 导出流程模式描述了如何使用所提供的服务这些是编排的业务流程的元素。配置元素与匹配的相关性比编排方面(如交互)更高,后者更面向部署。过程的具体化描述了可观察活动的排序我们使用模拟概念来定义进程匹配。请求的流程是客户端期望提供程序支持的导入流程模式如果在进程集合上存在二元关系S,则提供者进程P匹配(或模拟)所请求的进程R,使得如果当如果RSP和R−m→RJ,则存在PJ,使得P−n→PJ和RJSPJ。这个定义源于π演算的模拟定义[7]。提供者需要能够模拟请求,即需要满足客户端的请求模式。可以将具体服务动态绑定到进程名称。这个定义是关于潜在的相互作用。示例3.2提供的服务流程!(余额+入库+转账)符合流程的预期支持!(Bal+Ldg)。如果Balance/Bal和Lodgement/Ldg对匹配(例如相等签名),则提供程序匹配(模拟)请求的流程。3.2.3连接和互动。组合由两个活动组成:匹配和连接。成功的匹配可以导致服务端口之间的连接。从业务流程的角度来看,具体的服务与抽象的业务流程元素相连接到目前为止,我们一直在研究抽象流程描述的匹配我们现在集中在计算方面的组成。匹配服务的连接现在应该使用操作语义来形式化在组合过程中,我们可以区分一个契约阶段,在这个阶段中,两个过程实例都试图基于抽象描述形成一个契约。连接阶段为服务之间的交互建立连接器通道。我们将以转换规则的形式捕获合同和连接器建立。这使WSF中提供者和客户端的连接形式化-SOAP协议使用的URI之间的对于平行组合m Cm I.C|客户端业务流程的n C(n I).PC. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)313--|--⟨ ⟩defC CI−→−→P我我我1我我1我元素和提供者服务时,两个进程都致力于沿着端口mC和nC之间的(虚拟)信道进行通信。合同规则将匹配和承诺2的过程形式化:mCmIRE qmm;CCP罗恩 (n);PnC(nI)PC I −→C I −→τ符号(n)=符号(m)RE qm 中文(简体)|P罗恩(n);P+MC C−→C-P箭头表示过程的状态转换,要么通过可观察的动作x y和x(y),要么通过内部不可观察的相互作用τ。我们定义复合C-P为νc(c/mI C c/nI P)3,即一种并行组合,其中专用信道C(连接器)替换端口名称。例3.3用户通过端口请求服务(注释RE q)BalanceCReq=RE q BalanceCBalanceI;ReqJ,服务器提供service(annotationPRO)throughportBal Prod=efPROBal(Bal);ProJ.如果请求mI的客户端在服务器端调用服务nI,则会创建连接器,由连接器规则描述:INVmIa,mRCmI a,mRCEXEnI(x,nR);PnI(x,nR)τsign(nI)=⟨我是你,C+ M|E XEn(x,n);P+M−→C-{a/x}P参数数据a和应答信道mR被发送到提供者。参数a取代了P中的x。示例3.4Pro'和Req'的组合 请求者通过交互端口BalanceI调用(IVOKE)服务,这将触发服务器使用参数acc执行(EXE)BallI4服务与过程支持服务开发的理想方法是通过本体技术来支持知识的共享表示-这里是服务描述。我们说明了如何描述和组成的服务流程可以表示在一个描述逻辑,基于Web本体语言。2这个规则不同于π演算反应规则,它要求通道名称相同[7]。我们只要求签名的平等性。π演算的类型系统通常约束发送的数据;我们约束代理之间的交互3置换{b/a}P意味着b置换了P中的a。CC2RR2符号(mI)14C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3∀¬H∃4.1Web服务和流程形式化模型(参见第3节)超出了我们对本体框架的需求,以支持基于服务的软件系统的开发需要本体通过模式和过程的匹配来支持组合,即端口定向和其他交互和编排方面是不相关的,因为它们解决了部署基础设施。因此,本体框架抽象了底层的正式操作模型,定义了开发和部署基础设施。我们将根据描述逻辑[ 8 ]开发本体论框架。描述逻辑作为语义Web的底层逻辑,由于描述逻辑和动态逻辑(程序的模态逻辑)之间的对应关系,在软件工程环境中特别有趣[9]。这种对应是基于量化构造函数(表示概念之间的量化关系)和模态构造函数(表示程序的安全性和活性属性)之间的相似性4.2一个基本的过程本体本体是提供知识描述和推理技术的形式化框架。定义本体的出发点是确定基本的本体元素(概念和角色)代表什么。在这里,本体论将基于过程的形式化,即,基于状态转换的软件系统。• 概念是具有相同属性的对象的类。个体是命名的对象。概念在此上下文中表示软件系统属性。系统是动态的。属性的描述本质上是基于状态和状态变化的基本概念• 角色一般是概念之间的关系在这里,它们代表两种不同的关系。过渡角色以状态上的可访问性关系的形式表示服务操作,即。它们表示导致状态改变的服务描述性角色表示状态的属性,例如服务名称和描述或前置和后置条件(如果它们是描述格式的一部分)等不变描述• 构造器允许以概念描述的形式构造更复杂的概念。经典的构造函数包括合取和否定。混合构造函数基于概念和角色。构造函数R. C对偶R. C被称为存在量化。C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)315字面servDescr字面servName∀|◦∀∀ ∀⇔签署inSign预后outSign签署inv操作...见图4。 服务过程本体在图4中,示出了服务过程本体。状态是一个抽象的概念,它通过诸如不变和可变状态属性(形式条件,文本描述等)的概念角色,以辅助域的元素来描述。两个基本的状态概念是前状态和后状态,它们表示服务流程转换的抽象前状态和后状态(不要与前条件和后条件混淆)。比如说,取消签名。int通过关联输出签名int指定一个后状态。在本文中,我们使用描述逻辑符号,例如。 对于给定的概念pre,我们可以约束输入签名inSign。(int,int)。这种表示法等价于一个三元组表达式(pre,insign,(int,int)),它将在RDF(OWL基于RDF)中使用4.3表演和编舞介绍了基于描述逻辑的本体中基本服务的表示方法。然而,捕获服务流程及其组合的本体需要扩展经典描述逻辑[8]。到目前为止,角色– 表示服务操作-是原子的。我们定义组合器';','!'、"和“+”分别作为服务流程的顺序组合、传递闭包(迭代)、交集(没有交互的并行组合)和并集(非确定性选择)的角色构造器。我们也使用顺序合成来强调角色的功能角色构造器允许我们将过程描述和组合集成到本体框架中。 描述逻辑表达式∀ !(余额+住宿+转账).post描述 一个过程。公理和推理规则允许我们在逻辑中捕获与活动相关的例如,R. S.CR;S. C是描述逻辑运算符和角色表达式组合子之间转换的公理我们需要将数据和过程参数集成到逻辑中。我们以名称的形式引入数据。名称代表单个数据元素。• 我们用一个角色nN来表示一个名字n,用一个恒等关系来解释{(nI,nI)}对于n的解释nI。• 运算R是定义域D的参数化角色RID× S × S16C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3⟨ ⟩◦⟨ ⟩±一个名字和国家S。• 应用于名称nN的参数化角色R,这里表示为身份关系,即RnN,形成过渡角色,即RnNS×S4.例4.1给定一个过渡角色Login和一个过渡角色outSign,表达式为:发出信号; bool意味着通过执行Login_N(i dN,pw dN),获得由布尔结果值描述的状态。 术语登录名(idN,pw dN)是一个组件角色表达式,其中标识符idN和pwdN是常量角色(名称)。在前面,我们区分了端口的方向,即。我们有不同的输入和输出动作,分别是s(x)和s x这些对于与实际服务提供者的互动非常重要由于流程的匹配在这里只涉及控制流程模式,我们在这里忽略这个区别,即复合角色sx抽象了s(x)和s x。交互不需要在本体论上建模4.4组成支持4.4.1匹配.包含是描述逻辑的核心推理技术概念的归约C1± C2是相应对象类的子集关系。同样,我们定义了角色R1± R2的包容。 我们以预期的方式定义服务流程匹配。一个进程P(n1,.,n k)匹配过程R(m1,.,m 1),如果P(n1,.,nk)模拟R(m1,.,m 1)。然而,对角色的包容是面向输入/输出的,而模拟需要考虑复合角色执行的内部状态。 对于流程中的每个请求,都需要提供相应的服务。虽然不一样,匹配是包容的充分条件。如果过程表达式P(n1,...,n k)模拟过程R(m1,...,m l),则R P。匹配可以由构造性公理在本体论上支持[10]。4.4.2连接和互动。我们已经制定了流程演算风格的合同和连接器规则的形式互动的操作语义。在本体方面,服务到目前为止被描述为过渡角色,我们考虑了描述服务(和流程)属性的系统状态,例如前状态和后状态,以定义过渡流程行为。我们正式组成和互动的本体框架,通过推理规则。为了解决互动问题,我们需要研究一个特殊的[4]当从上下文中可以清楚地看到一个名字被引用时,我们去掉N-post fix。C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)317第一章τ∀ ≡ ∀ ∀一种平行的成分转换。这种转变是基于通过数据交换同步并发服务。我们可以描述两个服务之间交互的特性,这里是没有注释和匹配约束的合同规则的重新表述,MCmIM mmC−→pmCnC(nI);pnC(nI)nC−→pnCmCmI;pnC+M1|nC(nI);pnC+M2 −→pmC -pnC根据本体语言,通过推理规则:卡姆卡姆岛 我是金金一。postnC金金一 世|金岛postmCHpostnC这个并行组合的规则补充了我们可以从动态逻辑和过程演算中推导出的其他构造器特定的公理和规则,例如序列的公理p;q.Cp. q.C。这些公理和推理规则形成了描述逻辑的特定于应用程序的扩展,使我们能够推断出有关服务流程及其交互的更多属性。5相关工作服务的组成是一个活跃的研究领域[3,4,11]。特别是,需要解决的组合上下文的语义已被确认。在[3]中,基于OWL-S(一种丰富的服务本体,以前称为DAML-S)作为底层服务本体[13],提出了一种用于服务组合的本体框架 它们的应用领域是网格服务上下文和基于知识的建议系统。OWL-S在过程模型上与我们的本体框架不同。OWL-S将服务表示为本体中的概念,而不是转换。因此,通往动态逻辑的桥梁不能以我们提出的方式利用。在[4]中采用了另一种基于OWL-S的方法在这里,逻辑的一面得到了加强。将OWL-S描述转化为线性逻辑,提出了一种基于逻辑规划器和语义推理器的体系结构最终的目标,在我们的推理逻辑为基础的方法,是利用逻辑推理的服务组合。我们的方法不同于所讨论的基于OWL-S的方法和其他服务本体,如WSMO [12],因为本体模型以更内在的方式捕获服务和流程OWL-S和WSMO处理更广泛的属性,这表明这些方法与我们的组合框架相结合。我们的目的是反映当前的讨论配器和编舞在我们的技术和本体论模型18C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)3语义Web服务是我们的方法需要涉及的一个主题 OWL-S [13]和WSMO[12]是支持语义描述服务匹配的本体框架的例子。两者都关注于服务的语义描述,包括抽象描述、服务质量方面和功能抽象(如前置条件和后置条件)。我们可以使用前置条件和后置条件作为端口的抽象,支持契约式设计方法[14]。动态逻辑是一个合适的逻辑框架,它包含了前置和后置条件规范[15]。描述逻辑和动态逻辑之间的连接使我们能够将这些契约轻松地集成到我们的框架中。与签名类似,我们可以将(描述性的)前置条件和后置条件角色分别关联到前置状态和后置状态如果请求者的前置条件被削弱而后置条件被加强,则由前置条件和后置条件描述的、由合同端口nC和mC表示的同样,我们需要集成关于服务匹配与包容的推理Subsump- tion被解释为满足前或后状态描述的状态集上的子集关系我们提出了一个匹配推理规则的过渡角色我们定义匹配规则预处理前条件我的天postState.postP前P±前R,RH P前的预处理条件postState.postR过渡角色P和R。这种形式的匹配意味着包容,但并不相同:如果服务P匹配R,则P±R。6结论将软件系统组织为面向服务的体系结构是一种新的体系结构范例。Web服务框架是目前支持这种范式的最重要的平台。为了使范例作为软件开发方法更成功,对部署、调用和响应的关注必须转向更多的重用和组合。服务重用是我们的目标之一;可重用服务的流程组装是此上下文中架构组合的原则我们所需要的是一个组件式的服务组合框架,我们已经开发了一个正式的框架工作的基础上本体(和底层逻辑)和基于流程的服务组合,适用于语义Web和Web服务平台。我们在这里已经看到了这样一个框架的核心方面C. Pahl,Y.Zhu/Electronic Notes in Theoretical Computer Science 151(2006)319正式处理超出了本文件的范围。我们学到的一个教训是,需要一个面向服务的体系结构的全面的正式框架来处理可预测的组装、重用、维护以及变更和演化管理。我们认为我们的贡献是基于服务的软件开发和部署方法的一部分引用[1] G. Alonso,F.卡萨蒂,H. Kuno和V. Machiraju。 Web服务Springer-Verlag,2004.[2] W3C -万维网联盟。Web Services Framework. http://www.w3.org/2002/ws,2004年。(2005年4月8日访问)。[3] L. Chen,N. Shadbolt,CA Goble,F. Tao,S.J. Cox,C. P.R.,P.R. 聪明 基于知识的语义服务 组 合 方 法 。In D.Fensel , K.P. Sycara , and J. Mylopoulos , editors , InternationalSemantic Web Conference ISWCSpringer LNCS 2870,2003年。[4] J. Rao,P. Ku ngas和M. 马茨金基于逻辑的Web服务组合:从服务描述到过程模型。在2004年国际Web服务会议ICWS中,第446-453页IEEE Press,2004.[5] C.佩尔茨Web服务编排和编排:WSCI和BPEL4WS一瞥。Web Services Journal,3(7),2003.[6] C. Szyperski。 组件软件:超越面向对象编程(第二版)艾迪生-韦斯利,2002年。[7] D. Sangiorgi和D.沃克π演算剑桥大学出版社,2001年。[8] F. Baader,D. McGuiness,D. Nardi,and P.P. Schneider,editors. 描述逻辑手册剑桥大学出版社,2003年。[9] K.席德术语逻辑的对应理论:初步报告。第12届国际人工智能。1991.[10] C. 啊。一种用于软件复杂性匹配的本体。InM. Pezz`e,编辑,P roc。FundamentalApproaches to Software Engineering FASESpringer-Verlag,LNCS 2621,2003年。[11] R. Zhang, I.B. Arpinar 和B. 阿 莱 曼 · 梅 萨 语义 Web 服 务 的自 动 组 合 。 在 Proc.InternationalConference in Web Services ICWS2003年。[12] R. Lara,D. Roman,A. Polleres和D.芬塞尔WSMO与OWL-S的概念比较在洛杉矶- J.Zhang和M.Jeckle,编者,欧洲Web服务会议ECOWS 2004,第254史普林格出版社LNCS 3250,2004年。[13] DAML-S联盟。DAML-S:语义Web的Web服务描述。在重症Horrocks和J.Hendler,editors,Proc. 第一届国际语义网会议ISWC 2002,LNCS 2342,第279-291页。Springer-Verlag,2002.[14] 伯特兰·迈耶。合同设计。计算机,第40-51页[15] D. Kozen和J. Tiuryn。程序的逻辑。在J.van Leeuwen,编辑,理论计算机科学手册,B卷。爱思唯尔,1990年。[16] A. Moorman Zaremski和J.M.翼软件组件的规格匹配。美国计算机学会软件工程与方法学报。,6(4):333
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功