Design of a fault-tolerant decision-making system for biomedical applications

This paper describes the design of a fault-tolerant classification system for medical applications. The design process follows the systems engineering methodology: in the agreement phase, we make the case for fault tolerance in diagnosis systems for biomedical applications. The argument extends the idea that machine diagnosis systems mimic the functionality of human decision-making, but in many cases they do not achieve the fault tolerance of the human brain. After making the case for fault tolerance, both requirements and specification for the fault-tolerant system are introduced before the implementation is discussed. The system is tested with fault and use cases to build up trust in the implemented system. This structured approach aided in the realisation of the fault-tolerant classification system. During the specification phase, we produced a formal model that enabled us to discuss what fault tolerance, reliability and safety mean for this particular classification system. Furthermore, such a formal basis for discussion is extremely useful during the initial stages of the design, because it helps to avoid big mistakes caused by a lack of overview later on in the project. During the implementation, we practiced component reuse by incorporating a reliable classification block, which was developed during a previous project, into the current design. Using a well-structured approach and practicing component reuse we follow best practice for both research and industry projects, which enabled us to realise the fault-tolerant classification system on time and within budget. This system can serve in a wide range of future health care systems.

[1]  Cecília M. F. Rubira,et al.  Verifying architectural variabilities in software fault tolerance techniques , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[2]  Beata Walczak,et al.  Neural networks with robust backpropagation learning algorithm , 1996 .

[3]  R. Lippmann Pattern classification using neural networks , 1989, IEEE Communications Magazine.

[4]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[5]  Steven J. Simske,et al.  Automating the analysis of voting systems , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

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

[7]  Anish Arora,et al.  Detectors and correctors: a theory of fault-tolerance components , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[8]  S. Jeyamkonda,et al.  Microbial growth modelling with artificial neural networks. , 2001, International journal of food microbiology.

[9]  John Kelly,et al.  Experiences Using Lightweight Formal Methods for Requirements Modeling , 1998, IEEE Trans. Software Eng..

[10]  U. Rajendra Acharya,et al.  Systems engineering principles for the design of biomedical signal processing systems , 2011, Comput. Methods Programs Biomed..

[11]  Katerina Goseva-Popstojanova,et al.  Performability and reliability modeling of N version fault tolerant software in real time systems , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[12]  Bill Baird,et al.  A neural network associative memory for handwritten character recognition using multiple Chua characters , 1993 .

[13]  Carlee Bishop System Engineering Fundamentals , 2015 .

[14]  U. Rajendra Acharya,et al.  Detection and differentiation of breast cancer using neural classifiers with first warning thermal sensors , 2007, Inf. Sci..

[15]  J.B. Dugan,et al.  Simple models of hardware and software fault tolerance , 1994, Proceedings of Annual Reliability and Maintainability Symposium (RAMS).

[16]  Thomas A. Henzinger,et al.  Logics and Models of Real Time: A Survey , 1991, REX Workshop.

[17]  Raúl Rojas,et al.  Neural Networks - A Systematic Introduction , 1996 .

[18]  Claudio Moraga,et al.  Multilayer Feedforward Neural Network Based on Multi-valued Neurons (MLMVN) and a Backpropagation Learning Algorithm , 2006, Soft Comput..

[19]  Kurt Hornik,et al.  Multilayer feedforward networks are universal approximators , 1989, Neural Networks.

[20]  B. Keevil,et al.  Effect of metformin, orlistat and pioglitazone treatment on mean insulin resistance and its biological variability in polycystic ovary syndrome , 2009, Clinical endocrinology.

[21]  Swapna S. Gokhale,et al.  Reliability simulation of fault-tolerant software and systems , 1997, Proceedings Pacific Rim International Symposium on Fault-Tolerant Systems.

[22]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[23]  Richi Nayak,et al.  Artificial neural networks in biomedical engineering: a review , 2001 .

[24]  Örjan Ekeberg,et al.  A One-Layer Feedback Artificial Neural Network with a Bayesian Learning Rule , 1989, Int. J. Neural Syst..

[25]  Stuart Bennett,et al.  A taxonomy for software voting algorithms used in safety-critical systems , 2004, IEEE Transactions on Reliability.

[26]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[27]  G. B. Finelli,et al.  The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software , 1993, IEEE Trans. Software Eng..

[28]  Stamatios V. Kartalopoulos,et al.  Understanding neural networks and fuzzy logic - basic concepts and applications , 1997 .

[29]  Xinghuo Yu,et al.  A general backpropagation algorithm for feedforward neural networks learning , 2002, IEEE Trans. Neural Networks.

[30]  U. Rajendra Acharya,et al.  Automatic identification of cardiac health using modeling techniques: A comparative study , 2008, Inf. Sci..

[31]  J. Piper,et al.  Computer-aided classification of human chromosomes: a review , 1994 .

[32]  W. J. Cullyer,et al.  The choice of computer languages for use in safety-critical systems , 1991, Softw. Eng. J..

[33]  Kathryn S Lilley,et al.  Investigating sample pooling strategies for DIGE experiments to address biological variability , 2009, Proteomics.

[34]  U. Rajendra Acharya,et al.  Algorithms for the Automated Detection of Diabetic Retinopathy Using Digital Fundus Images: A Review , 2012, Journal of Medical Systems.

[35]  J. Nazuno Haykin, Simon. Neural networks: A comprehensive foundation, Prentice Hall, Inc. Segunda Edición, 1999 , 2000 .

[36]  Simon Brown,et al.  Overview of IEC 61508. Design of electrical/electronic/programmable electronic safety-related systems , 2000 .

[37]  Janusz Górski,et al.  Formal Support for Fault Modelling and Analysis , 2001, SAFECOMP.

[38]  Martin S. Feather Rapid Application of Lightweight Formal Methods for Consistency Analysis , 1998, IEEE Trans. Software Eng..

[39]  Rogério de Lemos,et al.  Analyzing Safety Requirements for Process-Control Systems , 1995, IEEE Softw..

[40]  U. Rajendra Acharya,et al.  Identification of different stages of diabetic retinopathy using retinal optical images , 2008, Inf. Sci..

[41]  Herbert Hecht Fault-Tolerant Software , 1979, IEEE Transactions on Reliability.

[42]  Jean Arlat,et al.  Definition and analysis of hardware- and software-fault-tolerant architectures , 1990, Computer.