首页> 外文OA文献 >Compositional verification of parallel programs using epistemic logic and abstract assertional languages
【2h】

Compositional verification of parallel programs using epistemic logic and abstract assertional languages

机译:使用认知逻辑和抽象断言语言对并行程序进行组合验证

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Het schrijven van foutenvrije computerprogramma's (software) blijkt nog steedsudgeen eenvoudige opgave. Incorrecte software kan aanleiding geven tot ongewenste,udkostbare en soms zelfs levensbedreigende situaties. Parallelle programma's, datudwil zeggen programma's geschreven voor een systeem bestaande uit meerdere,udtegelijkertijd opererende processoren, zijn in dit opzicht alleen maar lastiger: deudinteractie tussen de verschillende processoren compliceert de zaak.udHet vastleggen van de eigenschappen waaraan een programma moet voldoenudgebeurt door middel van het opstellen van een (formele) specicatie. Een vanudde methoden om te garanderen dat een programma voldoet aan zijn specicatieudis het leveren van een (wiskundig) bewijs hiervan. Het formaat waarin zo'n be-udwijs wordt gegeven alsmede de geldigheid van de atomaire bewijsstappen wordenudbeschreven door zogenaamde programmalogica's, ofwel logica's waarin naast deudgebruikelijke beweringen (bijvoorbeeld over variabelen) ook de syntax van deudprogrammeertaal een rol speelt.udDit proefschrift richt zich op een specieke klasse van programmalogica's, ookudwel Hoare-logica's genoemd naar een van de pioniers op het gebied.udGlobaal gezien bestaat het proefschrift uit twee delen. Het eerste deel startudmet een algemene inleiding in kennislogica. Kennislogica kan ruwweg wordenudbeschouwd als eerste orde logica waaraan een modaliteit is toegevoegd die eenud(geformaliseerde notie van) kennis beschrijft.udHet volgende hoofdstuk geeft een overzicht van een aantal manieren waarop ditudkennisbegrip vormgegeven kan worden in de context van gedistribueerde, of pa-udrallelle systemen. Door datgene wat een processor kan observeren met betrekkingudtot een complete executie van het gehele systeem van processoren te vari?eren,udverkrijgen we een aantal noties van kennis (binnen een gedistribueerd systeem);udbinnen deze verschillende kennisnoties kunnen we dan een klassicering aanbren-udgen met betrekking tot de kracht van die noties.udHet laatste hoofdstuk van het eerste deel beschrijft een bewijssysteem met be-udhulp waarvan beweringen met betrekking tot de kennis van processoren in eenud191?192 SAMENVATTINGudgedistribueerd systeem kunnen worden afgeleid. Het bewijssysteem, overigensudalle bewijssystemen in dit proefschrift, is compositioneel wat er in grote lijnen opudneerkomt dat de correctheid van het complete parallelle programma kan wordenudafgeleid uit de correctheid van de afzonderlijke componenten.udIn het tweede deel beschouwen we bewijssystemen voor programma's waarin deudcommunicatie tussen de verschillende componenten van een parallel systeem (deudprocessen) niet gelijktijdig verloopt; dit heet ook wel asynchrone communicatie.udDe algemene doelstelling van dit tweede deel bestaat uit het minimalizeren vanudde assertietaal , de taal waarmee binnen het bewijssysteem beweringen over deudprocessen (het programma) kunnen worden geformuleerd. Het bepalen van zulkeudminimale (abstracte) assertietalen biedt voordelen bij het top-down ontwerp vanudprogramma's.udHet eerste hoofdstuk van het tweede deel laat zien dat het mogelijk is een com-udpositioneel bewijssysteem te baseren op een assertietaal die de beschrijving vanudprocessen alleen toelaat middels de beschrijving van de communicatie-acties perudcommunicatie-kanaal. Hiervoor is het wel vereist dat de programmeertaal in es-udsentie deterministisch is.udHet volgende hoofdstuk beschrijft een case-study: de correctheid van een gedis-udtribueerd algorithme voor het bepalen van de topologie van een netwerk wordtudafgeleid. Hierbij maken we gebruik van het bewijssysteem uit hoofdstuk 6 enudvan PVS, een tool voor het interactief genereren en checken van bewijzen. Zoudlaten we enerzijds zien hoe de (beperkte) programmeertaal van hoofdstuk 6 tochudinteressante voorbeelden toestaat, terwijl anderzijds wordt ge?llustreerd hoe deudessentie van het bewijs semi-automatisch kan worden afgeleid. Het gebruik vanuddergelijke tools heeft als voordeel dat triviale details automatisch kunnen wordenudafgehandeld, zodat de gebruiker zich kan concentreren op de daadwerkelijk lastigeudbewijsstappen.udIn het laatste hoofdstuk richten we ons op een niet-deterministische program-udmeertaal. Ook nu zijn we in staat de assertietaal te beperken ten opzichte vanudvergelijkbare bewijssystemen. We introduceren de notie van abstract history, dieud(samen met de communicatie-informatie per kanaal) een abstractie is van de ge-udbruikelijke history (een beschrijving van een proces door middel van een volledigeudopsomming van zijn communicaties). Een bijkomend voordeel hiervan is datudhet gedeelte van de logica waarin over deze abstracte histories, en dus over hetudcommunicatiegedrag van de processen geredeneerd wordt, beslisbaar is.
机译:编写无错误的计算机程序(软件)仍然不是一件容易的事。错误的软件会导致不必要的,昂贵的,有时甚至危及生命的情况。并行程序,即为由多个同时运行的处理器组成的系统编写的程序,在这方面只会更加困难:不同处理器之间的交互使事情变得复杂。通过制定(正式)规范来获得满意。确保程序符合其规范的方法之一就是对此提供(数学上的)证明。给出此类证据的格式以及原子证明步骤的有效性由所谓的程序逻辑来描述,或在其中除了通常的语句(例如,关于变量)外,编程语言的语法也起作用的逻辑。 ud本论文重点研究一类特定的程序逻辑,在该领域的先驱之一之后也称为“ uhare逻辑”。 udGlobal,论文由两部分组成。第一部分从知识逻辑的一般介绍开始。知识逻辑可以粗略地认为是一阶逻辑,在其中已添加了描述知识的形式化形式的模态。下一章概述了可以在分布式环境中塑造知识概念的多种方式。或并行系统。通过改变处理器在整个处理器整个系统的完整执行过程中可以观察到的内容,我们获得了许多知识概念(在分布式系统中);然后可以在这些不同的知识概念中对它们进行分类 ud191?192摘要 ud191摘要 ud191摘要 ud191摘要 ud191这些概念的威力摘要。分心。顺便说一句,本文中所有的证明系统都是组合的证明系统,它广泛地暗示了完整并行程序的正确性可以从各个组件的正确性推论得出。并行系统的不同组件(进程)之间的通信不能同时运行的程序;这又称为异步通信 ud第二部分的总体目标是最小化断言的语言,即可以在证明系统中制定有关ud过程(程序)的语句的语言。确定这样的 udminimal(抽象)断言语言在 udprogram的自上而下设计中提供了优势 Ud第二部分的第一章表明可以将组合证明系统建立在描述该断言语言的基础上仅通过对每个通信通道的通信动作的描述来描述通信过程。这确实要求编程语言本质上是确定性的。 Ud下一章介绍了一个案例研究:推导了用于确定网络拓扑的分布式算法的正确性。为此,我们使用PVS的第6章和 ud中的证据系统,这是一种交互式生成和验证证据的工具。因此,一方面,我们将展示第6章的(有限的)编程语言如何仍然提供有趣的示例,而另一方面,它说明如何半自动地提取证据的本质。使用此类工具的优势在于,可以自动处理琐碎的细节,从而使用户可以专注于实际棘手的证明步骤;在上一章中,我们着重于非确定性编程语言。即使到现在,与同类的证明系统相比,我们仍然能够限制断言语言。我们介绍抽象历史的概念, ud(与每个通道的通信信息一起)是通常历史的抽象(通过其通信的总和来描述一个过程)。这样做的另一个优点是,可以确定逻辑的一部分,在这些逻辑中可以推理出这些抽象历史,从而可以推理出进程的通信行为。

著录项

  • 作者

    Hulst Marten van;

  • 作者单位
  • 年度 1995
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号