文摘
我们识别重要的弱点在最初的抽象状态机(ASM)基于Web服务的编排算法建模本体(WSMO),这使它不切实际的使用语义Web服务编排引擎。我们提出一种改进算法,修正原算法的弱点,以及一个实用,功能齐全的编排引擎实现Flora-2基于改进算法。我们的改进编排算法包括(i)的连接初始状态的ASM的前提目标,(ii)的最终状态的概念引入ASM的执行及其连接的后置条件的目标,和(3)修改ASM的执行,以便它停止最后的状态时,条件是满足当前配置的机器。我们的编排引擎作为输入语义web服务规范F-logic Flora-2方言的书写。此外,我们证明了等价的asm(进化代数)和本体进化在某种意义上,一个可以模拟另一个,第一次在文学。最后,我们提出了可视化编辑器有助于我们F-logic的设计和部署基于web服务规范和目标。
1。介绍
使用面向服务的体系结构(SOA)的概念形成的IT基础设施进行b2b交互获得了很多的关注在过去15年。在这种背景下,研究了服务组合在许多研究和分析。两个重要的和互补的方面的服务组合服务编制和服务编排。
服务编排的过程协调两个或两个以上的服务目的指引他们特定的任务的完成在一个集中的方式。然而服务编排(如[指出的1- - - - - -3])研究人员没有一个独特的理解。在业务流程建模(BPM)社区,编排称为通用预定义的协作场景应该同意和遵守由两个或两个以上的web服务,以实现业务目标,不存在一个中央协调器(与编排)。编排引擎检查是否参与者传递正确的信息在正确的时间,以正确的顺序编排设计师指定的(4]。在这种范式,编排被认为是全球合作,而不是服务请求者和服务提供者之间的双向互动。
全球协作视图建模语言的基础如WSCI [5],ws - cdl [6],BPEL4Chor [7,8),让我们跳舞(9),多代理协议(地图)10),而(11]。这种类型的编排语言的主要共同特征(我)过程驱动:服务是建模为过程由一系列的里程碑,(2)没有角色目标:没有一个服务请求者的概念,(3)staticity:整体在设计时指定的事件序列,(iv)nonsemantic:没有本体,这是一个语义系统的主要特征12),(v)没有任何推论能力。
相比之下,编排的概念之间的语义web服务开发人员理解的行为接口单web服务与客户交流时(所谓的目标),这导致一个自动、灵活的对话(对话框)。换句话说,这是两个之间的隐式通信协议(只有两个)同行应该动态地进行以实现对话。编排引擎的作用是动态控制谈话,看看是否成功与否。这个概念已经被命名为编排接口在[13]。
在本文的其余部分中,我们使用术语编排只有在语义网络的意义。我们的工作也将严格的语义web视图中编排,因此没有直接与编排语言改编的BPM社区。
完全自动化服务编排,还需要明确的、计算机可加工的语义可用于自动推理(13]。一个著名的语义web服务框架的web服务建模本体(WSMO) [14]。在WSMO,规范和行为的服务提供者(web服务)和服务请求者(目标)描述使用丰富的语义符号。WSMO编排是一个组件WSMO吗接口处理WSMO-based web服务的编排和目标。
尽管WSMO其编排算法基于的理论抽象状态机(asm) [15,16),该算法小于非常适合手头的工作。事实上,我们的文献检索未透露任何编排引擎实现它完全按照指定。例如,当前实现(比如WSMX [17]和IRS-III [2])并不完全遵守ASM理论。我们自己的调查算法揭示了某些重要的缺点使它不适合驾驶正确的目标之间的相互作用和web服务编排,并有助于解释其缺乏适当的适应现有编排引擎实现。
在以前的工作18),我们使用F-logic [19为WSMO]能力web服务的规范和目标。能力包括pre -和后置条件web服务和目标。功能使用服务发现阶段。在当前的工作中,我们关注WSMO接口,主要包括编排规范和使用服务交互阶段。我们的主要贡献在这里可以概括为(i)整流原ASM-based编排算法,(ii)提出一个F-logic规范WSMO目标和web服务编排是一种有效的替代现行规范在上20.]和OCML [21),(3)实施纠正编排算法Flora-2 [22,23asm)的新工艺,坚持理论(在其他实现失踪),(iv)验证Flora-2引擎实现通过一些现实的场景中,(v)开发可视化编辑器,以促进语义web服务的设计和部署的一个子集Flora-2语言,我们作为规范语言,和(vi)的等价证明asm(也称为进化代数(24])和(通常称为WSMO编排规范发展的本体(25他们之间])通过提供适当的映射。
本文的其余部分组织如下。节2简要解释,预赛,包括ASM理论,F-logic, Flora-2, WSMO编排的概念,需要理解后面的部分。节3,我们给现有WSMO编排执行算法,指出其缺点,提出一个修正版本。节4目标的一般形式和F-logic web服务规范,以及改进算法的实现细节,工作规范。节5,我们提供一个现实的编排的例子和解释。部分6讨论,我们描述如何选择Flora-2作为规范语言有助于解决可能发生的数据粒度不匹配问题和目标之间的web服务。部分7包含相关工作编排规范、匹配和执行,与我们的方法进行适当的比较。最后,在节8我们的结论和未来的研究方向。在附录一个补充材料,我们说明了开发可视化编辑器的语义web服务规范的一个子集Flora-2。在附录B补充材料,我们给web服务和目标规范语法的EBNF [26]符号。附录C补充材料中包含七编排场景示例,演示的功能提出编排规范和引擎。附录D补充材料中包含的描述中使用的谓词的实现,这本身是可供下载(27]。最后,在附录E辅料我们描述一个方案将JSON内容转化为Flora-2等价,此举将有助于接地Flora-2指定语义web服务到RESTful web服务。
2。预赛
在本节中,基本的概念已被用于这项工作简要回顾。
2.1。抽象状态机(ASM)
asm或进化代数维奇(首次引入的15,16]。ASM理论认为,每一个算法可以建模为一个循序渐进的进化系统主要包含两个组件:一个国家签名代表系统的当前状态和转换规则的有限集,确定下一个基于当前的系统状态。有限状态机(FSMs) [28)可以被看作是asm的特定实例。asm是一个重要问题,并行转换规则应用在每个进化步骤,分为三种类型:如果规则(其他),forall-rule,choose-rule(29日]。
asm一般分为基本asm和可替换主体asm。这里的讨论是基于基本的asm,类似于WSMO配置和扩展基本asm模型编排。在WSMO进化本体(ontologized ASM [30.])是用来代表编排的状态,而不是asm的进化代数。事实证明进化本体相当于进化代数,我们证明这个部分3所示。2。关于asm的进一步阅读,读者被称为(24,31日,32]。
2.2。WSMO和WSMO编排
Web服务建模本体(WSMO)是一个全面的框架,它的目标是使自动服务发现、调用,并组成(14]。它确定了四个主要概念在语义面向服务的体系结构:本体(提供了常见术语之间的目标和web服务),web服务(模型的web服务的功能在一个较高的,语义级别),目标(模型客户机在一个较高的要求,语义级别),和中介(解决不同类型的可能不兼容,包括过程和术语的,目标和web服务之间)。
反过来包含web服务的概念非功能属性,本体,介质,能力,接口元素。的功能WSMO所描述的web服务能力元素包含前置条件、后置条件,假设,效果。先决条件指定web服务需要从目标才能开始执行。后置条件指定web服务可以提供给客户端(即。在成功完成其执行、目标)。一个ssumption是世界的状态,必须成立之前,可以调用web服务。效果引起的变化(s)是世界的状态通过web服务的执行。WSMO web服务担保后置条件和效果,如果其前提和假设是正确的。这个特性WSMO web服务用于自动发现的目的。
编排web服务的一部分吗接口元素指定行为交互的web服务的客户机。
2.3。F-Logic
介绍麻醉品和Lausen框架逻辑19)或短F-logic相结合的形式一阶逻辑和面向对象范型(19]。配备谓词演算(33],F-logic容易模型概念、事实、规则和特殊本体非常时尚和被认为是rule-integrated本体论的声明式语言(34]。在F-logic类和子类被建模为概念和subconcepts,分别。同时,数据成员是由属性及其分配值。详细讨论F-logic可以在找到35- - - - - -37]。
2.4。Flora-2
Flora-2是一个强大的、基于F-logic集成系统,HiLog [38,39),和事务逻辑40]。它提供了语法类似于F-logic和通过使用XSB推论引擎[41),它可以在事实和知识推理F-logic或HiLog表示。的种类和多样性谓词逻辑和运营商Flora-2强大的推理系统。此外,Flora-2不断扩展和发展(42,43),它可以通过提供的集成与Java api (44]。我们使用最新版本的Flora-2 [22)实现一个新的语义web服务编排引擎。
2.4.1。Flora-2语法总结
在表1,一些Flora-2更加突出结构的语法,在编排引擎实现中,我们使用。
2.4.2。Flora-2主要,内置和用户模块
Flora-2保持知识的逻辑存储的地方命名的模块。默认情况下,所有的信息和知识存储在主要模块。用户可以创建任意数量的独立的模块(称为组织知识用户定义的模块)。Flora-2也内置的模块包含预定义的谓词,如∖prolog模块,有用的Prolog [46)实用程序谓词。
3所示。在WSMO ASM-Based编排
WSMO编排的灵感来源于ASM的基于状态模型理论。编排工作小组选择了ASM因为以下特性47]:(我)最小化:asm是基于一个小分类建模原语。(2)表现性:asm可以任意的计算模型。(3)形式:asm表达动力学提供了一个正式的框架。
此外,ASM的进化的步骤逐步匹配的性质及其用户的web服务之间的交互。
ASM理论应用在实践中,WSMO编排作者修改Basic-ASM概念在几个方面。签名的概念在ASM取代WSMO本体的概念,其中包括概念,属性,关系,公理。动态的概念功能在ASM已经取代了实例及其属性值的动态变化,有效地取代进化代数的概念(15)通过进化的概念本体(25]。这个替代,但是,还没有正式证明到目前为止,所以在部分3所示。2,我们的等价证明进化代数和发展的本体填补这一空白。
3.1。规范WSMO编排的
在WSMO编排的概念有四个组成部分:nonFunctionalProperties,stateSignature,状态,transitionRules。nonFunctionalProperties指非功能属性的编排,如作者、创建日期、和其他的元编排,详细描述(48]。
3.1.1。模式的概念
模式用于定义精确的关于概念的实例的访问权行使的环境(客户端在这种情况下)和机器(web服务在这种情况下)。五个模式中定义WSMO编排,即静态,控制,在,共享,出控制读写访问的机器和环境。表2总结了每种模式的封装效果(14]。
3.1.2。状态
国家WSMO编排组件表示的动态部分正在进行编排,由实际对象实例,即概念的实例,以及实例的关系。国家改变了通过新实例的插入,删除实例,或更新属性值的概念实例。
3.1.3。转换规则
在WSMO过渡的形式规则以下表达式:(我)如果警卫然后做规则。(2)原则,变量与警卫做规则。(3)选择变量与警卫做规则。
(我),保安应任意逻辑公式没有自由变量;如果警卫是正确的,那么在其右边的执行规则。在(2)中,变量列表原则,应该是免费的警卫和这些变量的范围扩展到右边的规则。为每个变量值,警卫变得真实,右边的操作并行执行。(iii),只有一个实例化的自由变量在警卫(随机选择),右边的操作执行(49]。
按照原来的ASM定义,所有规则在顶层,以及规则在右边,是并行执行的。注意,在的情况下原则,规则,额外的并行性是通过上市后的不同实例化变量原则,关键字。
规则在右边,也叫行动分为三个基本更新功能如下:(我)添加一个事实(2)删除一个事实(3)更新一个事实(改变属性的值)。
3.2。进化代数之间的关系(asm)和本体进化
在ASM理论中,函数可以部分也会随着时间的流逝而发展。为一个函数,其先前的范围不仅可以改变,但也没有映射到值的域的成员在上域函数可以被映射到一个值在稍后的阶段。例如,如果f (a)是1,f (b)是2,f (c)是未定义的,一段时间后(根据转换规则)f可能会改变的方式f (a)仍然是1,但f (b)映射到3和f (c)映射到4。
本体进化处理对象、属性和属性值,以及关系。系统在给定时刻的状态是由对象存在的那一刻,每个现有对象的特定属性的值,和实例的关系。本体进化的插入/删除对象和关系,以及更新对象属性的值。
事实证明,进化代数和不断发展的本体实际上是相当于对方在这个意义上,通过适当的映射,编排引擎可以模拟ASM,反之亦然。下面,我们给出一个简短的正式定义的抽象状态机、进化本体,和两者之间的映射,让每一个来模拟。
定义(50]。ASM的状态,域(也称为宇宙)包含数据,与函数定义的域。的superuniverse是所有领域的结合。关系作为布尔值函数和域和特征函数(例如,交替使用 ,然后= True)。一个词汇表 是集合函数的名字。Nullary函数名(参数为零)常量。这一对 ,在哪里是一个函数名和函数可以应用于参数,称为位置。假定每个ASM词汇包含静态常量undef,真正的,假。一个状态 的词汇包括(我)superuniverse的(我们称之为或)和(2)解释函数的名称。对于任何必要函数名在 ,它的解释是一个函数的成 。如果是一个常数 , 是一种元素的 。undef是默认值代表和不确定的对象。的概念条款,公式,替换,量词,逻辑连接词,解释术语和公式是一模一样的一阶逻辑。每一个状态是一个代数在数学意义上的词,除了,在 , 是允许的(即。,函数tions can be partial). Furthermore, as the ASM is executing its transition rules, function interpretations can change over time, leading to the term进化代数。但是我们应该注意到,asm的更新规则的形式 ,这两个函数的参数和结果应用程序条款,而不是值在 。从逻辑编程的角度来看,我们使用术语来表示数据,我们可以合理的假设只不过是 ,海尔勃朗宇宙(即。,the set of all ground terms) [51),和功能真的(元组)映射到其他方面 。
在本体论方面,我们有概念(类在编程语言的说法),实例(也称为个人)的概念,属性用于描述属性的情况下,关系彼此相关的实例公理(逻辑语句,说什么是正确的域的应用程序)。是一组概念,的所有条款, 是对象的集合identifıers表示实例,是关系的集合名称,然后呢是属性的集合。这个词发展的本体是因为更新规则用于改变对象属性的值并添加/删除/的关系或概念实例工作记忆获得一个修改后的工作记忆。完整的工作记忆内容代表一个州。
3.2.1之上。仿真通过ASM编排引擎执行
一种观点的成员与域功能吗和域 ;也就是说, 。自 ,这也是事实 条款如果 然后 ;也就是说,没有定义的元素不是在 。对于任何本体属性设置 ,编排的行动执行引擎可以模拟ASM和词汇 。表3给行动是由一个模拟的ASM编排引擎执行。记住,asm的谓词可以表示为布尔值函数。
定义1。ASM状态据说对应于一个本体论的状态敌我识别(我)每当 和 和b (c - >)是真的在 ,然后 和 在 ,(2)每当 和 是真的在 ,然后 和 = True在 。
定义2 (ASM)的移动。 ~ >表示一个步骤ASM时的移动文摘状态来文摘状态 。 ~表示一个ASM的事实文摘状态来文摘状态在动作。
定义3(移动的编排引擎)。 =表示一个步骤编排引擎时的移动本体论状态来本体论状态 。 =表示,从编排引擎本体论状态来本体论状态在动作。
定理4(模拟ASM编排引擎执行的操作)。让 ASM和状态是一个本体论的状态。让 。如果对应于和 =然后 ~和 对应于 ,提供的每个动作编排引擎取代了其相应的行动中指定的表3。
证明。简单的归纳可以做执行的一系列举措,编排引擎(省略)。
3.2.2。模拟ASM通过编排引擎执行
可以模拟任何ASM的执行编排引擎使用本体进化。功能的要求是需要表示的本体。在前一节中给出的反向映射3.2.1之上(即。,每当 在然后- >是真的在)并不总是工作,因为一个函数必要, 。一种可能性是ASM的函数映射到本体的关系。具体地说,每一个可以认为是ASM的必要功能 必要谓词的本体。另一种可能性是一个对象函数作为属性名称,地点,与位置相关的价值属性的值。例如,如果 在ASM- >本体论是其代表。我们使用第二种方法,因为我们可以在一个原子的方式更新对象,但关系实例没有可更新在一个步骤。
定义5。一个本体论的状态据说对应于ASM状态敌我识别每当 和f 在年代一个然后 和 和- >是真的在 。
定理6 (ASM的模拟执行编排动作)。让 是一个本体论和状态ASM是一个国家。让 ASM的位置}。让 。如果~和 对应于然后 =和 对应于 ,提供的每个操作ASM取代了其相应的行动中指定的表4。
证明。简单归纳可以做上执行的一系列举措,ASM(省略)。
3.3。在WSMO编排匹配算法
WSMO编排的原始算法编排界面运行的验证。因此,它只提供了间接的操作语义的编排引擎应该如何运行。为了完整性,它给出的算法1,完全是在49]。在该算法中,一个集更新不一致如果它包含了一个同时相同数据的插入和删除;否则它是一致的。一个运行终止如果()有一个更新与 , ,和这样不是一致的关于 ,或(b)有一个更新与 , ,和这样 ,在那里表示动作中指定更新后获得的状态集合实现。
|
||||||||||||||||||||||||||
3.4。WSMO编排算法的问题
提出的算法部分3所示。3验证编排运行是否有效的角色没有解决web服务的客户端。事实上,根据定义,编排web服务的交互行为建模应该从客户机的角度来看,这并不是真正的解决的算法。
这个算法有三个主要缺失的成分,使其不完全指定客户端与web服务交互的方式。(我)编排规范的目标是完全忽略。(2)目前尚不清楚什么初始状态()。在编排的背景下,应该是世界的状态,客户机可以提供一起作为输入通过其组件的先决条件。(3)它的终止条件发生时没有采取有效的行动,或者当它达到一个稳定状态,也就是说,没有更多的当前状态变化是可能的。终止运行,然而,不允许一个得出任何结论的适用性给定的web服务客户机,因为它可能不满意客户需求的状态运行终止(无论终止的原因是)。另一方面,假设一个运行是无限的,但与此同时执行的中间状态达到满意的从客户机的角度来看,此时应该停止执行。这强调了这样一个事实,目前算法忽略了明显的联系能力所要求的目标和web服务编排。
目前的算法无法确定客户端和web服务兼容可以概括的观察之间没有建立正式关系的客户提供的初始状态和编排,以及客户端和终止条件的要求。
这些算法的缺陷纠正部分3所示。5(我)考虑客户端编排规范除了web服务编排规范,(ii)之间建立连接世界的初始状态+提供的输入端和初始状态,和(3)的定义是什么成功的运行是考虑到客户的需求。
3.5。改进编排执行算法
在本节中,修改后的算法编排执行提出了矫正缺陷识别原始算法给出了算法1。纠正算法(算法2)考虑目标的前置和后置条件,使其停止当目标可以满意当前状态。最初的含蓄一直是为了突出差异更好。
|
||||||||||||||||||||||||||||||||||||||||||
算法从一个初始状态组成的隐含的事实和实例的目标前提下,事实,实例,和公理的本地状态web服务,以及事实,常见的本体中包含的实例和公理。值得注意的是,我们注意到的概念有效的编排接口运行所取代成功的编排接口运行。在每个迭代中,计算更新设置,并提供它是一致的1,下一个的系统状态是通过应用程序操作的更新设置。编排的执行引擎最早成功终止状态逻辑意味着目标后置条件。其他任何终止意味着失败和可能发生如果(我)执行引擎达到稳定状态(即。,the state remains unchanged by the application of the transition rules) which does not logically imply the goal postcondition, or (ii) the update set is not consistent at any stage, or (iii) a state is reached that is not consistent with the common ontology.
改进算法与原算法之间的差异突出:的概念有效的编排接口运行,表示对web服务的实际适用性来满足目标需求,是废弃的成功的编排接口运行,它确实给有用的信息关于这样的适用性。系统的初始状态输入提供的直接链接目标的先决条件,反映实际的情况在现实世界中,和最终状态是直接相关的后置条件的目标。因此,它不仅成为可能显示一个web服务可以满足目标的要求,但也有实际的客户端(即序列之间的交互。、目标)和web服务导致这样的满足感。此外,目标和web服务编排规范参与编排执行运行。
鉴于目标和web服务的语义规范,以及进口本体,编排引擎的工作是确定如果一个成功的运行是可能的。
4所示。实现在Flora-2改进编排算法
在本节中,我们提出的规范语义编排和Flora-2改进编排算法的实现。测试在Flora-2 Reasoner 1.2,可用自2017-01-30(转速:1258 b) [22),运行在微软Windows 7(64位)。
下面是用于解释条款在以下部分:(我)工作记忆(WM)是主要的地方来存储状态的编排。它使整个知识产生的编排在实时运行。知识可以收缩、扩展和改变。(2)编排轮动作的顺序:(i)从WM的当前状态,(2)确定哪些规则适用于当前的状态,(3)确定更改WM的应用这些规则将导致,及(iv)情况下是没有矛盾的变化(稍后解释),实际实现这些变化在当前WM,导致一个新的WM。(3)三角洲工作记忆(ΔWM)是一个临时存储的地方在WM在每个动作进行编排。
4.1。在Flora-2语义规范的目标和Web服务
如WSMO Flora-2规范目标和web服务是由元素组成的本体,能力,编排。本体包含帧和关系代表web服务和使用的知识的目标。能力元素包含两个子元素,精准医疗和帖子,这代表了前置和后置条件。前提的目标可以包含nonnegated框架和关系的连词。后置条件的目标可以是一个F-logic表达式(包括所有逻辑连接词)。后置条件的web服务可以包含nonnegated框架和关系的连词。前提的web服务可以是一个F-logic表达式(包括所有逻辑连接词)。注意相似目标的先决条件和后置条件之间的web服务,以及目标的后置条件之间的相似性和web服务的前提。编排过渡元素是由一组规则。每个规则规定ruleId:ruleT特点- >ruleBody。的目标的ruleId在形式的gRule(OID)和web服务的ruleId在形式的wsRule(OID),在那里OID是任何Flora-2对象标识符和规则作为标签。ruleType可以是ForallRule或ChooseRule。ruleBody是一种具体化Flora-2含义显示的吗if - then(其他)2声明。这意味着前期(我们称它为左边)可以是一个F-logic表达式,和言外之意的(我们称它为右边)包含一组更新功能(操作)。盒子1描绘了一个目标规范的一般形式。web服务的规范也是类似的。
附录B在补充材料包含目标的EBNF语法和web服务规范。
4.2。建议的体系结构
在本节中,我们描述我们的编排引擎的体系结构。
4.2.1。准备系统的模块
我们Flora-2实现编排算法利用解决方案主要模块和两个Flora-2用户模块:WM保持当前状态的编排和签名DeltaWM为保持操作修改当前状态到一个新的状态。的主要模块包含概念的声明、实例和他们提供的web服务和目标模式,以及编排引擎的代码。这三个模块(例如,主要,WM,DeltaWM)相互连接,如图1。
4.2.2。三角洲工作记忆(ΔWM):实现ASM并行
辅助和瞬态用户模块命名三角洲工作记忆(ΔWM)是用于暂时保持单个编排一轮更新操作,应该应用于主要以知识为基础(WM)。在每个编排,所有的更新都聚合到ΔWM然后ΔWM检查是否存在之间的矛盾所请求的操作(下面解释)。如果没有发现矛盾,那么所有的更新进行WM,演变成一个新的无冲突的状态。
4.2.3。确定的编排和矛盾
如前所述,转换规则并行必须应用。无一致性检查,规则可以做相互矛盾的行为,应该避免。
可能发生的三种矛盾在一轮编排如下1]:(我)同时插入和删除/更新相同的知识(2)更新知识,并不存在(3)删除的知识,并不存在。
很明显,这种矛盾的行为必须检测并编排必须停止执行。在不存在的知识的情况下,是没有意义的,删除或修改它。对于同时插入/删除相同的知识,如果编排继续运行,然后变得不确定的以一种意想不到的方式:虽然理论上并行更新完成,在现实中他们必须以串行的方式完成,和他们的顺序会导致不同的WM状态。
在每个编排,除了测试上述问题,检查任何违反(解释部分模式的概念3.1。1)执行。如果其中一个参与者想要做一个行动的一个概念,它违反了概念的访问模式,操作是预防,导致编排执行失败。
4.3。编排引擎的主要谓词3
主要过程是通过调用开始 开始谓词清单所示1。编排引擎执行开始调用 初始化谓词(2)行,目前重置随机数生成器的种子,用于处理选择规则类型。线(3),目标和web服务规则违规编排轮开始之前检查模式。(4)和(5),该模块WM和DeltaWM如果他们不创建已经存在。线(6)和(7),局部本体的目标和web服务被加载到WM。线(8),加载到WM目标前提,成为编排的初始状态的一部分运行,紧随其后的是一个叫谓词 runChoreogarphy联机(9),试图满足目标后置条件通过重复应用目标和web服务转换规则。
|
||||||||||||||||||
runChoreography实现了改进编排算法给出了部分3所示。5,采用递归迭代。的定义% runChoreography谓词给出清单2。它首先尝试证明WM目标后置条件与当前状态的线(1)- (3);削减()操作符线(2)防止回溯并显示一条成功消息给用户线(3)。如果目标后置条件没有满足,那么第二个定义 runChoreography叫做:ΔWM清空线(5);web服务和应用目标规则,用等待填充ΔWM WM要执行的操作((6)和(7)行)。线(8)-(11),ΔWM检查的一致性((8)行)以及是否等待行动的结果在一个新的国家的WM((10)行)。在WM不一致的更改或没有变化,防止无限递归和停止执行一条失败消息报道((9)和(11)行)。否则,行动ΔWM应用于WM获得更新的WM((12)行),这个过程重复通过递归调用 runChoreography((13)行)。
|
||||||||||||||||||||||||||
4.4。(解雇)运行规则
asm的关键特性之一就是并行规则应该被解雇。我们意识到这一点,把所有的插入、删除和更新操作在右手边的规则匹配当前WMΔWM,检查他们的一致性,然后运用他们前面的WM得到更新的WM。谓词 deltaInsert, deltaDelete, deltaUpdate代表WM试探性的改变,不实际的,直到被证实为不产生任何冲突。
清单3包含谓词用于运行目标和web服务的规则。的Flora-2为了回应操作符用于遍历所有规则编排规范(线(2),(5),(9)和(12))。在的情况下原则,规则,如果规则前期只包含地面事实,ASM模型if - then转换规则类型。如果前提包含自由变量,它就像ASM原则,转换规则类型。在的情况下选择规则,谓语 invokeChoose随机选择一个地面自由变量的实例中存在的规则的前提。
|
||||||||||||||||||||||||||||||
4.5。矛盾在应用规则
检查矛盾的行为是由谓词的定义实现 矛盾的在清单4。在线路(1)-(3),同时检测到相同的条目的插入和删除;(4)-(6)行,删除一个不存在的项目检测;最后在线路(7)-(8),更新检测到一个不存在的项目。
|
||||||||||||||||||
4.6。不同类型的对象的访问控制
asm为对象定义访问控制模式操作。在实现中,这种访问控制实施了检查是否一个给定的操作是合法的。这取决于演员的操纵。例如,如果一个对象在模式,然后只有一个目标可以改变其属性。当调用规则属于目标或web服务,访问对象的合法性验证在实际行动之前。
清单5描绘了一个部分的访问控制的实现目标。之前的规则是对当前WM测试,其概念和用户谓词在左边和右边是通过提取 extractConcepts, extractPredicates, filterOutPredicates谓词((4)-(6)行),和访问权限的目标是通过验证的概念 checkAllFramesModes和 checkAllPredicatesModes((7)、(10)、行(18)和(21))。如果一个概念的右边是一个规则,目标必须写访问。另一方面,如果是左边,只有只读权限就足够了。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkAllFramesModes((24)(27)行)检查模式提取帧通过调用的列表 checkFrameMode(定义在(28)(31)行)。在失败的情况下,错误消息生成线(32)(35)。
谓词的完整列表和他们的解释是在附录D补充材料,实现的完整的源代码可以在[27]。
5。一个现实的编排的例子
在本节中,我们给出了编排规范与在线预订的机票服务进行交互。自主软件代理,代表一个人,是用来购买。代理人的行为是语义的形式描述目标,编排组件。同样,在线预订服务语义描述的行为作为一个web服务,有自己的编排组件。一个人想要使用该服务可以提供所需的信息代理和离开现场。代理然后按照其编排与web服务交互,提供,它是兼容的web服务的编排。
这个场景的本质一直受到实际的航空公司的在线机票预订网站,类似于虚拟旅行社用于(52]。
人类之间的实际场景和一个网站提供机票服务如下。打开后航空公司网站,用户可以设置6个条目:出发城市/机场,到达城市/机场,旅行是否往返或单向(只有循环被认为是在这种情况下),离职日期,返回日期,乘客的数量。用户提交信息后,预订网站提供一些候选人的飞行数据和他们的细节,包括日期,时间,机场,和价格。用户选择的候选人之一。在下一步中,在线机票预订网站要求旅客数据,如姓名、性别和出生日期。后,这些产品是由用户提供,系统要求信用卡信息,包括持有人的姓名、信用卡号码,它的CVV代码。用户提供卡规范后,在线机票服务查询银行验证卡片。根据银行查询的结果,航班预订服务完成的事务和问题票给用户。
上市6和7Flora-2规范用户的(目标)和web服务(预订系统),分别。我们模拟的对话应该发生在预订服务和银行,因为它是一个第三方,而不是直接参与编排。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在目标的前提,出发和到达指定城市和天。后置条件州要求预订实例。
在飞行web服务方面,第一条规则编排wsRule (R01)检查如果有要求飞行组成的所有必要的项目,搜索一个往返在指定的日子,如果这搜索成功插入一个新的三到知识库包含两个航班号码和他们的总价格。在目标方面,规则gRule (R01)的规则类型选择,负责检查知识库上的任何选择的存在。一旦一些航班的选择可用在知识库中,这条规则随机选择只是其中的一个并将这个选择插入到知识库中。注意的条件(∖+旅行:旅行)这会阻止规则被解雇了。
其余的规则的目标覆盖一般问题的答案如姓名、出生日期、和信用卡信息。在飞行web服务方面,规则wsRule (R02)检查知识库由用户对任何旅行的选择;一旦这个选择可用,它要求所有乘客身份。在收到答案的目标,然后要求信用卡信息并检查其有效性通过查询银行。如果从银行收到肯定的答复,这让预订成知识库,满足目标后置条件和编排成功终止;否则失败。
表5显示了新知识被添加到每个编排WM一轮成功的编排,有效跟踪编排的执行引擎。
6。讨论
Flora-2不仅使用规范语言的语义web服务能力和接口组件,也是编排执行引擎的实现语言本身。这个选择给开发人员提供了简洁、编排的基于框架的逻辑语法,以及底层Flora-2系统的所有功能的内置谓词和寻欢。这与上,类的语言为WSMO开发详细的语法,语义计算,必须依靠外部推理者为所有活动,包括编排执行。
我们选择Flora-2作为规范和实现语言也帮助我们在处理粒度不匹配问题17,53]。在[解释17),数据粒度可以达到一个成功的编排的障碍。作者的2]演示数据粒度不匹配问题与一个例子:一个web服务需要信用卡信息被发送一次,而另一个要求所有细节在单独的消息被发送。框架结构在Flora-2本质上解决这种类型的粒度问题。例如,信用卡可以定义如下:joeCreditCard:信用卡(数量- > 1234-5678-9012-3456 ,名称- > 乔布朗 ,CVV - > 123]。
在内部,然而,这样的一个框架表示为其数据成员的构成,和帧的每个数据成员可以独立,不需要引用其他数据成员在同一时间。也可以建立一个框架逐步通过添加的数据成员。因此,框架的粒度级别的概念是由目标或web服务变得无关紧要:web服务或目标可以提供一个框架的组成以零散的方式在任何顺序或作为一个整体,和它的对手可以在两种条件下使用。
7所示。相关工作
语义web服务框架后如WSMO和owl - s (54)使用丰富的语义推理系统实现语义web服务编排。他们客户机和服务之间的交互模型作为一个双向对话,实现如WSMX [1,17,55)、WSMO工作室(上)的可视化编辑器56],WSMO4J API [57],IRS-III [2,58后,owl - s工具(59]。
为了进行不符合WSMO框架。它“没有提供一个明确定义的编排,而是集中在一个基于过程的描述复杂的web服务如何调用原子web服务”(2]。在[60后,WSMO和owl - s详细比较,作者得出结论:“WSMO礼物相比,为了进行一些重要优势。“在这里,我们指出一些一般性的问题为了进行:(我)为了进行不适当的解耦服务请求者和服务提供者的角度。(2)为了进行服务配置的混合信息WSMO目标,WSMO功能和非功能属性。(3)后在owl - s、请求者在请求的基础上制定了概要的描述。(iv)为了进行没有明确定义如何使用逻辑表达式来描述条件和结果。(v)尽管它不完备,WSMO编排提供了ASM作为其正式的模型,而正式的语义为了进行流程模型仍下落不明。
WSMX称为WSMO(参考原型实现的55]。WSMX提供了一个灵活的架构,可以接受不同的组件的插件。这个项目已经在Java中实现,可以处理服务和目标规范写在上20.,61年),并使用WSML2Reasoner [62年),将上转换为外部推理引擎的内部表示为了做推理任务。KAON2 [63年是外部reasoner用于处理编排推理任务(30.]。
我们已经彻底调查WSMX使用公开可用的文档,包括发表论文和源代码64年,65年]。我们发现(我)的实现编排WSMX成立但未完成,(2)实现不支持并行性,因此不一致性检查甚至不是一个问题,(3)实现不支持故意不确定性行为的需要选择规则类型,(iv)在的情况下if - then规则,如果不止一个左手边(前期)是满足当前本体状态,右手边的所有匹配的规则是顺序执行的,没有任何执行的操作的一致性检验,导致行为取决于规则的顺序。
此外,在WSML2Reasoner的最后版本,使用WSMX翻译上逻辑表达式的母语使用寻欢,没有翻译的原则,或选择规则类型,确认我们的发现。很明显,一些最基本的特性在WSMX asm仍未实现的。
IRS-III(网络推理服务:第三版)(2,58,66年)提供了一个基础设施,利用WSMO框架。美国国税局系统由三个主要组件:服务器,客户端,出版商。编排一个客户机和web服务之间不是直接做,但是通过国税局编排引擎,它充当一个代理之间可用的web服务和用户请求。国税局负责的服务发现、协调沟通、和调用web服务并提供结果的目标;然而,客户应该制定需要国税局在国税局的具体表示语言58]。国税局使用OCML本体表示语言和它的服务器已经在Lisp中实现(67年]。
国税局没有坚持最初的ASM,或者WSMO编排,因为(我)过渡国税局规则不是并行运行。如果不止一个过渡的规则也适用于编排的当前状态,只有一个选择使用一个内部函数,没有提供进一步的细节,(2)动作的规则与实际紧密耦合的消息发送到web服务,这使得编排规范的;实际调用的操作序列是不同的预定请求,(3)目标建模的前置和后置条件,不包含编排组件。美国国税局之间的交互,代表的目标,和web服务,使用单独的编排规范的web服务,(iv)模式的概念是完全缺席;灵活的请求者和服务提供者之间的交互成为可能通过模式取而代之的是一个严格的通信模型演员的倡议可以更新数据。
与我们的方法相比,国税局不支持并行的转换规则和不检查更新的一致性。因此,本体的下一个状态并不是唯一的,取决于被解雇的选择规则,导致不确定的行为。而我们充分利用模式和实施他们的合规,正如前面提到的,国税局完全忽略了他们。最重要的是,它忽略了明显的连接初始编排执行状态的前提和目标,以及编排的最终状态执行和目标后置条件,而是依靠内置的谓词init-choreography开始的规则链射击和动作end-choreography终止编排。如果编排没有精心设计的,没有目标的情况编排运行终止后置条件被满足可能出现。
还有其他著名作品的分析,形式化,建模的编排。罗马等人在68年)认为,编排中指定原始ASM模型变得非常投入时包含承包和制定(额外的政策和限制通过web服务和目标)。在[68年),他们扩展当前的模型WSMO并发事务逻辑(CTR) (69年,70年为了简化表示;然而,CTR的实现仍处于原型阶段(71年]。邦纳和麻醉品(40]讨论的主要推理和编排和编制所需的中介活动,一般和WSMO的上下文中。剑作者使用基于规则的专家系统”确定所需的复合服务可以实现使用现有服务”(72年]。这种方法类似于我们的,它使用正向串行开发知识逐步地推理,但是对于web服务组合的目的,而不是编排。
8。结论和未来的工作
在这项工作中,我们发现重要的弱点在原始ASM-based编排执行算法WSMO阻止它有用的实用方法,并改进它为了补救所确定的弱点。改进ASM-based编排执行算法建立失踪WSMO的功能和接口组件之间的联系。我们用F-logic和Flora-2指定ASM-based编排简洁和逻辑的语义web服务的方式和实现一个功能齐全的编排在Flora-2执行引擎基于我们的改进算法。Flora-2及其底层推理系统的全部功能可用于发展中本体和编写转换规则编排规范。我们所知,这是第一个功能齐全的WSMO编排工作实现火灾规则并行,在ASM的理论要求,模型ASMif - then(其他),原则,,选择规则类型真实,而执行的概念和关系的访问模式。我们证明了我们的算法的工作通过一个现实生活中的例子,关于机票的情况下,web服务和基于目标编排被指定在F-logic语法(七个附录提供了更真实的例子C在补充材料)。我们还开发了一个可视化工具,有助于编排工程师编写规格以方便的方式,减少了错误的机会的规范。
我们工作的另一个重要贡献是我们首次证明了等价的代数(asm)和本体进化的基础(语义编排引擎)通过它们之间的双向映射的定义。
对于未来的工作,我们计划开发我们的系统通过增加一个接地的机制,以及一个中介组件。我们也打算识别和分类不同类型的通用软件组件之间的请求和响应和本体的形式呈现它们。这样一个分类方案将有助于准确的发展和普遍接受的舞台舞蹈的交互。
的利益冲突
作者宣称没有利益冲突有关的出版。
补充材料
附录A:可视化编辑器基于Flora-2慢波睡眠规范(VSCHOR)。附录B: E-BNF语法为Flora-2目标和web服务规范。附录C:编排的例子。附录D:编排引擎谓词列表。附录E:将JSON转换为flora-2。(补充材料)
尾注
- 这个词的含义一致的原算法本质上是一样的,但涉及到所需的可访问性检查宣布模式的概念。
- 在Flora-2,逻辑含义可以显示吗p ~ ~ >或∖如果p∖然后问。它相当于 ;然而,Flora-2还提供∖如果∖然后其他∖r相当于 ;所以在这种情况下,如果不是真的,命题的价值取决于的价值 。
- 由于空间的考虑,我们只讨论的主要谓词编排引擎实现。附录在补充材料包含所有谓词及其功能的列表。此外,完整的编排引擎源代码(27]。