|
1. |
Experience with modularity in consul |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1059-1075
Shivakant Mishra,
Larry L. Peterson,
Richard D. Schlichting,
Preview
|
PDF (1270KB)
|
|
摘要:
AbstractThe use of modularity in the design and implementation of complex software simplifies the development process, as well as facilitating the construction of customized configurations. This paper describes our experience using modularity in Consul, a communication substrate used for constructing fault‐tolerant distributed programs. First, Consul is presented as a case study of how modularity is feasible in both the design and the implementation of such systems. Secondly, general lessons about modularity in fault‐tolerant systems based on our experience with Consul are given. Issues that are addressed include deciding how the system is divided into various modules, dealing with problems that result when protocols are combined, and ensuring that the underlying object infrastructure provides adequate support. The key observation is that the modularization process is most affected by dependencies between modules, both direct dependencies caused by one module explicitly using another's operation and indirect dependencies where one module is affected by another without direct interaction. Although our observations are based on designing and implementing Consul, the lessons are applicable to any fault‐tolerant distributed s
ISSN:0038-0644
DOI:10.1002/spe.4380231002
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
2. |
A generational and conservative copying collector for hybrid object‐oriented languages |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1077-1093
Tamiya Onodera,
Preview
|
PDF (1071KB)
|
|
摘要:
AbstractA copying collector has two excellent properties: it compacts the heap, and the execution time depends solely on the number of live objects. Use of a copying collector is thought by some to be a more efficient way of managing the heap than explicit freeing of objects. This paper describes a high‐performance copying collector for a hybrid object‐oriented language. The collector is both conservative and generational. It relies on the overlying compiler to identify most true pointers, and on the underlying operating system to detect pointers to younger generations. The implementation described here uses a modified version of the compiler for a C‐based object‐oriented language, and the Mach operating system. The performance results have confirmed the author's expectation: the collector has been faster than explicit
ISSN:0038-0644
DOI:10.1002/spe.4380231003
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
3. |
An application of causal analysis to the software modification process |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1095-1105
James S. Collofello,
Bakul P. Gosalia,
Preview
|
PDF (625KB)
|
|
摘要:
AbstractThe development of high quality large‐scale software systems within schedule and budget constraints is a formidable software engineering challenge. The modification of these systems to incorporate new and changing capabilities poses an even greater challenge. This modification activity must be performed without adversely affecting the quality of the existing system. Unfortunately, this objective is rarely met. Software modifications often introduce undesirable side‐effects, leading to reduced quality.In this paper, the software modification process for a large, evolving real‐time system is analysed using causal analysis. Causal analysis is a process for achieving quality improvements via fault prevention. The fault prevention stems from a careful analysis of faults in search of their causes. This paper reports our use of causal analysis on several significant modification activities resulting in about two hundred defects. Recommendations for improved software modification and quality assurance processes based on our findings are also pres
ISSN:0038-0644
DOI:10.1002/spe.4380231004
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
4. |
A performance comparison of event calendar algorithms: An empirical approach |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1107-1138
Kehsiung Chung,
Janche Sang,
Vernon Rego,
Preview
|
PDF (2033KB)
|
|
摘要:
AbstractWe propose a suite of tests based on two‐state Markov chains for experimentally assessing the dynamic performance of a variety of simulation event calendar implementations. In contrast to previous studies based on the standard hold model for evaluation of performance statically, the proposed Markov hold model is more general and can be used to examine how different implementations respond dynamically to dependent sequences of insertion and deletion requests. The Markov hold model is used to conduct tests based on random, stressed, and correlated input sequences of requests, with performance measures including completion times, sensitivity to correlations, sensitivity to duplication, and efficiency of data‐handling. We apply these tests to fourteen different event calendar implementations. To demonstrate the utility of the proposed model, we also include a comparison of the event calendar algorithms on a token ring protocol with bursty Markovian packet‐tr
ISSN:0038-0644
DOI:10.1002/spe.4380231005
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
5. |
Guarded attribute grammars |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1139-1156
R. A. Frost,
Preview
|
PDF (1123KB)
|
|
摘要:
AbstractContrary to a widely‐held belief, it is possible to construct executable specifications of language processors that use a top‐down parsing strategy and which have structures that directly reflect the structure of grammars containing left‐recursive productions. A novel technique has been discovered by which the non‐termination that would otherwise occur is avoided by ‘guarding’ top‐down left‐recursive language processors by non‐left‐recursive recognizers. The use of a top‐down parsing strategy increases modularity and the use of left‐recursive productions facilitates specification of semantic equations. A combination of the two is of significant practical value because it results in modular and expressively clear executable specifications of language processors. The new approach has been tested in an attribute grammar programming environment that has been used in a number of projects including the development of natural language interfaces, SQL processors and circuit design transformers withi
ISSN:0038-0644
DOI:10.1002/spe.4380231006
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
6. |
Static analysis of exception handling in Ada |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page 1157-1174
Carl F. Schaefer,
Gary N. Bundy,
Preview
|
PDF (1136KB)
|
|
摘要:
AbstractSince the signature of an Ada subprogram does not specify the set of exceptions that the subprogram can propagate, computing the set of exceptions that a subprogram may encounter is not a trivial task. This is a source of error in large Ada systems: for example, a subprogram may not be prepared to handle an exception propagated from another subprogram several layers lower in the call‐tree. In a large system, the number of paths in exceptional processing is so great that it is unlikely that testing will uncover all errors in inter‐procedural exception handling. Nor are compilers or code inspections likely to locate all such errors. Exception handling is an area where static analysis has a high potential payoff for systems with high reliability requirements. We discuss fundamental notions in computing exception propagation and describe an analysis tool that has proved to be effective in detecting inconsistencies in the exception‐handling code of Ada applica
ISSN:0038-0644
DOI:10.1002/spe.4380231007
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
7. |
Masthead |
|
Software: Practice and Experience,
Volume 23,
Issue 10,
1993,
Page -
Preview
|
PDF (55KB)
|
|
ISSN:0038-0644
DOI:10.1002/spe.4380231001
出版商:John Wiley&Sons, Ltd.
年代:1993
数据来源: WILEY
|
|