首页 > 最新文献

1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems最新文献

英文 中文
State-based reproducible testing for CORBA applications 针对CORBA应用程序的基于状态的可重复测试
Hwan Wook Sohn, D. Kung, P. Hsia
Reproducible testing approaches have been developed for traditional concurrent programs for over a decade to provide a deterministic way of testing, but those approaches are generally based on the control structure of the program. However in recently revitalized component based software development, state-based testing is more important than control structure based testing because such components are usually implemented using the object-oriented paradigm. We propose a dynamic state-based reproducible testing approach for a component software that each component can change the system state nondeterministically during the concurrent execution in a Common Object Request Broker Architecture (CORBA) environment. We use a replay controller for a given state sequence from a statechart-like model of each component. The replay controller is designed to force the order of the program's execution based on the given state sequence. Unlike the static state analysis of a program, our approach dynamically executes the actual program components under the control of the replay controller for a selected state sequence. With this state-based reproducible testing approach, testers can detect state behavioral errors of a component software dynamically and deterministically.
为了提供一种确定性的测试方法,针对传统并发程序开发了可重复测试方法已有十多年的历史,但是这些方法通常是基于程序的控制结构。然而,在最近复兴的基于组件的软件开发中,基于状态的测试比基于控制结构的测试更重要,因为这些组件通常使用面向对象范例实现。在公共对象请求代理体系结构(Common Object Request Broker Architecture, CORBA)环境中,针对一个组件软件在并发执行过程中,每个组件都可以不确定地改变系统状态,提出了一种基于动态状态的可重复测试方法。对于来自每个组件的类似状态图的模型的给定状态序列,我们使用一个重放控制器。重播控制器设计用于根据给定的状态序列强制程序的执行顺序。与程序的静态状态分析不同,我们的方法在回放控制器的控制下动态地执行选定状态序列的实际程序组件。使用这种基于状态的可重复测试方法,测试人员可以动态和确定地检测组件软件的状态行为错误。
{"title":"State-based reproducible testing for CORBA applications","authors":"Hwan Wook Sohn, D. Kung, P. Hsia","doi":"10.1109/PDSE.1999.779736","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779736","url":null,"abstract":"Reproducible testing approaches have been developed for traditional concurrent programs for over a decade to provide a deterministic way of testing, but those approaches are generally based on the control structure of the program. However in recently revitalized component based software development, state-based testing is more important than control structure based testing because such components are usually implemented using the object-oriented paradigm. We propose a dynamic state-based reproducible testing approach for a component software that each component can change the system state nondeterministically during the concurrent execution in a Common Object Request Broker Architecture (CORBA) environment. We use a replay controller for a given state sequence from a statechart-like model of each component. The replay controller is designed to force the order of the program's execution based on the given state sequence. Unlike the static state analysis of a program, our approach dynamically executes the actual program components under the control of the replay controller for a selected state sequence. With this state-based reproducible testing approach, testers can detect state behavioral errors of a component software dynamically and deterministically.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"143 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116524917","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}
引用次数: 18
Building test cases for use in hypersequential programming 构建用于超顺序编程的测试用例
Chris Rudram, P. Croll, N. Uchihira
A novel concurrent programming paradigm called hypersequential programming (HSP) is being developed. HSP aims to eliminate all undesirable behaviours from a given application. A fundamental part of that system requires the use of test cases for the serialization of a program. Only those test cases found to be correct are used in the final concurrent program. Therefore, HSP relies on all the functionality being included into a program. This is opposite to traditional software engineering practice, which is to ensure that all unwanted behaviours have been removed. We briefly examine the HSP method with reference to test cases and scenarios. We examine a couple of brief examples and discuss the limitations of test cases, with particular respect to HSP. We conclude that finding a method of ensuring the correct set of test cases is used in development is essential to the success of HSP.
一种新的并发编程范式被称为超顺序编程(HSP)。HSP旨在消除给定应用程序中的所有不良行为。该系统的一个基本部分需要对程序的序列化使用测试用例。只有那些被发现是正确的测试用例才会在最终的并发程序中使用。因此,HSP依赖于程序中包含的所有功能。这与传统的软件工程实践相反,传统的软件工程实践是要确保所有不需要的行为都被删除。我们参考测试用例和场景简要地检查HSP方法。我们研究了几个简短的例子,并讨论了测试用例的局限性,特别是在HSP方面。我们得出的结论是,找到一种确保在开发中使用正确的测试用例集的方法对于HSP的成功至关重要。
{"title":"Building test cases for use in hypersequential programming","authors":"Chris Rudram, P. Croll, N. Uchihira","doi":"10.1109/PDSE.1999.779753","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779753","url":null,"abstract":"A novel concurrent programming paradigm called hypersequential programming (HSP) is being developed. HSP aims to eliminate all undesirable behaviours from a given application. A fundamental part of that system requires the use of test cases for the serialization of a program. Only those test cases found to be correct are used in the final concurrent program. Therefore, HSP relies on all the functionality being included into a program. This is opposite to traditional software engineering practice, which is to ensure that all unwanted behaviours have been removed. We briefly examine the HSP method with reference to test cases and scenarios. We examine a couple of brief examples and discuss the limitations of test cases, with particular respect to HSP. We conclude that finding a method of ensuring the correct set of test cases is used in development is essential to the success of HSP.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129039546","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
Symphony: a Java-based composition and manipulation framework for distributed legacy resources Symphony:用于分布式遗留资源的基于java的组合和操作框架
Ashish Shah, D. Kafura
Symphony is an open and extensible Java-based framework for composition and manipulation of distributed legacy resources. Symphony allows users to compose visually a collection of programs and data by specifying dataflow relationships among them and provides a client/server framework for transparently executing the composed application. Additionally, the framework is Web-aware and helps integrate Web-based resources with legacy resources. Symphony uses Sun Microsystems' JavaBeans component architecture for providing components that represent legacy resources. These components can be customized and composed in any standard JavaBeans builder tool. Executable components communicate with a server implemented using Java Remote Method Invocation mechanism, for executing remote legacy applications. Symphony enables extensibility by providing abstract components which can be extended by implementing simple interfaces. Beans implemented from the abstract beans can act as data producers, consumers or filters.
Symphony是一个开放的、可扩展的、基于java的框架,用于组合和操作分布式遗留资源。Symphony允许用户通过指定程序和数据之间的数据流关系来可视化地组合一组程序和数据,并提供一个客户端/服务器框架来透明地执行组合后的应用程序。此外,该框架是web感知的,并有助于将基于web的资源与遗留资源集成。Symphony使用Sun Microsystems的JavaBeans组件体系结构来提供表示遗留资源的组件。这些组件可以在任何标准JavaBeans构建器工具中进行定制和组合。可执行组件与使用Java远程方法调用机制实现的服务器通信,以执行远程遗留应用程序。Symphony通过提供可通过实现简单接口进行扩展的抽象组件来实现可扩展性。从抽象bean实现的bean可以充当数据生产者、消费者或过滤器。
{"title":"Symphony: a Java-based composition and manipulation framework for distributed legacy resources","authors":"Ashish Shah, D. Kafura","doi":"10.1109/PDSE.1999.779734","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779734","url":null,"abstract":"Symphony is an open and extensible Java-based framework for composition and manipulation of distributed legacy resources. Symphony allows users to compose visually a collection of programs and data by specifying dataflow relationships among them and provides a client/server framework for transparently executing the composed application. Additionally, the framework is Web-aware and helps integrate Web-based resources with legacy resources. Symphony uses Sun Microsystems' JavaBeans component architecture for providing components that represent legacy resources. These components can be customized and composed in any standard JavaBeans builder tool. Executable components communicate with a server implemented using Java Remote Method Invocation mechanism, for executing remote legacy applications. Symphony enables extensibility by providing abstract components which can be extended by implementing simple interfaces. Beans implemented from the abstract beans can act as data producers, consumers or filters.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131456785","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
Building mobile agent applications in HiMAT 在HiMAT中构建移动代理应用
M. Cremonini, Andrea Omicini, F. Zambonelli
An engineered approach to the design of mobile agent applications requires appropriate abstractions for both the space where agents move and the conceptual space of mobile agent interaction. The paper introduces the HiMAT framework for mobile agent applications, which models the Internet as a collection of hierarchical domains, where programmable coordination media rule mobile agent's interaction within each domain and locally to each node. This provides the designers of mobile agent systems with a single, coherent framework enabling them to effectively deal with network topology, authentication, authorisation and coordination in a uniform way.
设计移动代理应用程序的工程方法需要对代理移动的空间和移动代理交互的概念空间进行适当的抽象。本文介绍了面向移动代理应用的HiMAT框架,该框架将互联网建模为一个分层域的集合,其中可编程协调媒体规则移动代理在每个域中和本地到每个节点的交互。这为移动代理系统的设计者提供了一个单一的、连贯的框架,使他们能够以统一的方式有效地处理网络拓扑、身份验证、授权和协调。
{"title":"Building mobile agent applications in HiMAT","authors":"M. Cremonini, Andrea Omicini, F. Zambonelli","doi":"10.1109/PDSE.1999.779749","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779749","url":null,"abstract":"An engineered approach to the design of mobile agent applications requires appropriate abstractions for both the space where agents move and the conceptual space of mobile agent interaction. The paper introduces the HiMAT framework for mobile agent applications, which models the Internet as a collection of hierarchical domains, where programmable coordination media rule mobile agent's interaction within each domain and locally to each node. This provides the designers of mobile agent systems with a single, coherent framework enabling them to effectively deal with network topology, authentication, authorisation and coordination in a uniform way.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"107 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124748792","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
Component-based development and verification of safety critical software for a brake-by-wire system with synchronous software components 基于组件的线控制动系统安全关键软件的开发与验证
M. Gunzert, A. Nägele
In this paper we describe the development and verification of software for an automotive brake-by-wire system. This is a new brake system without mechanical or hydraulic backup. The system is based on a time-triggered communication architecture. The central control computer in this distributed system, called Brake-by-Wire Manager, is a redundant design in order to tolerate any single failure. The software of this computer is subject to a set of safety related requirements which must be verified. We have developed the software using synchronous software components based on the synchronous ESTEREL. Many safety properties have been verified successfully and the software has been integrated in a prototype brake-by-wire system in a research car.
本文介绍了汽车线控制动系统软件的开发与验证。这是一种没有机械或液压备份的新制动系统。该系统基于时间触发通信架构。这个分布式系统中的中央控制计算机,称为线控制动管理器,是一个冗余设计,以容忍任何单一故障。这台计算机的软件受一系列安全相关要求的约束,这些要求必须经过验证。我们在同步ESTEREL的基础上,采用同步软件组件进行了软件开发。该系统的许多安全性能已被成功验证,并已集成到一辆研究车上的线控制动系统样机中。
{"title":"Component-based development and verification of safety critical software for a brake-by-wire system with synchronous software components","authors":"M. Gunzert, A. Nägele","doi":"10.1109/PDSE.1999.779745","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779745","url":null,"abstract":"In this paper we describe the development and verification of software for an automotive brake-by-wire system. This is a new brake system without mechanical or hydraulic backup. The system is based on a time-triggered communication architecture. The central control computer in this distributed system, called Brake-by-Wire Manager, is a redundant design in order to tolerate any single failure. The software of this computer is subject to a set of safety related requirements which must be verified. We have developed the software using synchronous software components based on the synchronous ESTEREL. Many safety properties have been verified successfully and the software has been integrated in a prototype brake-by-wire system in a research car.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115280030","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}
引用次数: 33
Multithreaded dependence graphs for concurrent Java programs 并发Java程序的多线程依赖关系图
Jianjun Zhao
Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. We present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concurrent Java program. We also discuss some important applications of a multithreaded dependence graph in a maintenance environment for concurrent Java programs.
理解计算机程序中的程序依赖关系对于许多软件工程活动是必不可少的,包括程序切片、测试、调试、逆向工程和维护。我们提出了一种基于依赖的表示,称为多线程依赖图,它扩展了以前基于依赖的表示,以表示并发Java程序中的程序依赖。我们还讨论了多线程依赖图在并发Java程序维护环境中的一些重要应用。
{"title":"Multithreaded dependence graphs for concurrent Java programs","authors":"Jianjun Zhao","doi":"10.1109/PDSE.1999.779735","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779735","url":null,"abstract":"Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. We present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concurrent Java program. We also discuss some important applications of a multithreaded dependence graph in a maintenance environment for concurrent Java programs.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131446772","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}
引用次数: 45
Deadlock analysis of synchronous message-passing programs 同步消息传递程序的死锁分析
Jun Zhou, K. Tai
Reachability analysis of a concurrent program involves the derivation of states of the program and the detection of deadlocks and other types of faults. To perform reachability analysis of a concurrent program P, the number of instances of each process type in P needs to be determined. How to select such numbers for P is a difficult issue. If these numbers are large, reachability analysis of P needs huge memory and very long CPU time. If these numbers are small, we have little confidence on whether P is deadlock-free for larger numbers of instances of process types in P. A deadlock cutoff number C for a process type T in P means that if under certain conditions P with C instances of T has no deadlocks, then P has no dead locks for any number of instances of T. We describe methods for finding deadlock cutoff numbers for three types of synchronous message-passing programs. Our methods are based on the theory of Milner's CCS. By applying these methods, the effort for detecting deadlocks in many synchronous message-passing programs can be significantly reduced. Empirical results of applying our methods to solutions to the dining philosophers and readers and writers problems are presented.
并发程序的可达性分析包括程序状态的派生以及死锁和其他类型故障的检测。为了执行并发程序P的可达性分析,需要确定P中每种进程类型的实例数量。如何为P选择这样的数字是一个难题。如果这些数字很大,则P的可达性分析需要巨大的内存和非常长的CPU时间。如果这些数字很小,我们没有信心是否P是deadlock-free过程类型的实例的大量P .死锁截止在P C过程类型T意味着如果在特定条件下P C T的实例没有死锁,那么P没有死锁的T的实例数量我们描述方法寻找僵局截止数据三种类型的同步消息传递程序。我们的方法是基于米尔纳的CCS理论。通过应用这些方法,可以大大减少在许多同步消息传递程序中检测死锁的工作量。应用我们的方法来解决餐饮哲学家和读者和作家的问题的实证结果提出。
{"title":"Deadlock analysis of synchronous message-passing programs","authors":"Jun Zhou, K. Tai","doi":"10.1109/PDSE.1999.779739","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779739","url":null,"abstract":"Reachability analysis of a concurrent program involves the derivation of states of the program and the detection of deadlocks and other types of faults. To perform reachability analysis of a concurrent program P, the number of instances of each process type in P needs to be determined. How to select such numbers for P is a difficult issue. If these numbers are large, reachability analysis of P needs huge memory and very long CPU time. If these numbers are small, we have little confidence on whether P is deadlock-free for larger numbers of instances of process types in P. A deadlock cutoff number C for a process type T in P means that if under certain conditions P with C instances of T has no deadlocks, then P has no dead locks for any number of instances of T. We describe methods for finding deadlock cutoff numbers for three types of synchronous message-passing programs. Our methods are based on the theory of Milner's CCS. By applying these methods, the effort for detecting deadlocks in many synchronous message-passing programs can be significantly reduced. Empirical results of applying our methods to solutions to the dining philosophers and readers and writers problems are presented.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"180 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133692219","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}
引用次数: 13
Evaluation of a methodology for the reverse engineering and parallelization of sequential code 评价逆向工程和顺序代码并行化的方法
P. Andersen, Joseph Pizzi, Runlin Zhu, Youling Cao, D. Bagert, J. Antonio, Fred Lott, John C. Grieger
A general methodology based on software engineering principles is proposed for the parallelization of existing sequential code. The utility of the proposed methodology is evaluated through a case study involving a numerically intensive application in the domain of petrochemical exploration. The methodology does not assume the existence of detail design documentation for the sequential code. The methodology involves three basic phases: (1) reverse engineering; (2) parallel design; and (3) parallel implementation. The process iterates between phases two and three until the values of the performance metrics satisfy project requirements. In addition to the methodology itself considerable detail related to the experiences and lessons learned in performing the case study, are included.
提出了一种基于软件工程原理的现有顺序代码并行化的通用方法。通过一个涉及石油化工勘探领域的数值密集应用的案例研究来评估所提出的方法的效用。该方法不假设存在顺序代码的详细设计文档。该方法包括三个基本阶段:(1)逆向工程;(2)并行设计;(3)并行实现。该过程在阶段二和阶段三之间迭代,直到性能度量的值满足项目需求。除了方法本身之外,还包括了与执行案例研究中获得的经验和教训有关的相当详细的内容。
{"title":"Evaluation of a methodology for the reverse engineering and parallelization of sequential code","authors":"P. Andersen, Joseph Pizzi, Runlin Zhu, Youling Cao, D. Bagert, J. Antonio, Fred Lott, John C. Grieger","doi":"10.1109/PDSE.1999.779744","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779744","url":null,"abstract":"A general methodology based on software engineering principles is proposed for the parallelization of existing sequential code. The utility of the proposed methodology is evaluated through a case study involving a numerically intensive application in the domain of petrochemical exploration. The methodology does not assume the existence of detail design documentation for the sequential code. The methodology involves three basic phases: (1) reverse engineering; (2) parallel design; and (3) parallel implementation. The process iterates between phases two and three until the values of the performance metrics satisfy project requirements. In addition to the methodology itself considerable detail related to the experiences and lessons learned in performing the case study, are included.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128216510","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
Specifying and analysing distributed object-oriented systems 指定和分析分布式面向对象系统
M. Frey, M. Podolsky
The ability to check whether the modeled system satisfies certain properties is a very important aspect in the software development process. Many object-oriented methods do not pay enough attention to behavioral descriptions. Indeed, they mostly do not provide formally founded descriptions that can be checked an atomatically. This paper presents an integrated approach, consisting of formally founded description techniques, an expressive temporal logic for specifying properties, and a model checking mechanism for automatically checking whether some executions of the specified system satisfy the required properties.
在软件开发过程中,检查建模系统是否满足某些属性的能力是一个非常重要的方面。许多面向对象的方法对行为描述没有给予足够的重视。实际上,它们大多不提供可以自动检查的正式建立的描述。本文提出了一种集成的方法,包括正式建立的描述技术,用于指定属性的表达时态逻辑,以及用于自动检查指定系统的某些执行是否满足所需属性的模型检查机制。
{"title":"Specifying and analysing distributed object-oriented systems","authors":"M. Frey, M. Podolsky","doi":"10.1109/PDSE.1999.779737","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779737","url":null,"abstract":"The ability to check whether the modeled system satisfies certain properties is a very important aspect in the software development process. Many object-oriented methods do not pay enough attention to behavioral descriptions. Indeed, they mostly do not provide formally founded descriptions that can be checked an atomatically. This paper presents an integrated approach, consisting of formally founded description techniques, an expressive temporal logic for specifying properties, and a model checking mechanism for automatically checking whether some executions of the specified system satisfy the required properties.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"644 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116417033","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
Automated test sequence generation using sequencing constraints for concurrent programs 使用并行程序的序列约束自动生成测试序列
B. Karaçali, K. Tai
Sequencing constraints for a concurrent program specify restrictions on the allowed sequences of synchronization events, and they can be used in generating test sequences for the program. In earlier work, the notion of CSPE (constraints on succeeding and preceding events) constraint was defined, and the CSPE-1 coverage criterion, which requires the coverage of each CSPE constraint at least once, was shown to be effective for fault detection. We show how to automatically generate test sequences to satisfy, the CSPE-1 criterion for a set of CSPE constraints. Our test sequence generation strategy is to determine (a) the number of instances for each process type for accomplishing the CSPE-1 coverage criterion such that the total instance number is minimum and (b) the smallest sequence set among all sets satisfying (a). Empirical results of applying our test generation strategy to the bounded buffer problem and seven versions of the readers and writers problem are presented.
并发程序的序列约束指定了对允许的同步事件序列的限制,并且它们可以用于为程序生成测试序列。在早期的工作中,定义了CSPE(后续和先前事件的约束)约束的概念,并且CSPE-1覆盖标准被证明对故障检测是有效的,该标准要求每个CSPE约束至少覆盖一次。我们展示了如何自动生成测试序列来满足一组CSPE约束的CSPE-1标准。我们的测试序列生成策略是确定(a)完成CSPE-1覆盖标准的每种进程类型的实例数,使总实例数最小,以及(b)满足(a)的所有集合中最小的序列集。将我们的测试生成策略应用于有界缓冲区问题和七个版本的阅读器和写入器问题的经验结果。
{"title":"Automated test sequence generation using sequencing constraints for concurrent programs","authors":"B. Karaçali, K. Tai","doi":"10.1109/PDSE.1999.779742","DOIUrl":"https://doi.org/10.1109/PDSE.1999.779742","url":null,"abstract":"Sequencing constraints for a concurrent program specify restrictions on the allowed sequences of synchronization events, and they can be used in generating test sequences for the program. In earlier work, the notion of CSPE (constraints on succeeding and preceding events) constraint was defined, and the CSPE-1 coverage criterion, which requires the coverage of each CSPE constraint at least once, was shown to be effective for fault detection. We show how to automatically generate test sequences to satisfy, the CSPE-1 criterion for a set of CSPE constraints. Our test sequence generation strategy is to determine (a) the number of instances for each process type for accomplishing the CSPE-1 coverage criterion such that the total instance number is minimum and (b) the smallest sequence set among all sets satisfying (a). Empirical results of applying our test generation strategy to the bounded buffer problem and seven versions of the readers and writers problem are presented.","PeriodicalId":373753,"journal":{"name":"1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1999-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114441058","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}
引用次数: 16
期刊
1999 Proceedings International Symposium on Software Engineering for Parallel and Distributed Systems
全部 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