首页 > 最新文献

Formal Methods in Software Practice最新文献

英文 中文
Software synthesis and applications (abstract only) 软件综合与应用(仅摘要)
Pub Date : 2000-08-24 DOI: 10.1145/349360.351139
Douglas R. Smith
This talk presents a mechanizable framework for software development by refinement. The framework is based on a category of specifications. One of the key ideas of Designware is representing knowledge about programming concepts, such as algorithm design and datatype refinement, by means of taxonomies of design theories.The framework is partially implemented in the research systems Specware, Designware, and Planware. Specware provides basic support for composing specifications and refinements, and generating code. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends Specware with taxonomies of software design theories and support for constructing refinements from them. Planware builds on Designware to provide highly automated support for requirements acquisition and synthesis of high-performance scheduling algorithms.I will also discuss how synthesis technology is being used to develop and deploy the next-generation transportation scheduling system for the Air Mobility Command at Scott AFB.
这个演讲通过细化提出了一个可机械化的软件开发框架。该框架是基于一类规范的。Designware的关键思想之一是通过设计理论的分类来表示有关编程概念的知识,例如算法设计和数据类型细化。该框架在研究系统Specware、Designware和Planware中部分实现。Specware为组合规范和细化以及生成代码提供了基本支持。Specware旨在通用,并已在工业环境中使用。Designware扩展了Specware,提供了软件设计理论的分类,并支持从中构建改进。Planware建立在Designware之上,为需求获取和高性能调度算法的合成提供高度自动化的支持。我还将讨论如何使用综合技术为斯科特空军基地的空中机动司令部开发和部署下一代运输调度系统。
{"title":"Software synthesis and applications (abstract only)","authors":"Douglas R. Smith","doi":"10.1145/349360.351139","DOIUrl":"https://doi.org/10.1145/349360.351139","url":null,"abstract":"This talk presents a mechanizable framework for software development by refinement. The framework is based on a category of specifications. One of the key ideas of Designware is representing knowledge about programming concepts, such as algorithm design and datatype refinement, by means of taxonomies of design theories.\u0000The framework is partially implemented in the research systems Specware, Designware, and Planware. Specware provides basic support for composing specifications and refinements, and generating code. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends Specware with taxonomies of software design theories and support for constructing refinements from them. Planware builds on Designware to provide highly automated support for requirements acquisition and synthesis of high-performance scheduling algorithms.\u0000I will also discuss how synthesis technology is being used to develop and deploy the next-generation transportation scheduling system for the Air Mobility Command at Scott AFB.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121581375","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
DSD: A schema language for XML DSD: XML的模式语言
Pub Date : 2000-08-24 DOI: 10.1145/349360.351158
Nils Klarlund, Anders Møller, M. I. Schwartzbach
XML (eXtensible Markup Language) is a linear syntax for trees, which has gathered a remarkable amount of interest in industry. The acceptance of XML opens new venues for the application of formal methods such as specification of abstract syntax tree sets and tree transformations.A notation for defining a set of XML trees is called a schema language. Such trees correspond to a specific user domain, such as XHTML, the class of XML documents that make sense as HTML.A useful schema notation must: identify most of the syntactic requirements that the documents in the user domain follow; allow efficient parsing; be readable to the user; allow limited tree transformations corresponding to the insertion of defaults; be modular and extensible to support evolving classes of XML documents.par>In the present paper, we introduce the DSD (Document Structure Description) notation as our bid on how to meet the requirements above.
XML(可扩展标记语言)是树的线性语法,在工业界引起了极大的兴趣。XML的接受为形式化方法的应用开辟了新的领域,例如抽象语法树集和树转换的规范。用于定义一组XML树的符号称为模式语言。这样的树对应于特定的用户域,比如XHTML,这是一种可以当作HTML使用的XML文档。一个有用的模式符号必须:识别用户域中文档遵循的大多数语法需求;允许高效解析;用户可读;允许有限的树转换,对应于默认值的插入;模块化和可扩展,以支持不断发展的XML文档类。在本文中,我们引入DSD(文档结构描述)符号作为我们对如何满足上述要求的投标。
{"title":"DSD: A schema language for XML","authors":"Nils Klarlund, Anders Møller, M. I. Schwartzbach","doi":"10.1145/349360.351158","DOIUrl":"https://doi.org/10.1145/349360.351158","url":null,"abstract":"XML (eXtensible Markup Language) is a linear syntax for trees, which has gathered a remarkable amount of interest in industry. The acceptance of XML opens new venues for the application of formal methods such as specification of abstract syntax tree sets and tree transformations.\u0000\u0000A notation for defining a set of XML trees is called a schema language. Such trees correspond to a specific user domain, such as XHTML, the class of XML documents that make sense as HTML.\u0000A useful schema notation must: identify most of the syntactic requirements that the documents in the user domain follow; allow efficient parsing; be readable to the user; allow limited tree transformations corresponding to the insertion of defaults; be modular and extensible to support evolving classes of XML documents.par>In the present paper, we introduce the DSD (Document Structure Description) notation as our bid on how to meet the requirements above.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123739816","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 56
Completeness in formal specification language design for process-control systems 过程控制系统形式规范语言设计的完备性
Pub Date : 2000-08-24 DOI: 10.1145/349360.351140
N. Leveson
This paper examines the issue of completeness in specification language design. In the mid-80s we identified a set of 26 formal criteria to identify missing, incorrect, and ambiguous requirements for process-control systems. Experimental validation of the criteria on NASA and NASDA spacecraft systems have supported their usefulness in detecting commonly omitted but important information and engineers have been using them in checklist form on real systems. At the same time, we have extended the criteria and now have over 60. This paper shows how most of the criteria can be embedded in a formal specification language in ways that potentially allow automated checking or assist in manual reviews.
本文探讨了规范语言设计中的完备性问题。在80年代中期,我们确定了一组26个正式标准,以确定过程控制系统的缺失、不正确和模糊需求。在NASA和NASDA航天器系统上对标准进行的实验验证支持了它们在检测通常被忽略但重要的信息方面的有效性,工程师们一直在实际系统上以清单形式使用它们。与此同时,我们扩大了标准,现在有60多个。本文展示了如何将大多数标准以潜在地允许自动检查或协助手动审查的方式嵌入到正式的规范语言中。
{"title":"Completeness in formal specification language design for process-control systems","authors":"N. Leveson","doi":"10.1145/349360.351140","DOIUrl":"https://doi.org/10.1145/349360.351140","url":null,"abstract":"This paper examines the issue of completeness in specification language design. In the mid-80s we identified a set of 26 formal criteria to identify missing, incorrect, and ambiguous requirements for process-control systems. Experimental validation of the criteria on NASA and NASDA spacecraft systems have supported their usefulness in detecting commonly omitted but important information and engineers have been using them in checklist form on real systems. At the same time, we have extended the criteria and now have over 60. This paper shows how most of the criteria can be embedded in a formal specification language in ways that potentially allow automated checking or assist in manual reviews.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126853736","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 78
Using TAME to prove invariants of automata models: Two case studies 使用TAME证明自动机模型的不变量:两个案例研究
Pub Date : 2000-08-24 DOI: 10.1145/349360.351127
M. Archer, C. Heitmeyer, E. Riccobene
TAME is a special-purpose interface to PVS designed to support developers of software systems in proving properties of automata models. One of TAME's major goals is to allow a software developer who has basic knowledge of standard logic, and can do hand proofs, to use PVS to represent and to prove properties about an automaton model without first becoming a PVS expert. A second goal is for a human to be able to read and understand the content of saved TAME proofs without running them through the PVS proof checker. A third goal is to make proving properties of automata with TAME less costly in human time than proving such properties using PVS directly. Recent work by Romijn and Devillers et al., based on the I/O automata model, has provided the basis for two case studies on how well TAME achieves these goals. Romijn specified the RPC-Memory Problem and its solution, while Devillers et al. specified a tree identify protocol. Hand proofs of specification properties were provided by the authors. In addition, Devillers et al. used PVS directly to mechanize the specifications and proofs of the tree identify protocol. In one case study, the third author, a new TAME user with no previous PVS experience, used TAME to create PVS specifications of the I/O automata presented by Romijn and Devillers et al. and to check the hand proofs of invariant properties. The PVS specifications and proofs of Devillers et al. hspace*{-.03in} provide the basis for the other case study, which compares the TAME approach to an alternate approach which uses PVS directly.
TAME是PVS的专用接口,旨在支持软件系统开发人员证明自动机模型的属性。TAME的主要目标之一是允许具有标准逻辑基础知识并可以进行手工证明的软件开发人员使用PVS来表示和证明关于自动机模型的属性,而无需首先成为PVS专家。第二个目标是让人类能够阅读和理解保存的TAME证明的内容,而无需通过PVS证明检查器运行它们。第三个目标是使使用TAME证明自动机的性质比直接使用pv证明这些性质在人力时间上花费更少。Romijn和Devillers等人最近基于I/O自动机模型的工作,为TAME如何很好地实现这些目标提供了两个案例研究的基础。Romijn指定了RPC-Memory Problem及其解决方案,而Devillers等人指定了一个树识别协议。作者提供了规范属性的手工证明。此外,Devillers等人直接使用PVS来机械化树识别协议的规范和证明。在一个案例研究中,第三位作者是一位没有PVS经验的TAME新用户,他使用TAME创建了Romijn和Devillers等人提出的I/O自动机的PVS规范,并检查了不变属性的手工证明。Devillers等的PVS规范和证明。hspace*{-。为另一个案例研究提供了基础,该案例研究将TAME方法与直接使用pv的替代方法进行比较。
{"title":"Using TAME to prove invariants of automata models: Two case studies","authors":"M. Archer, C. Heitmeyer, E. Riccobene","doi":"10.1145/349360.351127","DOIUrl":"https://doi.org/10.1145/349360.351127","url":null,"abstract":"TAME is a special-purpose interface to PVS designed to support developers of software systems in proving properties of automata models. One of TAME's major goals is to allow a software developer who has basic knowledge of standard logic, and can do hand proofs, to use PVS to represent and to prove properties about an automaton model without first becoming a PVS expert. A second goal is for a human to be able to read and understand the content of saved TAME proofs without running them through the PVS proof checker. A third goal is to make proving properties of automata with TAME less costly in human time than proving such properties using PVS directly. Recent work by Romijn and Devillers et al., based on the I/O automata model, has provided the basis for two case studies on how well TAME achieves these goals. Romijn specified the RPC-Memory Problem and its solution, while Devillers et al. specified a tree identify protocol. Hand proofs of specification properties were provided by the authors. In addition, Devillers et al. used PVS directly to mechanize the specifications and proofs of the tree identify protocol. In one case study, the third author, a new TAME user with no previous PVS experience, used TAME to create PVS specifications of the I/O automata presented by Romijn and Devillers et al. and to check the hand proofs of invariant properties. The PVS specifications and proofs of Devillers et al. hspace*{-.03in} provide the basis for the other case study, which compares the TAME approach to an alternate approach which uses PVS directly.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114917686","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Completeness in formal specification language design for process-control systems 过程控制系统形式规范语言设计的完备性
Pub Date : 2000-08-24 DOI: 10.1145/349360.351142
E. Olderog, A. Ravn
We show how UML class diagrams can be used to document design by refinement in the early design stages. This is illustrated by an example from the area of embedded real-time and hybrid systems. A precise semantics is given for the UML class diagrams by translation to the Z schema calculus.
我们展示了如何在早期设计阶段通过细化使用UML类图来记录设计。这是由嵌入式实时和混合系统领域的一个例子说明。通过转换为Z模式演算,给出了UML类图的精确语义。
{"title":"Completeness in formal specification language design for process-control systems","authors":"E. Olderog, A. Ravn","doi":"10.1145/349360.351142","DOIUrl":"https://doi.org/10.1145/349360.351142","url":null,"abstract":"We show how UML class diagrams can be used to document design by refinement in the early design stages. This is illustrated by an example from the area of embedded real-time and hybrid systems. A precise semantics is given for the UML class diagrams by translation to the Z schema calculus.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125309559","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Fault origin adjudication 断层成因判定
Pub Date : 2000-08-24 DOI: 10.1145/349360.351132
K. Bhargavan, Carl A. Gunter, Davor Obradovic
When a program P fails to satisfy a requirement R supposedly ensured by a detailed specification S that was used to implement P, there is a question about whether the problem arises in S or in P. We call this determination fault origin adjudication and illustrate its significance in various software engineering contexts. The primary contribution of this paper is a framework for formal fault origin adjudication for network protocols using the NS simulator and the SPIN model checker. We describe our architecture and illustrate its use in a case study involving a standard specification for packet radio routing.
当一个程序P不能满足一个需求R,而这个需求R是由一个用于实现P的详细规范S所保证的,那么问题是出现在S还是出现在P。我们把这种判定称为错误起源判定,并说明它在各种软件工程环境中的重要性。本文的主要贡献是利用NS模拟器和SPIN模型检查器为网络协议提供了一个正式的故障起源判断框架。我们在一个涉及分组无线电路由标准规范的案例研究中描述了我们的体系结构并说明了它的使用。
{"title":"Fault origin adjudication","authors":"K. Bhargavan, Carl A. Gunter, Davor Obradovic","doi":"10.1145/349360.351132","DOIUrl":"https://doi.org/10.1145/349360.351132","url":null,"abstract":"When a program <italic>P</italic> fails to satisfy a requirement <italic>R</italic> supposedly ensured by a detailed specification <italic>S</italic> that was used to implement <italic>P</italic>, there is a question about whether the problem arises in <italic>S</italic> or in <italic>P</italic>. We call this determination <italic>fault origin adjudication</italic> and illustrate its significance in various software engineering contexts. The primary contribution of this paper is a framework for formal fault origin adjudication for network protocols using the NS simulator and the SPIN model checker. We describe our architecture and illustrate its use in a case study involving a standard specification for packet radio routing.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127632080","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 15
Government, industry, and academia: Teaming to design high confidence information security applications 政府、工业和学术界:合作设计高可信度的信息安全应用
Pub Date : 2000-08-24 DOI: 10.1145/349360.351128
W. B. Martin, P. D. White, W. Vanfleet
A trusted computing base requires true separation of processes. Modern approaches relegate separation to a component of the operating system called the kernel. Although the kernel represents only a small portion of the code of the entire operating system, it is among the most intensively used portions. With separation as the focus, this paper will describe a kernel that provides strict separation between processes, allowing for the remainder of the operating system, residing outside the kernel, to run only as processes in user mode under control of the kernel. The kernel is therefore tasked with implementing the critical operating system functions of providing access to resources, communications between processes, and scheduling of process threads.Strict separation between processes enables the evaluation of a system to check that the system meets its security policy. It is to this end that the Department of Defense in conjunction with Motorola Space and Systems Technology Group outlined the development of a separation kernel with the use of the correct by construction methodology supported by the Specware system under development at Kestrel Institute. Since the initial prototype of the kernel, Motorola has extended and incorporated this separation kernel design into their smart card and cryptographic processor technologies.
可信的计算基础需要真正的进程分离。现代的方法将分离降级为操作系统的一个组件,称为内核。尽管内核只占整个操作系统代码的一小部分,但它却是使用最频繁的部分之一。以分离为重点,本文将描述一个在进程之间提供严格分离的内核,允许驻留在内核之外的操作系统的其余部分在内核的控制下仅作为进程在用户模式下运行。因此,内核的任务是实现关键的操作系统功能,提供对资源的访问、进程之间的通信和进程线程的调度。进程之间的严格分离使系统评估能够检查系统是否满足其安全策略。为此,国防部与摩托罗拉空间和系统技术集团合作,概述了分离内核的开发,使用了由红隼研究所正在开发的Specware系统支持的正确的构造方法。自内核的初始原型以来,摩托罗拉已经扩展并将这种分离内核设计集成到他们的智能卡和加密处理器技术中。
{"title":"Government, industry, and academia: Teaming to design high confidence information security applications","authors":"W. B. Martin, P. D. White, W. Vanfleet","doi":"10.1145/349360.351128","DOIUrl":"https://doi.org/10.1145/349360.351128","url":null,"abstract":"A trusted computing base requires true separation of processes. Modern approaches relegate separation to a component of the operating system called the kernel. Although the kernel represents only a small portion of the code of the entire operating system, it is among the most intensively used portions. With separation as the focus, this paper will describe a kernel that provides strict separation between processes, allowing for the remainder of the operating system, residing outside the kernel, to run only as processes in user mode under control of the kernel. The kernel is therefore tasked with implementing the critical operating system functions of providing access to resources, communications between processes, and scheduling of process threads.\u0000Strict separation between processes enables the evaluation of a system to check that the system meets its security policy. It is to this end that the Department of Defense in conjunction with Motorola Space and Systems Technology Group outlined the development of a separation kernel with the use of the correct by construction methodology supported by the Specware system under development at Kestrel Institute. Since the initial prototype of the kernel, Motorola has extended and incorporated this separation kernel design into their smart card and cryptographic processor technologies.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126324344","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Model checking Java programs 模型检查Java程序
Pub Date : 2000-08-24 DOI: 10.1145/349360.351124
D. Dill
Automatic state exploration tools (model checkers) have had some success when applied to protocols and hardware designs, but there are fewer success stories about software. This is unfortunate, since the software problem is worsening even faster than the hardware and protocol problems. Model checking of concurrent programs is especially interesting, because they are notoriously difficult to test, analyze, and debug by other methods.This talk will be a description of our initial efforts to check Java programs using a model checker. The model checker supports dynamic allocation, thread creation, and recursive procedures (features that are not necessary for hardware verification), and has some special optimizations and checks tailored to multi-threaded Java program. I will also discuss some of the challenges for future efforts in this area.
自动状态探索工具(模型检查器)在应用于协议和硬件设计时取得了一些成功,但是在软件方面却很少成功。这是不幸的,因为软件问题比硬件和协议问题恶化得更快。并发程序的模型检查特别有趣,因为它们很难通过其他方法进行测试、分析和调试。本演讲将描述我们使用模型检查器检查Java程序的最初工作。模型检查器支持动态分配、线程创建和递归过程(硬件验证不需要的特性),并且有一些针对多线程Java程序的特殊优化和检查。我还将讨论在这一领域今后努力面临的一些挑战。
{"title":"Model checking Java programs","authors":"D. Dill","doi":"10.1145/349360.351124","DOIUrl":"https://doi.org/10.1145/349360.351124","url":null,"abstract":"Automatic state exploration tools (model checkers) have had some success when applied to protocols and hardware designs, but there are fewer success stories about software. This is unfortunate, since the software problem is worsening even faster than the hardware and protocol problems. Model checking of concurrent programs is especially interesting, because they are notoriously difficult to test, analyze, and debug by other methods.\u0000This talk will be a description of our initial efforts to check Java programs using a model checker. The model checker supports dynamic allocation, thread creation, and recursive procedures (features that are not necessary for hardware verification), and has some special optimizations and checks tailored to multi-threaded Java program. I will also discuss some of the challenges for future efforts in this area.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132801286","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Formal modeling of active network nodes using PVS 使用PVS对活动网络节点进行形式化建模
Pub Date : 2000-08-24 DOI: 10.1145/349360.351130
Cindy Kong, P. Alexander, Darryl D. Dieckman
Active Networks are a new type of networks where all elements are programmable. Active packets can contain fragments of code to be executed on intermediate nodes they pass through. Active nodes provide the necessary environment and resources for the packets to be processed. In giving the users the capability to program the network as they desire, there is an issue of security risks. This paper presents a formal model for an active node that can be used to specify and verify the correct operation of the node. The model is used to verify that scenarios where privacy of data is violated or functionality of a node is compromised never occur. The proposed model is generic to any type of active node and is written using the Prototype Verification System (PVS).
主动网络是一种新型的网络,它的所有元素都是可编程的。活动数据包可以包含要在它们经过的中间节点上执行的代码片段。活动节点为要处理的数据包提供必要的环境和资源。在赋予用户按照自己的意愿对网络进行编程的能力时,存在安全风险问题。本文提出了一个活动节点的形式化模型,该模型可用于指定和验证节点的正确操作。该模型用于验证数据隐私被侵犯或节点功能受到损害的场景不会发生。该模型适用于任何类型的活动节点,并使用原型验证系统(Prototype Verification System, PVS)编写。
{"title":"Formal modeling of active network nodes using PVS","authors":"Cindy Kong, P. Alexander, Darryl D. Dieckman","doi":"10.1145/349360.351130","DOIUrl":"https://doi.org/10.1145/349360.351130","url":null,"abstract":"Active Networks are a new type of networks where all elements are programmable. Active packets can contain fragments of code to be executed on intermediate nodes they pass through. Active nodes provide the necessary environment and resources for the packets to be processed. In giving the users the capability to program the network as they desire, there is an issue of security risks. This paper presents a formal model for an active node that can be used to specify and verify the correct operation of the node. The model is used to verify that scenarios where privacy of data is violated or functionality of a node is compromised never occur. The proposed model is generic to any type of active node and is written using the Prototype Verification System (PVS).","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122337027","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Using predicate abstraction to reduce object-oriented programs for model checking 使用谓词抽象来减少面向对象程序的模型检查
Pub Date : 2000-08-24 DOI: 10.1145/349360.351125
W. Visser, Seungjoon Park, J. Penix
While it is becoming more common to see model checking applied to software requirements specifications, it is seldom applied to software implementations. The Automated Software Engineering group at NASA Ames is currently investigating the use of model checking for actual source code, with the eventual goal of allowing software developers to augment traditional testing with model checking. Because model checking suffers from the state-explosion problem, one of the main hurdles for program model checking is reducing the size of the program. In this paper we investigate the use of abstraction techniques to reduce the state-space of a real-time operating system kernel written in C++. We show how informal abstraction arguments could be formalized and improved upon within the framework of predicate abstraction, a technique based on abstract interpretation. We introduce some extensions to predicate abstraction that all allow it to be used within the class-instance framework of object-oriented languages. We then demonstrate how these extensions were integrated into an abstraction tool that performs automated predicate abstraction of Java programs.
虽然将模型检查应用于软件需求规范变得越来越普遍,但很少应用于软件实现。NASA Ames的自动化软件工程小组目前正在调查实际源代码的模型检查的使用,最终的目标是允许软件开发人员通过模型检查来增加传统的测试。由于模型检查受到状态爆炸问题的困扰,程序模型检查的主要障碍之一是减小程序的大小。在本文中,我们研究了使用抽象技术来减少用c++编写的实时操作系统内核的状态空间。我们展示了如何在谓词抽象框架内形式化和改进非正式抽象参数,谓词抽象是一种基于抽象解释的技术。我们对谓词抽象引入了一些扩展,这些扩展都允许在面向对象语言的类-实例框架中使用谓词抽象。然后,我们将演示如何将这些扩展集成到执行Java程序的自动谓词抽象的抽象工具中。
{"title":"Using predicate abstraction to reduce object-oriented programs for model checking","authors":"W. Visser, Seungjoon Park, J. Penix","doi":"10.1145/349360.351125","DOIUrl":"https://doi.org/10.1145/349360.351125","url":null,"abstract":"While it is becoming more common to see model checking applied to software requirements specifications, it is seldom applied to software implementations. The Automated Software Engineering group at NASA Ames is currently investigating the use of model checking for actual source code, with the eventual goal of allowing software developers to augment traditional testing with model checking. Because model checking suffers from the state-explosion problem, one of the main hurdles for program model checking is reducing the size of the program. In this paper we investigate the use of abstraction techniques to reduce the state-space of a real-time operating system kernel written in C++. We show how informal abstraction arguments could be formalized and improved upon within the framework of predicate abstraction, a technique based on abstract interpretation. We introduce some extensions to predicate abstraction that all allow it to be used within the class-instance framework of object-oriented languages. We then demonstrate how these extensions were integrated into an abstraction tool that performs automated predicate abstraction of Java programs.","PeriodicalId":125560,"journal":{"name":"Formal Methods in Software Practice","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2000-08-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116080390","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 56
期刊
Formal Methods in Software Practice
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1