Systematic reliability analysis of a class of application-specific embedded software framework

Dramatic advances in computer and communication technologies have made it economically feasible to extend the use of embedded computer systems to more and more critical applications. At the same time, these embedded computer systems are becoming more complex and distributed. As the bulk of the complex application-specific logic of these systems is realized by software, the need for certifying software systems has grown substantially. While relatively mature techniques exist for certifying hardware systems, methods of rigorously certifying software systems are still being actively researched. Possible certification methods for embedded software systems range from formal verification to statistical testing. These methods have different strengths and weaknesses and can be used to complement each other. One potentially useful approach is to decompose the specification into distinct aspects that can be independently certified using the method that is most effective for it. Even though substantial-research has been carried out to reduce the complexity of the software system through decomposition, one major hurdle is the need to certify the overall system on the basis of the aspect properties. One way to address this issue is to focus on architectures in which the aspects are relatively independent of each other. However, complex embedded systems are typically comprised of multiple architectures. We present an alternative approach based on the use of application-oriented-frameworks for implementing embedded systems. We show that it is possible to design such frameworks for embedded applications and derive expressions for determining the system reliability from the reliabilities of the framework and the aspects. The method is illustrated using a distributed multimedia collaboration system.

[1]  Robert Balzer,et al.  Tolerating Inconsistency , 1991, [1989] Proceedings of the 5th International Software Process Workshop.

[2]  Constance L. Heitmeyer,et al.  Consistency checking of SCR-style requirements specifications , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[3]  Amnon Naamad,et al.  Statemate: a working environment for the development of complex reactive systems , 1988, ICSE '88.

[4]  Michael R. Lyu,et al.  System reliability analysis of an N-version programming application , 1993, Proceedings of 1993 IEEE International Symposium on Software Reliability Engineering.

[5]  V. S. Subrahmanian,et al.  Paraconsistent Logic Programming , 1987, Theor. Comput. Sci..

[6]  Derek Coleman,et al.  Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design , 1992, IEEE Trans. Software Eng..

[7]  Farokh B. Bastani,et al.  Reliability of systems of independently developable end-user assessable logical (IDEAL) programs , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[8]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[9]  N. S. Barnett,et al.  Private communication , 1969 .

[10]  John D. Musa,et al.  Software reliability: measurement, prediction, application (professional ed.) , 1989 .

[11]  John D. Musa,et al.  Operational profiles in software-reliability engineering , 1993, IEEE Software.

[12]  Joanne Bechta Dugan,et al.  Reliability evaluation of fly-by-wire computer systems , 1994, J. Syst. Softw..

[13]  Daniel Jackson,et al.  Structuring Z specifications with views , 1995, TSEM.

[14]  A. Udaya Shankar,et al.  A Theory of Interfaces and Modules I-Composition Theorem , 1994, IEEE Trans. Software Eng..

[15]  S. Sitharama Iyengar,et al.  Information integration and synchronization in distributed sensor networks , 1991, IEEE Trans. Syst. Man Cybern..

[16]  Farokh B. Bastani,et al.  Highly reliable relational control programs for robust rapid transit systems , 2001, Proceedings Sixth IEEE International Symposium on High Assurance Systems Engineering. Special Topic: Impact of Networking.

[17]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[18]  Farokh B. Bastani,et al.  On reducing the sensitivity of software reliability to variations in the operational profile , 1996, Proceedings of ISSRE '96: 7th International Symposium on Software Reliability Engineering.

[19]  Farokh B. Bastani,et al.  A high-assurance measurement repository system , 2000, Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000).

[20]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[21]  Carol S. Smidts,et al.  An architectural model for software reliability quantification , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[22]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[23]  D. Gabbay,et al.  Inconsistency Handling in Multiperspective Specifications , 1994 .

[24]  Jonathan R. Agre,et al.  An Integrated Architecture for Cooperative Sensing Networks , 2000, Computer.

[25]  Colin Atkinson Object-oriented reuse, concurrency and distribution - an Ada-based approach , 1991 .

[26]  John Bell,et al.  Nonmonotonic reasoning, nonmonotonic logics and reasoning about change , 1990, Artificial Intelligence Review.

[27]  Michael Jackson,et al.  Where Do Operations Come From: A Multiparadigm Specification Technique , 1996, IEEE Trans. Software Eng..

[28]  Robert Balzer Tolerating inconsistency (software development) , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[29]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[30]  A. Udaya Shankar,et al.  A Theory of Interfaces and Modules , 1994 .

[31]  Farokh B. Bastani,et al.  Toward dependable safety-critical software , 1996, Proceedings of WORDS'96. The Second Workshop on Object-Oriented Real-Time Dependable Systems.

[32]  John D. Musa,et al.  Software reliability measurement , 1984, J. Syst. Softw..

[33]  Pamela Zave,et al.  A distributed alternative to finite-state-machine specifications , 1985, TOPL.

[34]  Colin Atkinson,et al.  Object-oriented reuse concurrency and distribution , 1991 .