首页 > 最新文献

Formal Methods in Software Development最新文献

英文 中文
L.0: a parallel executable temporal logic language 一种并行可执行的时态逻辑语言
Pub Date : 1990-04-01 DOI: 10.1145/99569.99820
L. Ness
The purpose of this paper is to present the subset of temporal logic, that has been found useful and accessible to programmers of communications software, and to present the additional assumptions and structuring operators which had to be ad’ded to make this subset into a viable programming language. The resulting language is called L.0’. The fact that enhancements to temporal logic are necessary to make it a viable programming language should not be surprising, since a standard criticism of temporal logic is that it is: “global, non-modular, and noncompositional’~‘l.
本文的目的是介绍时间逻辑的子集,它已经被通信软件的程序员发现是有用的和可访问的,并介绍了额外的假设和结构运算符,这些必须被添加到使这个子集成为一种可行的编程语言。由此产生的语言称为l0 '。对时态逻辑的增强对于使其成为一种可行的编程语言是必要的,这一事实不应该令人惊讶,因为对时态逻辑的标准批评是:“全局的、非模块化的和非组合的”~“1”。
{"title":"L.0: a parallel executable temporal logic language","authors":"L. Ness","doi":"10.1145/99569.99820","DOIUrl":"https://doi.org/10.1145/99569.99820","url":null,"abstract":"The purpose of this paper is to present the subset of temporal logic, that has been found useful and accessible to programmers of communications software, and to present the additional assumptions and structuring operators which had to be ad’ded to make this subset into a viable programming language. The resulting language is called L.0’. The fact that enhancements to temporal logic are necessary to make it a viable programming language should not be surprising, since a standard criticism of temporal logic is that it is: “global, non-modular, and noncompositional’~‘l.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"148 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126915140","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}
引用次数: 7
Formalised development of software by machine assisted transformation 通过机器辅助转换实现软件的形式化开发
Pub Date : 1990-04-01 DOI: 10.1145/99569.99829
C. Runciman, M. Firth
Development of a prototype into a final program proceeds by steps of transformational refinement, through successive versions. Every version satisfies the initial specification by construction, because every transformation step fully preserves behavioural meaning of programs. Transformations are selected to make later versions more efficient than earlier ones – meaning that computations use less time or less space or both. This increase in efficiency is typically achieved only by means of an increase in complexity. In particular, later versions are generally more complex to transform than earlier versions. So there is a trade-off, and in principle development can stop at any point.
从原型到最终程序的开发是通过连续的版本进行转换细化的步骤进行的。每个版本都通过构造满足初始规范,因为每个转换步骤都充分保留了程序的行为意义。选择转换是为了使以后的版本比以前的版本更高效——这意味着计算使用更少的时间或更少的空间,或者两者兼而有之。这种效率的提高通常只能通过复杂性的增加来实现。特别是,后期版本的转换通常比早期版本更复杂。所以这是一种权衡,原则上,发展可以在任何时候停止。
{"title":"Formalised development of software by machine assisted transformation","authors":"C. Runciman, M. Firth","doi":"10.1145/99569.99829","DOIUrl":"https://doi.org/10.1145/99569.99829","url":null,"abstract":"Development of a prototype into a final program proceeds by steps of transformational refinement, through successive versions. Every version satisfies the initial specification by construction, because every transformation step fully preserves behavioural meaning of programs. Transformations are selected to make later versions more efficient than earlier ones – meaning that computations use less time or less space or both. This increase in efficiency is typically achieved only by means of an increase in complexity. In particular, later versions are generally more complex to transform than earlier versions. So there is a trade-off, and in principle development can stop at any point.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"265 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116400448","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
Constructing programs in a calculus of lazy interpreters 用惰性解释器的演算构造程序
Pub Date : 1990-04-01 DOI: 10.1145/99569.99810
R. Frost
There is a growing interest in the notion that programs can be constructed and manipulated in much the same way as are expressions in say the calculus of arithmetic. Ideally, complex executable specifications would be constructed from simpler specijications, using a small set of operators with ‘nice’ algebraic properties, and subsequently transformed to more efficient provably equivalent forms using algebraic identities. These activities are facilitated if the executable specifications are variable-free, have little explicit recursion and are expressed in terms of higher order functions that capture common patterns of computation. In this paper we show how this approach might be used in the calculation of programs constructed as executable specifications of attribute grammars. We have implemented a ‘calculus of interpreters’ in a higher order, pure, lazy functional programming language Miranda’. The resulting programming environment may be thought of as a step towards the realisation of a suggestion made in 1971 by Knuth [9] that executable attribute grammars might provide a viable declarative programming language.
人们对这样一种概念越来越感兴趣,即程序的构造和操作与表达式(比如算术中的微积分)的构造和操作非常相似。理想情况下,复杂的可执行规范将从更简单的规范中构造出来,使用一组具有“良好”代数属性的操作符,然后使用代数恒等式将其转换为更有效的可证明的等价形式。如果可执行规范是无变量的,很少有显式递归,并且用捕获公共计算模式的高阶函数表示,那么这些活动就会很容易。在本文中,我们展示了如何将这种方法用于计算作为属性语法的可执行规范构造的程序。我们用一种更高阶的、纯粹的、懒惰的函数式编程语言Miranda实现了一个“解释器演算”。由此产生的编程环境可以被认为是实现1971年Knuth[9]提出的建议的一步,即可执行属性语法可能提供一种可行的声明性编程语言。
{"title":"Constructing programs in a calculus of lazy interpreters","authors":"R. Frost","doi":"10.1145/99569.99810","DOIUrl":"https://doi.org/10.1145/99569.99810","url":null,"abstract":"There is a growing interest in the notion that programs can be constructed and manipulated in much the same way as are expressions in say the calculus of arithmetic. Ideally, complex executable specifications would be constructed from simpler specijications, using a small set of operators with ‘nice’ algebraic properties, and subsequently transformed to more efficient provably equivalent forms using algebraic identities. These activities are facilitated if the executable specifications are variable-free, have little explicit recursion and are expressed in terms of higher order functions that capture common patterns of computation. In this paper we show how this approach might be used in the calculation of programs constructed as executable specifications of attribute grammars. We have implemented a ‘calculus of interpreters’ in a higher order, pure, lazy functional programming language Miranda’. The resulting programming environment may be thought of as a step towards the realisation of a suggestion made in 1971 by Knuth [9] that executable attribute grammars might provide a viable declarative programming language.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116417958","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}
引用次数: 1
Formal specification for a clinical cyclotron control system 临床回旋加速器控制系统的正式规范
Pub Date : 1990-04-01 DOI: 10.1145/99569.99814
J. Jacky
This report describes preliminary experience writing formal specifications for the control system for a cyclotron and neutron radiation therapy apparatus. This effort is motivated by high reliability and safety requirements, and a need for concise, authoritative documentation to support coding, user instruction, and testing. Software development practices for therapy machines and physics reserach acclerators are reviewed. The operation of our machine from the point of view of the cyclotron operator is described. Many of the cyclotron operator’s controls are well-matched to model-based notations such as Z and VDM. Sample specifications in Z are presented for representative operations of the cyclotron control programs. These notations provide no built-in way to represent the passage of time, and they cannot express some features of concurrent systems and event-driven systems. Alternative notations are discussed, including Petri Nets and Software C’ost Reduction project (SCR) notation. We conclude that it is practical to attempt a comprehensive formal specification of our application, and anticipate that this will be a valuable supplement to traditional development practices.
本报告描述了为回旋加速器和中子放射治疗仪的控制系统编写正式规范的初步经验。这项工作的动机是高可靠性和安全性需求,以及对简明、权威文档的需求,以支持编码、用户指导和测试。回顾了治疗机和物理研究加速器的软件开发实践。从回旋加速器操作员的角度描述了我们的机器的操作。许多回旋加速器操作员的控制与基于模型的符号(如Z和VDM)很好地匹配。在Z中给出了回旋加速器控制程序的代表性操作的样本规格。这些符号没有提供表示时间流逝的内置方法,而且它们不能表示并发系统和事件驱动系统的某些特性。讨论了备选的表示法,包括Petri网和软件成本降低项目(SCR)表示法。我们得出的结论是,尝试对我们的应用程序进行全面的正式规范是可行的,并且预计这将是对传统开发实践的有价值的补充。
{"title":"Formal specification for a clinical cyclotron control system","authors":"J. Jacky","doi":"10.1145/99569.99814","DOIUrl":"https://doi.org/10.1145/99569.99814","url":null,"abstract":"This report describes preliminary experience writing formal specifications for the control system for a cyclotron and neutron radiation therapy apparatus. This effort is motivated by high reliability and safety requirements, and a need for concise, authoritative documentation to support coding, user instruction, and testing. Software development practices for therapy machines and physics reserach acclerators are reviewed. The operation of our machine from the point of view of the cyclotron operator is described. Many of the cyclotron operator’s controls are well-matched to model-based notations such as Z and VDM. Sample specifications in Z are presented for representative operations of the cyclotron control programs. These notations provide no built-in way to represent the passage of time, and they cannot express some features of concurrent systems and event-driven systems. Alternative notations are discussed, including Petri Nets and Software C’ost Reduction project (SCR) notation. We conclude that it is practical to attempt a comprehensive formal specification of our application, and anticipate that this will be a valuable supplement to traditional development practices.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"51 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129895320","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
Applying VDM to large developments 将VDM应用于大型开发
Pub Date : 1990-04-01 DOI: 10.1145/99569.99815
Y. Ledru, Pierre-Yves Schobbens
The paper focuses on the use of VDM. Meta-IV, the specification language of VDM, was proved successful to specify large systems. Although many specifications have been written in Meta-IV, only a few complete VDM developments have been achieved. Experiments with VDM and the /b B/ theorem prover have provided some insight on this problem. The author gives an overview of VDM; he points out several weaknesses of the approach in the perspective of large scale developments; and discusses the benefits of the use of the /b B/ tool.
本文重点介绍了VDM的使用。实践证明,VDM规范语言Meta-IV在大型系统规范方面是成功的。尽管在Meta-IV中编写了许多规范,但只有少数完整的VDM开发已经实现。对VDM和/b /b定理证明器的实验为这个问题提供了一些见解。作者对VDM进行了概述;从大规模发展的角度来看,他指出了该方法的几个弱点;并讨论了使用/b /工具的好处。
{"title":"Applying VDM to large developments","authors":"Y. Ledru, Pierre-Yves Schobbens","doi":"10.1145/99569.99815","DOIUrl":"https://doi.org/10.1145/99569.99815","url":null,"abstract":"The paper focuses on the use of VDM. Meta-IV, the specification language of VDM, was proved successful to specify large systems. Although many specifications have been written in Meta-IV, only a few complete VDM developments have been achieved. Experiments with VDM and the /b B/ theorem prover have provided some insight on this problem. The author gives an overview of VDM; he points out several weaknesses of the approach in the perspective of large scale developments; and discusses the benefits of the use of the /b B/ tool.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130951635","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
Experience with an Estelle development system 具有使用Estelle开发系统的经验
Pub Date : 1990-04-01 DOI: 10.1145/99569.99801
Anthony Chung, D. Sidhu
Estelle is a formal description technique, based on an extended state transition model, by the International Orangization for Standardization (ISO) for specifying protocols and services. The Estelle Development System (EDS) is a comprehensive protocol development environment for protocol designers and implementors for protocols specified in Estelle. Three key components of EDS are an Estelle compiler, a finite state machine analyzer, and a test driver. The Estelle compiler generates C language source code from the Estelle specification file for a protocol for the machine-independent part of the protocol specification which constitutes 50-70’36 of a complete protocol implementation. The finite state machine (FSM) analyzer of EDS is an automated tool to analyze protocol state machines to verify protocol properties such as deadlock-freeness, boundedness, termination and completeness, and to generate user paths or event sequences involving interface events which can be used as test traces. The test driver simulates the network and monitors the behavior of an implementation during tests. EDS is complemented with another set of tools for generating protocol test sequences for the conformance testing of protocols to standards. This Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791-4155/90/0010-0008...$1.50 8 paper discusses application of EDS to the verification, semi-automatic implementation, and conformance test generation for protocols. The experience with EDS has shown that it is powerful, flexible and well-suited to application on real protocols.
Estelle是一种基于扩展状态转换模型的正式描述技术,由国际标准化组织(ISO)用于指定协议和服务。Estelle开发系统(EDS)是一个全面的协议开发环境,用于Estelle中指定的协议的协议设计者和实现者。EDS的三个关键组件是Estelle编译器、有限状态机分析器和测试驱动程序。Estelle编译器从Estelle规范文件生成协议的C语言源代码,用于协议规范中与机器无关的部分,该部分构成完整协议实现的50-70 ' 36。EDS的有限状态机(FSM)分析器是一种自动化的分析协议状态机的工具,用于验证协议的无死锁、有界性、终止性和完整性等属性,并生成包含接口事件的用户路径或事件序列,作为测试轨迹。测试驱动程序模拟网络,并在测试期间监视实现的行为。EDS还补充了另一组工具,用于生成协议测试序列,用于协议与标准的一致性测试。授予免费复制全部或部分本材料的许可,前提是这些副本不是为了直接商业利益而制作或分发的,必须出现ACM版权声明、出版物的标题和日期,并注明复制是由计算机协会许可的。以其他方式复制或重新发布需要付费和/或特定许可。@ 1990 ACM 089791-4155/90/0010-0008论文讨论了EDS在协议验证、半自动实现和一致性测试生成中的应用。实际应用表明,该方法功能强大、灵活,非常适合实际协议的应用。
{"title":"Experience with an Estelle development system","authors":"Anthony Chung, D. Sidhu","doi":"10.1145/99569.99801","DOIUrl":"https://doi.org/10.1145/99569.99801","url":null,"abstract":"Estelle is a formal description technique, based on an extended state transition model, by the International Orangization for Standardization (ISO) for specifying protocols and services. The Estelle Development System (EDS) is a comprehensive protocol development environment for protocol designers and implementors for protocols specified in Estelle. Three key components of EDS are an Estelle compiler, a finite state machine analyzer, and a test driver. The Estelle compiler generates C language source code from the Estelle specification file for a protocol for the machine-independent part of the protocol specification which constitutes 50-70’36 of a complete protocol implementation. The finite state machine (FSM) analyzer of EDS is an automated tool to analyze protocol state machines to verify protocol properties such as deadlock-freeness, boundedness, termination and completeness, and to generate user paths or event sequences involving interface events which can be used as test traces. The test driver simulates the network and monitors the behavior of an implementation during tests. EDS is complemented with another set of tools for generating protocol test sequences for the conformance testing of protocols to standards. This Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791-4155/90/0010-0008...$1.50 8 paper discusses application of EDS to the verification, semi-automatic implementation, and conformance test generation for protocols. The experience with EDS has shown that it is powerful, flexible and well-suited to application on real protocols.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"221 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132065605","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
Verified program support environments 经过验证的程序支持环境
Pub Date : 1990-04-01 DOI: 10.1145/99569.99839
W. D. Young
The stated purpose of the International Workshop on Formal Methods in Software Development is to “explore key issues and promising research directions in the development and maintenance of dependable, adaptable, and efficient software.” In this position paper we contend that a promising approach toward the development of highly reliable software systems is the construction of programming environments which are both highly supportive of the software development process and formally verified.
软件开发中的形式化方法国际研讨会的既定目的是“探索可靠、可适应和高效软件的开发和维护中的关键问题和有前途的研究方向”。在这篇立场论文中,我们认为开发高可靠性软件系统的一个有希望的方法是构建高度支持软件开发过程并经过正式验证的编程环境。
{"title":"Verified program support environments","authors":"W. D. Young","doi":"10.1145/99569.99839","DOIUrl":"https://doi.org/10.1145/99569.99839","url":null,"abstract":"The stated purpose of the International Workshop on Formal Methods in Software Development is to “explore key issues and promising research directions in the development and maintenance of dependable, adaptable, and efficient software.” In this position paper we contend that a promising approach toward the development of highly reliable software systems is the construction of programming environments which are both highly supportive of the software development process and formally verified.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130669211","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}
引用次数: 1
Invariant properties in a dialog system 对话系统中的不变属性
Pub Date : 1990-04-01 DOI: 10.1145/99569.99818
K. Narayana, S. Dharap
Dialog systems are servers for an interface; graphical interfaces are one such. They are like operating systems in the concepts they provide. From a functional point of view, they maintain the interface for the application, permit concurrent execution of programs attached to graphical objects on the interface, and provide services with which a user (or programs) can edit objects of the interface. This paper formulates the invariant properties which need to be satisfied by the various components of a dialog system. These properties involve treatment of object relationships in regard to their layout, the activation and execution of programs attached to objects, and the concurrency model supported by the dialog system. In order to keep detail to the essential, we consider a simple model of dialogs and use the Z notation for the formal design of the system.
对话系统是一个界面的服务器;图形界面就是其中之一。它们提供的概念类似于操作系统。从功能的角度来看,它们维护应用程序的接口,允许连接到接口上的图形对象的程序并发执行,并提供用户(或程序)可以编辑接口对象的服务。本文给出了对话系统各组成部分需要满足的不变性。这些属性涉及对象关系的处理,包括它们的布局、附加到对象上的程序的激活和执行,以及对话系统支持的并发模型。为了保持细节的本质,我们考虑一个简单的对话模型,并使用Z符号来进行系统的正式设计。
{"title":"Invariant properties in a dialog system","authors":"K. Narayana, S. Dharap","doi":"10.1145/99569.99818","DOIUrl":"https://doi.org/10.1145/99569.99818","url":null,"abstract":"Dialog systems are servers for an interface; graphical interfaces are one such. They are like operating systems in the concepts they provide. From a functional point of view, they maintain the interface for the application, permit concurrent execution of programs attached to graphical objects on the interface, and provide services with which a user (or programs) can edit objects of the interface. This paper formulates the invariant properties which need to be satisfied by the various components of a dialog system. These properties involve treatment of object relationships in regard to their layout, the activation and execution of programs attached to objects, and the concurrency model supported by the dialog system. In order to keep detail to the essential, we consider a simple model of dialogs and use the Z notation for the formal design of the system.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114830774","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}
引用次数: 12
On the soundness of graphical representations of interconnected processes in LOTOS LOTOS中互连过程的图形表示的合理性
Pub Date : 1990-04-01 DOI: 10.1145/99569.99574
T. Bolognesi
The graphical representation of the parallel composition of several LOTOS processes as a network of interconnected boxes is ambiguous, due to the nature of the LOTOS binary parallel operator. However, under suitable and sufficiently general conditions, such graphical representation is sound; a method for deriving from these graphs a family of strongly equivalent LOTOS expressions that describe the intcndcd process composition is introduced and proved correct. The method can be used for transforming the structure of parallel LOTOS expressions, and is a gcncralization of previously known algebraic transformation laws.
由于LOTOS二进制并行运算符的性质,将几个LOTOS进程的并行组成作为相互连接的盒子网络的图形表示是模糊的。但是,在适当和足够普遍的条件下,这种图形表示是合理的;介绍了一种从这些图中推导出一组强等效LOTOS表达式的方法,这些表达式描述了过程的组成,并证明了该方法的正确性。该方法可用于并行LOTOS表达式的结构转换,是对已知代数转换规律的推广。
{"title":"On the soundness of graphical representations of interconnected processes in LOTOS","authors":"T. Bolognesi","doi":"10.1145/99569.99574","DOIUrl":"https://doi.org/10.1145/99569.99574","url":null,"abstract":"The graphical representation of the parallel composition of several LOTOS processes as a network of interconnected boxes is ambiguous, due to the nature of the LOTOS binary parallel operator. However, under suitable and sufficiently general conditions, such graphical representation is sound; a method for deriving from these graphs a family of strongly equivalent LOTOS expressions that describe the intcndcd process composition is introduced and proved correct. The method can be used for transforming the structure of parallel LOTOS expressions, and is a gcncralization of previously known algebraic transformation laws.","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130593348","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
Adding relational abstraction to programming languages 向编程语言中添加关系抽象
Pub Date : 1990-04-01 DOI: 10.1145/99569.99833
D. Wile
‘The most successful formal method is abstraction. Functional abstraction, abstract data types, objectoriented type-inheritance, and built-in high-level modeling primitives, like sets, sequences, and maps (with their attendant operators), all raise the level of language with which programmers communicate and hence, promote the production of dependable, adaptable software. Relational abstraction is an abstraction mechanism that has had too little emphasis in the development of programming languages. We have found it to be a useful adjunct to the other abstraction mechanisms mentioned above; in effect,ion mechanisms mentioned above; in effect, relational access to data can be used to regularize idiosyncratic usage of abstract data types. I have designed and implemented a set of macros in Common Lisp that extends it to allow definition, update and queries of abstract relations. It is unusual in that the relations are lightweight: relations are not necessarily the repositories of ‘bulk data’, but are lised as a common abstraction of a wide variety of conventional program data structures. In this paper principles for integrating relational access into programming languages in general are put forth and demonstrated through this design. Of special interest is the ability to compile these abstractions into arbitrary data structures without fear of penalties from poor implementations or run-time overhead. *Sponsored by Defense Advanced Research Projects .gency, Information Science and Technology Office, ARPA Order No. 6096, issued by Defense Supply Service (Washington) under contract no. MDA903-87-C-0641 Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791.4155/90/0010-0128...$1.50 1 Abstraction Methods lLIost researchers identify formal methods with methodological support for the production of software, often independent of the programming languages used. However, linguistic support for formal methods embodied in programming language design can sometimes aid the methodologies considerably. In some sense, when a methodology is understood well enough, support for it migrates into programming languages themselves. For example, ‘top down programming’ as a methodology preceded the ‘gotoless’ languages with their enhanced support for looping and, especially, exiting control. Similarly, ‘abstracting data access’ as a methodology preceded language support for ‘abstract data types.’ The use of abstraction, “reduction to a short statement of the most important ideas,‘” is a formal method for separating concerns: people are encouraged to reason about properties made evident by abstraction before de
“最成功的形式化方法是抽象。功能抽象、抽象数据类型、面向对象的类型继承,以及内置的高级建模原语,如集合、序列和映射(及其伴随的操作符),都提高了程序员使用的语言水平,从而促进了可靠的、可适应的软件的生产。关系抽象是一种抽象机制,在编程语言的开发中很少得到重视。我们发现它是上面提到的其他抽象机制的一个有用的辅助;实际上,上述离子机制;实际上,对数据的关系访问可以用来规范抽象数据类型的特殊用法。我在Common Lisp中设计并实现了一组宏,这些宏对Common Lisp进行了扩展,允许定义、更新和查询抽象关系。不寻常的是,关系是轻量级的:关系不一定是“批量数据”的存储库,而是作为各种常规程序数据结构的公共抽象。本文提出了将关系访问集成到一般编程语言中的原则,并通过该设计进行了论证。特别令人感兴趣的是将这些抽象编译成任意数据结构的能力,而不必担心由于实现不佳或运行时开销而受到惩罚。*由国防高级研究计划局,信息科学与技术办公室,ARPA第6096号订单赞助,由国防供应服务(华盛顿)根据合同号发布。MDA903-87-C-0641授予免费复制全部或部分本材料的许可,前提是该副本不是为直接商业利益而制作或分发的,必须出现ACM版权声明、出版物标题和日期,并注明复制是由计算机协会许可的。以其他方式复制或重新发布需要付费和/或特定许可。抽象方法(abstract Methods)抽象方法研究人员通过对软件生产的方法学支持来确定形式化方法,这些方法通常独立于所使用的编程语言。然而,在编程语言设计中体现的对形式化方法的语言支持有时可以极大地帮助方法论。在某种意义上,当一种方法被理解得足够好时,对它的支持就会迁移到编程语言本身。例如,“自顶向下编程”作为一种方法先于“无gotolless”语言,因为它们增强了对循环的支持,特别是对退出控制的支持。类似地,“抽象数据访问”作为一种方法先于语言对“抽象数据类型”的支持。抽象的使用,“将最重要的思想简化为简短的陈述”,是分离关注点的一种正式方法:鼓励人们在处理包含被抽象掩盖的细节的属性之前,先对通过抽象变得明显的属性进行推理。软件开发方法抽象了编程过程的某些方面,以便减少程序员在任何时候考虑的细节的多样性和复杂性,因此随着时间的推移,细节的总体
{"title":"Adding relational abstraction to programming languages","authors":"D. Wile","doi":"10.1145/99569.99833","DOIUrl":"https://doi.org/10.1145/99569.99833","url":null,"abstract":"‘The most successful formal method is abstraction. Functional abstraction, abstract data types, objectoriented type-inheritance, and built-in high-level modeling primitives, like sets, sequences, and maps (with their attendant operators), all raise the level of language with which programmers communicate and hence, promote the production of dependable, adaptable software. Relational abstraction is an abstraction mechanism that has had too little emphasis in the development of programming languages. We have found it to be a useful adjunct to the other abstraction mechanisms mentioned above; in effect,ion mechanisms mentioned above; in effect, relational access to data can be used to regularize idiosyncratic usage of abstract data types. I have designed and implemented a set of macros in Common Lisp that extends it to allow definition, update and queries of abstract relations. It is unusual in that the relations are lightweight: relations are not necessarily the repositories of ‘bulk data’, but are lised as a common abstraction of a wide variety of conventional program data structures. In this paper principles for integrating relational access into programming languages in general are put forth and demonstrated through this design. Of special interest is the ability to compile these abstractions into arbitrary data structures without fear of penalties from poor implementations or run-time overhead. *Sponsored by Defense Advanced Research Projects .gency, Information Science and Technology Office, ARPA Order No. 6096, issued by Defense Supply Service (Washington) under contract no. MDA903-87-C-0641 Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. @ 1990 ACM 089791.4155/90/0010-0128...$1.50 1 Abstraction Methods lLIost researchers identify formal methods with methodological support for the production of software, often independent of the programming languages used. However, linguistic support for formal methods embodied in programming language design can sometimes aid the methodologies considerably. In some sense, when a methodology is understood well enough, support for it migrates into programming languages themselves. For example, ‘top down programming’ as a methodology preceded the ‘gotoless’ languages with their enhanced support for looping and, especially, exiting control. Similarly, ‘abstracting data access’ as a methodology preceded language support for ‘abstract data types.’ The use of abstraction, “reduction to a short statement of the most important ideas,‘” is a formal method for separating concerns: people are encouraged to reason about properties made evident by abstraction before de","PeriodicalId":429108,"journal":{"name":"Formal Methods in Software Development","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1990-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124107719","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 Methods in Software Development
全部 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