没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学中的电子笔记184(2007)21-37www.elsevier.com/locate/entcs在Lazy Theorem-Prover中分发工作负载David Deharbe1,2大卫·德哈伯1,2A.I.M.I. E.A.R. I. E. R.I. E.F. R. I.E.R.ER.TC.ENatal,RN,巴西Silvio Ranise3的Laboratoire Lorrain de Recherche en Informatique et ses ApplicationsInstitut National de Recherche en Informatique et en AutomatiqueNancy,法国Jorgiano Vidal4的nt?CentroFederaded cac,nologicadoRioGrandedortentenestal,巴西抽象Automated theorem proving consists in automatically(即没有任何用户交互)discharging proof obligationswhich arise when applying rigorous methodologies for designing critical software systems.在自动化的情况下提供 系统 的自 动化 理论 ,即 没有 任何 用户 交互 )discharging proof obligations which arise when applyingrigorous methodologies for designing critical software systems。2017年12月14日-在即将到来的整合布尔安全性与决策过程中的一些最新进展已经提供了新的方法来证明e科学反驳者和成功证明链接。 在本文中,我们展示了最好的(已知的)对设计一个分布式版本的认可由于公司网络上的懒惰理论证明了这一点,因此可用的处理能力可以被使用更多,自动化reasoning是正式方法应用程序的bottleneck。实验清楚地展示了所提出的方法的可行性和益处Keywords:自动理论证明,SMT提供,分布式计算。1这工作是可能的,由巴西研究机构,CNPq,赠款号500473/2003-0,477960/2004-9和490084/2005-2部分支持。2电邮:david@dimap.ufrn.br3电子邮件:Silvio. loria.fr4电邮:jorgiano@cefetrn.br1571-0661 © 2007 Elsevier B. V. Open access under CC BY-NC-ND license。doi:10.1016/j.entcs.2007.03.01322D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)211导言正式的检查工具和技术都受到越来越复杂的软件系统的挑战。特别是,检查一个属性被一个系统满足是在应用虚拟任何正式设计方法的bottleneck.一个回顾-对这个问题的解决办法是:建立一个系统的保守抽象,并检查它是否安全。如果这是一个案例,那么原始模型也可以使性能更可靠; otherwise,我们不允许完成,而解决步骤是联合国授权。抽象模型已被更改为account more details,并且如果它成功地检查了模型是否具有所有权,则它已被检查。这个抽象检查循环是重复的,直到我们被允许完成或可用的计算资源是exhaust。适用于软件验证的最先进模型检查员(seee.g.)[8,2]这是对验证方法的描述These di erent veri fication activities can be carried out,at least in part,usingsu-called lightweight theorem provers,i.e. provers providing a high-degree of au-decidation for selected classes of formulae in theories of firest-order logic(FOL).这些验证性活动可以采取措施,在部分,使用所谓的轻重量理论的供应商,即provers提供一个高水平的选择的确定性的类的方法在未来的订单逻辑(FOL)。Lightweight theorem provers已经成功地验证了正式的规范化技术的系统[9]和扩展的软件代码静态检查[14]。最近广告的机会在高整合和cient Boolean solvers(例如SAT solvers)和FOL理论的决策过程中已经变得可能。这种整合可能会更容易,更容易或更容易。在Eager Integration中,该公式被翻译为命题逻辑并决定使用SAT-solver(see,e.g. [6])。Their main limitation是w.r.t.。flexperigil- itysince thedecidable theory must obey and restrictions for the translation to propositionallogic to be possible.(反射-确定的理论必须是可靠的,并进行严格的限制。延迟整合抽象的公式在FOL到命题信so boolean satis effiability solvers(SAT求解器)或二进制决策图(BDD),可以被用来提取抽象的一个明智的可行性建议的分配(BDactually formula compactly代表所有卫星-是有效的分配).Such an assignment isthen translated back to a concunction of literals in FOL which can then be checkedvalid(or not)by the available decision procedure for the first-order to which theybelong.(如果不是,请按作者的命令)。如果验证验证有效,则过程由考虑新的命题声明开始。Otherwise,the pro-cess halts by reporting that the first-order inputformula is not valid. Otherwise,the pro-cess halts by reporting that the first-orderinput formula is not valid. Otherwise , the pro-order 投 入 公 式 是 不 值 得 的 。[ 12 ]The lazy approach is at the basis of several recently developed tools such asZapato [1],参见- ifun [15],CVC Lite [3] and our toolhaRVey [12]。懒惰超越同业整合的主要优势是高流动性和管理科学的许多优势。例如,由“简单”的单元的异源理论最近,它已经看到了一个懒惰集成的精心设计的实现可以推动管理者的方法[17]。在haRVey案例中,一个伟大的流媒体展示是通过集成一个可以与有效的轴向理论可靠地配置的自动化演绎引擎来实现的。本文介绍了最新的基于简单后续观察的发光理论证明方法。7.如果我们考虑n(>1)在同一时间的提案分配,我们对决策程序的实例提出质疑。D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2123在their firrst-order counterparts(as sketched above)上,我们可以有效地减少reasoning system的过度运行时间。由于它在分布式计算中是众所周知的,所以它必须得到这个实际的观测,特别护理必须选择一个可选择的数字,而不是决策过程的实例。另一个开放的问题是提出最好结果的n提案声明的选择。experimentation是对这些问题的有效性解答的意义,我们已经实现了一个分布式版本的haRVey,哪些 利 用 了 另 一 个 obser- vation 。 Our implementation uses theTOOL BUSarchitecture [4] which allowed us rapid prototyping.我们的实现使用了我们的架构B [4 ] which allowed我们的快速原型。本文是一个实验性分析与这个原型在一组代表性的证明obligations展示该proposed AP- proach的可能性特别是,我们研究了在选择非提案时对di erent appoaches的性能的影响,以在同一时间考虑提案的要求。Plan of the Paper文件。Section2 gives some background materials on theTOOL BUS ARCHITECTURE.第2节GIVES SOME背景材料ON THE T OOL B US architecture.我们的建筑。第三部分解释基本算法底层haRVey。它还解释了如何将一个distributed algorithm从原来的顺序版本 中删除。 第四章描述 我们的原 型实现的 一个分布式 变量的 haRVey。Section5: Re- ports on the Experiments第五部分:实验场的重新港口最后,第6部分总结和我们的研究方向的素描。2工具巴士The ToolBusThe construction of a heterogenous ,distributed system is a challenging task,both from a design and implementation point of views.一个异源的构造,分布式系统是一个挑战性的任务,来自一个设计和实现点的观点。我们提供了一个成功的解决方案来实现机器人分布式系统,使用一个过程,一些语言来描述协议之间的dierent组件,和一个uniform,ter-like,communication data type called Aterms,which is also used inhaRVey to代名词逻辑公式.在本节中,我们提供的读者只是必要的信息,以了解如何haRVey组件可能会被分配和互联与帮助TOOL BUS。Furtherdetails can be found in的相关歌曲E. G。”[4。程序员写了TOOL B我们的脚本描述了这个意图的交互亲-在组件之间的tocol,调用工具。 Scripts are then directly executable by theTOOL BUS interpreter.可由我们的 解释器直 接执行。 Moreover ,theTOOL BUS SUITE provides utilities toautomatically generate the interfaces that each tool has to act to participate in theprotocol. Moreover , the T ool B us suite provides utilities to automaticallygenerate the interfaces that each tool has to get to particate in the protocol.Moreover,美国的套件,自动生成协议中可用工具来参与者的接口。Currently,there is support for the programming languages JAVA and C(adapters are alsoavailable for Perl,Python,Tcl/Tk,and UNIX scripts).可直接使用Java和C语言。24D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)21美国�An Interaction Protocol Between erent(使用者的相互作用协议)supplied)tools by means of a composition of processes.(提供)工具由进程组成。我们将采用第二学期工具箱拒绝执行某个such协议。TheTOOL BUS scripting language provides the classic process algebra constructs我们编写的语言提供了一个经典的过程。+for choice,是什么意思 for sequential composition,for parallel composition,*for repetition,用于连续复合,用于并行复合如果他们服从命令,他们将被驱逐出境。莫瑞斯,D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2125thecreate operator dynamically create process instances; finally,executeandsnd-terminate相应地产生和中止一个工具实例的执行。一个工具的执行可以被dispatched from within the tool bus,with thecommandexecute,or can be started externally and issue a connection request tothe tool bus,that may accept such connection requests with therec-connectcommand.在总线运行一个工具的运行可以从总线总线连接,与命令执行,或者可以启动外部和连接到总线,这将是一个连接请求。一次连接到公共汽车,其他工具不直接通信。安装,com-通信频道是建立在工具和过程之间,或在pro- cesses之间。进程之间的通信可以同步,使用匹配send-msg和rec-msg命令,或asynchronous,与send-note广播命令,which可以使用所有过程中的rec-noteThat had previously issued asubscribe command on the corresponding label.(那个先前分配给匹配标签上的用户指令)使用Handshaking to communicate with the tools。工具到过程通信可以是一个send-event消息或send- value消息(sends a value),while the community from aprocess to a tool can one of the following three commands:snd-eval(evaluationrequest),snd- do(request,i.e. without return value),event to a followingthree commands:snack-events(有一个事件)。所有通信都有类型参数和返回(返回)。 To difference between input andoutput parameters,the latter are decorated with the symbol. To区分输入和输出参数之间,the latter are decorated with the symbol?你的X。illustrate这些概念,Figure1 presents the de fication of a tool bus pro-viding thegluebetweenagraphicaluserinterfaceandthecommand-lineUNIXcalculatorcalc .描述一个公共汽车的定义,为图形用户界面和命令行UNIX计算器之间的差异。巴士是两个过程和两个工具组成。最后一个过程,命名的CALC(来自finned lines 1-第二个进程,calledUI,是响应获取表达式,从用户计算:它spawnsa graphical用户界面guitool(line 15),和这些重复接收来自接口,将它们传输到计算器,gets the corresponding value,and forwards it to the user interface(lines16 to 20),直到它的要求应用程序返回(21)。最后,机器人工具与当前的应用程序建立在一起(规则25和26)。3轻量理论-ProvehaRVeyhaRVey[12] checks if a first order formulaψ(possibly containing quanti fiers)is alogical consequence of a theoryT which can be furnitely axiomatized.{{}}如果a firstorder formula ψ(possibly containing quanti fiomatized)是一个理论T的逻辑结果 , 因 为 它 可 以 被 合 理 地 排 除 在 外 。 For simplicity , inthispaper ,wewilassumethatψisfthefollowingforx1 , 其 中 xnφ , wh , r , x1 , xnare the onlyvariables occurring in φ which is required to be quanti fier只有变量构成的φ whichis required to be quanti26D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2101过程CALCis02letTid:calc,E:str,V:term(英文)03在04执行(Calc,Tid?) .05(Rec-msg,计算机,E?) .06snd-eval(Tid,expr(E))。074.计算价值(Tid,val(V? .08send-msg(result,E,V)的缩写。09send-note(结果(E,V))10◎片名Delta11endlet12进程UI是13其中UI:ui,E,V:str.14在15执行(gui,UI?).16(Rec-event(UI,expr(E?.17snd-msg(compute,expr(E)):18rec-msg(result,expr(E,V?.19snd-ack-event(UI,expr(E,V)):(20)*21rec-event(UI,Quit)的意思。22snd-ack-event(UI,Quit)的意思。23Shutdown(Goodbye)24endlet25toolcalc is{ command=26Toolgui is{ command=ph. 1。 Excerpt of aTOOL BUS剧本免 费 5haRVeyworks by refutation , i.e. it negates the formulatumn and tries toshow that this negation isT-unsatis fifiable,即否定T的模型不满足¬tumn。Undertheassumptions above on ψ,¬ isx1,, xn. 我们考虑确定T的问题-φ¬¬ whereeachxi被认为是a(Skolem)常数。现在,我们可以看到,haRVey是基于一个布尔解决和叠加理论证明的组合 Thecore algorithm ofhaRVey is presented in Figure2 .第二章中的内容。让folo 2propbe a biogenitive mapping from ground atoms ofφ to boolean propositions,abs its homomorphical extension to ground formulas , andpr 2fol the inversemapping from boolean propositions to ground atoms. be a biogenetic mappingfrom φ's to boolean propositions to ground atoms , absits homomorphicalextension to ground formulas,and prop 2fol the inverse-mapping from booleanpropositions to ground atoms. be a bio mapping from φ的生物映射从布尔命题到地面原子的布尔命题到地面原子的物理扩展。 φ是绝对抽象的一个命题公式φa和一 个 布 尔 解函 数 对 这 个 抽 象 的 定义 是 可 靠 的 。 Each such assignmentβa thentranslated back to a jointl1∧· ··∧lnofgrundfirst·orderlite rs,whichcanbechecked ffoD. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2127rT-(un)satisbbility, using a superposition-based reasoning wraped foldingfo.fo.检查一个基于位置的组织。This is actually implemented by simply feeding a third-party superposition-based这是基于第三方超级职位的行为实现5读者对技术细节的兴趣关于淘汰quanti fiers被引用到[9]。28D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2110.设集合y ={1,1,3},则集合y ={1,3}.一个单位关闭 这一计划的目的是什么戏剧性的改进表演(基于生成Suitable Lemmas的能力,以提高布尔解方程的搜索空间目前已实施于haRVey。检查UNSAT的功能是扩展,使其也是一个小的不确定的子公式的输入连接的地面文字是返回。更精确地说,we假设fol check unsat(T,β)=(T,π)iπ is aβ和π的子公式是T-unsatis fifiable。 π被称为分配的证明β.使用π来constrain the φ公式,several assignments can be discharged at once,resulting in often dramatically better results.使用π来constrain the公式φfunctioncheck unsat(T:theory;φ:公式)所以,φ--abs(φ)whileφa/=0 0从beginβa-pick assignment(φa)(ρ,π)-fol check unsat(T,prop 2fol(β a))-检查卫星(T,prop 2fol(βa))ifT返回no,则称φ=φa∧ ¬fol2 prop(π)end结束returnyes是ph. 2.费格 核心算法HaRVey。一个关键特性的haRVey与Respect to other lazy theorem provers是一个事实,决策过程是基于superposition-based自动化演绎,which使它成为可能的,以验证一个公式的价值在任何有效的presentable背景理论。这一特性也提供了实际操作各种quanti fiers公式的可能性[9]。In the current development version ofhaRVey,boolean satis fability can be impled with BDD [5] or the SAT-solverzcha [18],andfirst-order reasoning is a combination a la Nelson and Oppen [19] of thesuperposition-based并提供[22] and a decision procedure for a fragment of linearharithmetics [ 22 ].在当前的开发版本中,布尔安全性可以用BDD [18]或保存zcha[ 19 ]来实现,并提供线性算术学的碎片化的决策过程。因此,事实证明,我们已经成功应用于基于时间的程序的实际应用[20],B Specifications [9],自动生成的航空应用程序代码的静态检查[13]作为数组程序[11]。4分布式算法Distributed AlgorithmBy considering Figure2,it is not di cult to see how to obtain a distributed versionof the algorithm. By considering Figure 2,it is not di cult to see how to获取算法的分布式版本。关键思想是考虑n(>1)命题分配concurrent and invoken instancesof the decision procedures on their firest-order counterparts(as sketched above);D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)2129在这个过程中,我们可以有效地减少reasoning系统的所有运行时间。Indeed,tomake this observation practical,具体的care must be put in choosing a suitablevalue forn .要使这个观测值为实际值,需要为n选择一个合适的值。30D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)21奴隶(TheoryReasonin(vmaster-server(Pro. reasoning)V客户端(Interface)12n(F,φ)ˆYes/No是(T,βA)V(T,π1)(T,βA)V(T,π2)·(A.β=(T,πn)ph. 3.费格 分布式haRVey的系统架构。4.1Overview of the architecture建筑最重要的步骤是设计一个分布式版本的haRVey是确定的di erent components(或工具,在TOOL B我们的术语),它可以被分配到一个网络,与下面的限制在头脑中:(i) 分布式版本将是可扩展的,所以它可以提供一个大的或小的节点数量(ii) 在最小化的版本中,数据共享在部件之间shall as little as possible。(iii) 所有工具的distributed和sequential版本都有尽可能通用的多代码,以限制维护问题。我们在此之前分裂haRVey进入后续组件,作为在交互diagram depicted中的illustrated在数字3:interface:它是负责接收来自interested客户的证据和返回验证结果的证据。即使我们可以想象有严重的接口实例,它只是复杂的协议,而且不太多的洞察如何分散较长时间的运行提供性能。Propositional Reasoning : The component will maintain the propositional ab-straction of the given proof obligations,generate assignments,and send themto the instances of the firest-order reasoning component.(第一部分将使这一命题的ab-字符串)。当数据结构需要有一个单独的实例来完成并相互关联时(是BDD还是SAT-solver),我们需要有一个单一的实例来完成这个组件。first-order reasoning:这是一个组件,负责验证如果assignments被索引安全有效或无效。由于它是必要的,以填补严重独立的版本,我们确定,这个组件是候选被复制在一个分布式算法。这些组件之间的相互作用是在两个已知的pat- terns of distributed programming之 后 modeled 首 先 , 在 接 口 之 间 的 相 互 作 用 , 以 及 命 题 reasoning tool followstheclient/server pattern,以及在propositional reasoning component之间的相互作用定位,以及奴隶(TheoryReasonin奴隶(TheoryReasoninD. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)213101Toolmaster-server is{ command=02toolslave is{ command=03toolclient is{命令=费格,4 Declaration of the components in the distributedhaRVey tool bus.在被分配的haRVey工具巴士上的组件声明。firest-order reasoning instances follows themaster/slave pattern .编辑器实例,让主/奴隶模式跟随。Figure4 presents the declaration of the three correspondingtools in theTOOL BUS SCRIPT这三个匹配工具在T OOL B我们脚本中的4个礼物。4.2此分类上一篇:The Tool Bus Protocol主过程。最高级别的过程是目前在图5。这是一个从主服务器的命题reasoning工具的M(在线04),以及两个后续行为的重复性存在的M:• A connection request from an instanceS of the first-order reasoning toolslave ishandled in processConnectSlave(在连接器进程中的连接请求S)• 一项新研究的接受度在过程检查中已经死亡(第7页)。当M交付一个事件时,即当它已完成验证时,在过程停止时(规则09和10),循环被排除。建立新的Master Slave连接ConnectSlave进程是主进程在一个新的实例之间的连接的子进程Sof the first-order reasoning toolslave和the instanceM of the mastertool服务器。连续接收它A connection request fromS(line 04),creates an instance of the processSlave( described below ) which is attached toS , gets the corresponding processidentifierPid ( line 05 ) , and notices asynchronously the masterM that a newslave is available,sending a message parameterized with the value ofPid (line06).从S的连接请求(线04),创建一个进程的实例,改变身份识别(行06)。与First-order Reasoning Tool的实例接口。Slave进程描述了协议的一部分,该协议涉及到一个实例的接口S的slave tool负责退出first-order rea- soning。这是处理两种类型的事件的责任:• 实际检查请求已通过CheckfolsatUnmes- sage(8号线)发布,正在被驱逐到Slave ToolS(9号线和10号线)。结果是返回到一个folCheckUnsatResults消息(第11行)。• 初 始 化 请 求 , 参 数 化 与 该 集 合 的 理 论 公 理 , 是 forwarded toS , 通 过FolInitmessage(lines 13 and 14).Handling Proof Obligations(英语:Handling Proof Obligations)32D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)21ProcessCheck(参见Figure8)mediates the communications between the threetypes of tools to coordinate the verification of a proof obligation.在第三种工具类型之间的通信,以协调一个验证的检验。在一个短暂的时间,D. 德哈布et al。/Electronic Notes in Theoretical Computer Science 184(2007)213301主进程is02MASTER-server的03在04(Master Server,M?.05(ConnectSlave(M))06+10Check(M)(08)*09Rec-event(M,quit)( 交 换 )10"Shutdown"(检查员已关闭)11endlet12toolbus(Main)费格5 主过程The main process01processConnectSlave(M:master-server)是02letPid:int,Name:str,S:slave(英语:slave)03在04重新连接(S?).05Create(Slave(S),Pid?.06snd-do(M,slaveCreate(Pid))07endletFig. 6. 建立与新奴隶的联系01ProcessSlave(S:Slave)是02LetAssignment,Theory:term(让我们假设,理论:条款)05状态:int,06标签:term07在08(rec-msg(folCheckUnsat(S,Assignment?)).09snd-eval(S,folCheckUnsat(Assignment)):10rec-value(S,folCheckUnsat(ProofStatu
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功