Cooperating diverse experts: a methodology to develop quality software for critical decision support systems

The problem of developing software for critical systems in the decision support context is considered. The limitations of existing software development methodologies are mentioned and a new methodology, cooperating diverse experts (CDE), is proposed. This new methodology draws upon techniques used in multiple version software and in distributed recovery blocks. The methodology relies upon the ultrareliable development of a parameterizable arbitrator to administer the cooperation of multiple diverse implementations (interpretations) of the decision support problem. CDE may be used to develop a single reliable software module or it may be used as an operational system in which some modules are multiply implemented.<<ETX>>

[1]  John P. J. Kelly,et al.  Achieving Dependability Throughout the Development Process: A Distributed Software Experiment , 1990, IEEE Trans. Software Eng..

[2]  Liming Chen,et al.  N-VERSION PROGRAMMINC: A FAULT-TOLERANCE APPROACH TO RELlABlLlTY OF SOFTWARE OPERATlON , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[3]  Dhiraj K. Pradhan,et al.  Roll-Forward Checkpointing Scheme: A Novel Fault-Tolerant Architecture , 1994, IEEE Trans. Computers.

[4]  GERNOT METZE,et al.  On the Connection Assignment Problem of Diagnosable Systems , 1967, IEEE Trans. Electron. Comput..

[5]  Dhiraj K. Pradhan,et al.  Dynamic Testing Strategy for Distributed Systems , 1989, IEEE Trans. Computers.

[6]  S. L. Gerhart,et al.  Toward a theory of test data selection , 1975, IEEE Transactions on Software Engineering.

[7]  J. Goldberg,et al.  SIFT: Design and analysis of a fault-tolerant computer for aircraft control , 1978, Proceedings of the IEEE.

[8]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[9]  K. H. Kim,et al.  Distributed Execution of Recovery Blocks: An Approach for Uniform Treatment of Hardware and Software Faults in Real-Time Applications , 1989, IEEE Trans. Computers.

[10]  Algirdas Avizienis,et al.  Fault Tolerance by Design Diversity: Concepts and Experiments , 1984, Computer.

[11]  Alun Preece,et al.  Towards a methodology for evaluating expert systems , 1990 .

[12]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[13]  Dhiraj K. Pradhan,et al.  Consensus With Dual Failure Modes , 1991, IEEE Trans. Parallel Distributed Syst..

[14]  Dhiraj K. Pradhan,et al.  Safe System Level Diagnosis , 1994, IEEE Trans. Computers.

[15]  Rolf Stachowitz,et al.  Validation of expert systems , 1988 .

[16]  Rodney J. Douglas KIDS: A Semi-Automatic Program Development System , 1990 .

[17]  C. M. Krishna,et al.  Trade-offs in developing fault tolerant software , 1993 .

[18]  John Gannon,et al.  State-based model checking of event-driven system requirements , 1991, SIGSOFT '91.

[19]  Dhiraj K. Pradhan,et al.  Degradable Byzantine agreement , 1995 .

[20]  A.L. Hopkins,et al.  FTMP—A highly reliable fault-tolerant multiprocess for aircraft , 1978, Proceedings of the IEEE.

[21]  Douglas R. Smith,et al.  KIDS: A Semiautomatic Program Development System , 1990, IEEE Trans. Software Eng..