A technique is presented for instrumenting Concurrent Pascal systems at the component level. The key technical problem is that of implanting in each component a unique index which can be matched to the name of the com...
详细信息
A technique is presented for instrumenting Concurrent Pascal systems at the component level. The key technical problem is that of implanting in each component a unique index which can be matched to the name of the component by the instrumentation package. The implantation technique requires two monitors for parent-parent synchronization and parent-offspring synchronization. An additional monitor provides percent utilization statistics by component and a report process periodically produces summary figures. The entire procedure can be automated. The source Concurrent Pascal System can be read by an instrumentation program and the Instrumented Source Program produced as output. No modifications are required to the Concurrent Pascal Compiler, hence the same compiler can be used to compile and run either the instrumented or uninstrumented version of the system.
The problem of concurrent access to dynamically balanced binary search trees is addressed. Specifically, two solutions for concurrent search and insertion in AVL trees are developed. The first solution is relatively s...
详细信息
The problem of concurrent access to dynamically balanced binary search trees is addressed. Specifically, two solutions for concurrent search and insertion in AVL trees are developed. The first solution is relatively simple and is intended to allow several readers to share nodes with a writer process. The second solution uses the first as a starting point and introduces additional concurrency among writers by applying various paralleliztion techniques. Simulation results used to evaluate the parallel performance of these algorithms with regard to the amount of concurrency achieved and the parallel overhead incurred are summarized.
Algebraic specification technique for the description of data types is considered. It consists of two parts: (1) the syntactic specification providing a finite set of operation symbols together with domain and range i...
详细信息
Algebraic specification technique for the description of data types is considered. It consists of two parts: (1) the syntactic specification providing a finite set of operation symbols together with domain and range information;(2) the semantic specification consisting of a finite set of ″equations″ built from operation symbols, constants, and variables. The technique bears a number of problems which are discussed in the paper.
An algorithm which solves the critical section problem for distributed processes is presented. The solution of L. Lamport is extended by continuing to allow processes to access their respective critical sections in an...
详细信息
An algorithm which solves the critical section problem for distributed processes is presented. The solution of L. Lamport is extended by continuing to allow processes to access their respective critical sections in any arbitrary user-specified order, but with greatly reduced storage requirements for each process. In addition, a facility is supplied for testing the presence of deadlock among processes waiting to enter their critical code. The scheme is shown to be tolerant of several malfunctioning processors, and derive an equation relating the probability of total system failure to the probability of many individual failures occurring simultaneously among the processors.
A model of computation is introduced which permits the analysis of both the time and space requirements of non-oblivious programs. Using this model, it is demonstrated that any algorithm for sorting n inputs which is ...
详细信息
A model of computation is introduced which permits the analysis of both the time and space requirements of non-oblivious programs. Using this model, it is demonstrated that any algorithm for sorting n inputs which is based on comparisons of individual inputs requires time-space product proportional to n**2. Uniform and non-uniform sorting algorithms are presented which show that this lower bound is nearly tight.
An approach to the analysis of concurrent software is discussed. The approach, called anomaly detection, involves the algorithmic derivation of information concerning potential errors and the subsequent, possibly non-...
详细信息
An approach to the analysis of concurrent software is discussed. The approach, called anomaly detection, involves the algorithmic derivation of information concerning potential errors and the subsequent, possibly non-algorithmic determination of whether or not the reported anomalies are actual errors. Overviews are given of algorithms for detecting data-usage and synchronization anomalies and discuss how this technique may be integrated within a general software development support system.
The problems of consistency between a computer program and its specification are discussed. The presence of axiomatic definitions of abstract types provides a mechanism for proving this consistency. Two approaches for...
详细信息
The problems of consistency between a computer program and its specification are discussed. The presence of axiomatic definitions of abstract types provides a mechanism for proving this consistency. Two approaches for the definition of the abstract types are considered - within the programming language Euclid and algebraic technique.
Effective management and control of the development, operation and maintenance of software has been the weakest link over the thirty years of the evolution of the internally stored digital program. Improved management...
详细信息
Effective management and control of the development, operation and maintenance of software has been the weakest link over the thirty years of the evolution of the internally stored digital program. Improved management practices and controls have been shown to significantly reduce costs, improve reliability, and provide for easier maintainability. It is time for today's software managers, even at upper levels, to realize that to be effective they must involve themselves in the details of software development and they must understand the software that they are managing. Software engineering is a rapidly emerging field providing insights into software development. The results of several software engineering research projects applicable to software management are described.
The paper describes new software techniques developed to document the requirements of real-time flight software for the Navy's A-7 aircraft. The paper outlines the information that belongs in a requirements docume...
详细信息
The paper describes new software techniques developed to document the requirements of real-time flight software for the Navy's A-7 aircraft. The paper outlines the information that belongs in a requirements document and discusses the objectives behind the techniques. Each technique is described and illustrated with examples from the A-7 document.
Traditional implementations of conditional critical regions and monitors can lead to unproductive ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysi...
详细信息
Traditional implementations of conditional critical regions and monitors can lead to unproductive ″busy waiting″ if processes are allowed to wait on arbitrary boolean expressions. Techniques from global flow analysis may be employed at compile time to obtain information about which critical regions (monitor calls) are enabled by the execution of a given critical region (monitor call). The complexity of computing this information is investigated, and it is shown how it can be used to obtain efficient scheduling algorithms with less busy waiting.
暂无评论