没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子札记105(2004)11-20www.elsevier.com/locate/entcsWeb服务作为分发和协调基于语义的验证工具包的新方法1Michael Baldamus2 Jesper Bengtson瑞典乌普萨拉大学信息技术系法拉利3Diparti medInformati ica,itativersitadiPisa,ItalyRoberto Raggi罗伯托·拉吉4,5Trolltech AS,奥斯陆,挪威摘要正式验证工具包通常相当特殊,如果将不同的相关工具包相互比较,则具有互补的功能。因此,建议将不同的相关工具包纳入共同环境。这种集成的潜力是正式验证工具包是基于语义的事实的直接结果,因为它们是很好理解的数学理论的实现。我们认为,Web服务可以作为一个新的平台,解决更实际的问题,与:一方面,服务集成一般肯定是Web服务范式的一个重要组成部分。此外,Web服务促进了分布式和开放式集成,这适合正式验证社区的分散和动态。此外,类目录技术有助于解决正式方法工具集成中的协调问题。关键词:Web服务,工具集成,形式验证,分布,协调1欧洲联盟PROFUNDIS项目支助的工作,合同号IST-2001-33100。2http://user.it.uu.se/~michaelb3http://www.di.unipi.it/~giangi第rraggi@trolltech.com5Roberto Raggi在他与Dipartimento di1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.02.02412M. Baldamus等人/理论计算机科学电子笔记105(2004)111介绍在过去的几年中,万维网上的分布式应用程序,简称Web,如电子商务,文件共享,已经获得了广泛的普及,在设计和控制它们时,对进化范式的需求越来越大。统一的机制已经被开发用于处理涉及大量物理上分布的并且自主操作的这些发展已经开始围绕一个范例进行整合,在这个范例中,Web被用作服务分发者。从这个意义上说,服务不是一个单一的Web服务器,而是一个可以通过Web获得的组件,其他人可以使用它来开发其他服务。从概念上讲,Web服务是Internet中的独立组件。每个Web服务都有一个可通过标准协议访问的接口,同时描述服务的交互功能。Web上的应用程序是通过组合和集成Web服务来开发的。而且,没有Web服务预先知道与其他Web服务可能发生什么交互.我们在这里认为,这种范式可以卓有成效地应用于集成正式验证工具包的问题。我们的动机是以下三点:• 整合相关的正式验证工具既有必要,也有好处,因为尽管它们是相关的,但它们通常相当特殊,同时至少部分互补。• 集成有一个良好的概念基础,因为验证工具包是基于语义的,因为它们是很好理解的数学理论的实现。因此,原则上很容易匹配相关工具的接口(部分),以便它们可以一起工作• 当然,连接不同语法输入和输出格式等的问题仍然存在。然而,这种一体化也存在问题,因为正式的核查界非常分散,同时又高度动态。此外,可用于处理可移植性甚至可卸载性的资源通常是有限的。这些观察结果之前已经提出过,实际上已经提出了验证工具包集成的其他概念(例如[4])。然而,Web服务是解决这个问题的我们的做法是分散的,从而将问题转移到协调领域。出于两个基本原因,这种处理问题的方式似乎是自然的:对于我来说,如果没有人在我的地盘上,M. Baldamus等人/理论计算机科学电子笔记105(2004)1113(i) 分发解决了正式方法社区不愿意在工具集成方面参与任何集中式的电子商务的问题。 有些工具是可移植的,但另一些工具不是或仅在有限程度上是可移植的,甚至可供下载,并且由于各种原因,这种情况不太可能很快改变。与集中式方法相比,分布式也有一些内在的优势,例如可用性、可重构性和开放性。(ii) 从协调的角度来看,分布式工具集成似乎是最好的,因为我们的目标是我们所说的深度集成:应该有自动的方法将属于任何验证运行的子任务分配给最适合解决它们的节点。这反过来又需要一个平台和一种语言,允许用户在不同的抽象层次上指导应该在哪里做什么。这一要求几乎可视为协调的同义词。浅集成只意味着用户可以在不同的工具之间进行选择,以整体解决任何验证问题。我们当前的重点是验证移动流程的工具包(例如,[9,10,16])在π演算[13]和相关的更高级别的工具的意义上,用于验证安全协议(例如,[2,14])。这里介绍的工作的一个主要思想是使用XML、WSDL和SOAP等标准,将基于语义的验证工具包作为Web服务提供另一个主要思想是建立目录来发布这样的Web服务。在此基础上,我们将能够证明验证工具是基于语义的,因为这一特性应该允许我们为服务提供强大的自动化匹配工具。因此,验证网络服务加上自动验证网络服务最重要的是,有一个验证脚本工具,以便用户能够指定如何执行任何验证运行中的子任务。除了目前的原型,我们设想,一个重要的作用,最终将发挥嵌入在基于语义的目录中的交易功能。具体来说,在证明脚本中应该有不同的抽象层次,即面向目标,面向算法,面向工具和面向节点的层次。本文的其余部分介绍了一个环境的原型,该环境通过Web将不同的验证工具集成和协调为服务分发器。核查环境的开发是在欧洲联盟全球计算倡议的Profundis项目(见网址http://www.it.uu.se/profundis)内进 行 的 。 出 于 这 个 原 因 , 我 们 称 之 为 Profundis WEB , 简 称PWeb。14M. Baldamus等人/理论计算机科学电子笔记105(2004)112预赛2.1Web服务Web服务由一个接口组成,该接口描述通过Internet协议栈上的消息交换可访问的操作。Web服务的描述必须涵盖与之交互所需的所有细节:消息格式、传输协议等等。因此,Web服务是基于Internet标准的分布式系统的编程技术。然而,Web服务不仅仅是分布式系统的另一种基于对象的范例。事实上,他们提倡面向服务的编程风格,这与标准的用户到程序风格不同[12,17]。面向服务的编程隐喻通常以发布、查找和绑定周期为特征为了以可互操作的方式发布-查找-绑定,Web服务依赖于一组网络协议。该协议的构建块是简单对象访问协议(SOAP)[3]。SOAP是一种基于XML的消息传递协议,定义了远程过程调用的标准机制。Web服务描述语言(WSDL)[6]定义了接口和详细的服务交互。通用描述、发现和集成(Universal Description Discovery and Integration,缩写为EDP)协议支持发布和发现工具[18]。最后,利用Web服务业务流程执行语言(BPEL4WS)[8]通过组合其他Web服务2.2验证工具包多年来,一些基于语义的验证工具包已经被设计和试验,以正式解决软件开发中提出的一些问题。例如,Concurrency[7]是由爱丁堡大学开发的,它对通信系统的微积分(CCS)进行分析。在乌普萨拉大学开发的MobilityQuestionnaire(MWB)[16]也进行了类似的分析,但基于π演算。历史依赖自动机实验室(HAL)[9]支持对表达π演算主体行为属性的逻辑公式进行验证。大多数基于语义的验证环境都是相互独立开发的,并且无法保证它们可以互操作,因此某些属性的验证是工具包之间协作的结果。在验证社区中,处理集成问题的标准方法是提供基于通用格式的协调基础设施。FC2形式[1]是这种方法的一个说明性例子的M. Baldamus等人/理论计算机科学电子笔记105(2004)1115FC2格式提供了一种表示自动机的语言。自动机以FC 2格式通过一组表来表示,这些表保存有关状态名称、弧标签和状态之间的转换关系的信息。FC2允许验证工具包之间的互操作性。电子工具集成平台(ETI)倡议[4]采用了不同的方法ETI是一个基于网络的基础设施,用于验证工具包的交互式实验。协调中间件(HLL)提供了PWeb提出自己作为一个实验,以解决集成问题,利用Web服务。PWeb原型实现被设想为支持对π演算的某些方言中指定的系统行为的推理。PWeb集成和协调作为Web服务提供的一些验证工具包的设施。MWB和HAL是PWeb的两项服务。下面,我们简要介绍PWeb其他服务的主要特点。信任TRUST工具箱[15,14]依赖于一种精确的符号归约方法,结合了几种旨在减少必须考虑的符号化数量的技术认证和保密属性是以一种非常自然的方式指定的,只要发现错误,就会给出攻击协议的入侵者。MIHDAMIHDA工具包[10]执行历史依赖(HD)自动机的状态最小化HD自动机由状态和标记转换组成;它们的特殊性在于状态和转换配备了名称,这些名称不再作为标签的语法组件处理,而是成为操作模型的显式部分。这允许显式地对名称创建/释放和名称挤出进行建模:这些是名称传递演算的独特机制。MIHDA已被用于执行π演算规范的有限状态验证。STASTA(Symbolic Trace Analyzer)[2]实现了密码协议的符号执行成功的攻击以违反指定属性的执行跟踪的形式报告16M. Baldamus等人/理论计算机科学电子笔记105(2004)113PWeb目录服务PWeb实现被设想为支持对π演算的某些方言中指定的系统行为的推理。它支持多种验证技术(例如,标准互模拟检查和密码协议的符号技术)的动态集成。PWeb的设计目标也是扩展可用的验证环境(移动性验证[16],HAL [9]),并提供新的功能作为Web服务。这使我们有机会验证Web服务方法在处理“现有”模块的重用和集成方面的有效性PWeb的核心是目录服务。PWeb目录服务是一个组件,它将Web服务的描述映射到相应的网络地址。此外,它支持服务的绑定。PWeb目录维护对它使用的工具包的引用。通过WSDL规范,每个工具包在目录服务中都有一个端点。正如预期的那样,WSDL规范描述了工具包的交互功能;即哪些方法可用,以及它们的输入和输出的类型。换句话说,WSDL规范描述了服务可以做什么,如何调用它以及支持的XML类型(更准确地说是XML Schema定义XSD)。例如,MIHDA的WSDL规范提供了reduce服务的描述的reduce服务的描述是指HD的XML描述。描述π演算代理行为的自动机。在给定的HD自动机上调用此服务执行HD自动机的状态最小化。MIHDA工具包的WSDL描述如图1所示。请注意,没有什么可以阻止多个目录服务连接到相同的工具包,或者包含对其他目录服务的引用因此,PWeb基本上是一个对等系统。PWeb目录服务有两个主要设施。调用发布功能以使工具箱作为Web服务可用相反,查询工具用于发现哪些服务可用。该查询提供了服务发现机制:它会生成与参数匹配的服务列表(即,描述我们感兴趣的服务类型的XSD类型)。服务发现机制由交易引擎利用。交易引擎操纵分布在多个PWeb定向服务上的服务池。它可用于获取特定类型的Web服务并将其绑定到应用程序中。交易者引擎提供给PWebM. Baldamus等人/理论计算机科学电子笔记105(2004)1117<?XML version=“1.0”encoding=“UTF-8”?><定义名称=“Mihda”目标空间=”http://jordie.di.unipi.it:8080/pweb/Mihda.wsdl“xmlns=”http://schemas.xmlso ap.o rg/ws dl/”xmlns:soap=“http://schemas. xmlsoap.org/wsdl/soap/“xmlns:tns=”http://jordie.di.unipi.it:8080/pweb/Mihda.wsdl“xmlns:xsd=”http://www.w3.or g/2001/XM LSchema”xmlns:xsd1=”http://jordie.di.unipi.it:8080/pweb/schemas“>/xsd:schema>类型><消息名称=“ReduceRequest”><部件名称=“内容”类型=“xsd 1:hds_over_pi”/><联系我们<消息名称=“ReduceResponse”><部件名称=“return”type=“xsd 1:hds_over_pi”/><联系我们<操作名称=“Reduce”><文档>最小化自动机/文档><输入消息=“tns:ReduceRequest”/><输出消息=“tns:ReduceResponse”/>操作> <绑定名称=“MihdaBinding”type=“tns:MihdaPortType”> <操作名称=“Reduce”><联系我们
下载后可阅读完整内容,剩余1页未读,立即下载
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- VMP技术解析:Handle块优化与壳模板初始化
- C++ Primer 第四版更新:现代编程风格与标准库
- 计算机系统基础实验:缓冲区溢出攻击(Lab3)
- 中国结算网上业务平台:证券登记操作详解与常见问题
- FPGA驱动的五子棋博弈系统:加速与创新娱乐体验
- 多旋翼飞行器定点位置控制器设计实验
- 基于流量预测与潮汐效应的动态载频优化策略
- SQL练习:查询分析与高级操作
- 海底数据中心散热优化:从MATLAB到动态模拟
- 移动应用作业:MyDiaryBook - Google Material Design 日记APP
- Linux提权技术详解:从内核漏洞到Sudo配置错误
- 93分钟快速入门 LaTeX:从入门到实践
- 5G测试新挑战与罗德与施瓦茨解决方案
- EAS系统性能优化与故障诊断指南
- Java并发编程:JUC核心概念解析与应用
- 数据结构实验报告:基于不同存储结构的线性表和树实现
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)