This Article 
 Bibliographic References 
 Add to: 
Systematic Reliability Analysis of a Class of Application-Specific Embedded Software Frameworks
April 2004 (vol. 30 no. 4)
pp. 218-230
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. In this paper, 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] J. Agre and L. Clare, An Integrated Architecture for Cooperative Sensing and Networks Computer, vol. 33, no. 5, May 2000.
[2] C. Atkinson, Object-Oriented Reuse, Concurrency and Distribution. New York: Addison-Wesley&ACM Press, 1991.
[3] R. Libeskind-Hades et al., Fault Covering Problems in Reconfigurable VLSI Systems, Kluwer Academic, AA Dorecht, the Netherlands, 1992.
[4] F.B. Bastani, B. Cukic, V. Hilford, and A. Jamoussi, Toward Dependable Safety-Critical Software Proc. Second Workshop Object-Oriented Real-Time Dependable Systems, Feb. 1996.
[5] F.B. Bastani, Relational Programs: Architecture for Robust Process-Control Programs Annals, 1999.
[6] F.B. Bastani, S. Ntafos, I.-L. Yen, D.E. Harris, R.R. Morrow, and R. Paul, High-Assurance Measurement Repository System Proc. Fifth IEEE Int'l Symp. High Assurance Systems Eng., Nov. 2000.
[7] F.B. Bastani, I.-L. Yen, S. Kim, J. Linn, and K. Rao, Reliability of Systems of Independently Developable End-User Assessable Logical (IDEAL) Programs Proc. IEEE Int'l Symp. Software Reliability Eng., Nov. 2001.
[8] F.B. Bastani, I.-L. Yen, and S. Kim, Highly Reliable Relational Control Programs for Robust Rapid Transit Systems Proc. Sixth IEEE Int'l Symp. High Assurance Systems Eng., Oct. 2001.
[9] J. Bell, Non-Monotonic Reasoning, Non-Monotonic Logics, and Reasoning about Change Artificial Intelligence Rev., vol. 4, pp. 79-108, 1990.
[10] H. Blair and V.S. Subrahmanian, Paraconsistent Logic Programming Theoretical Computer Science, vol. 68, pp. 135-154, 1989.
[11] D. Coleman, F. Hayes, and S. Bear, "Introducing Objectcharts, or How to Use Statecharts in Object Oriented Design," IEEE Trans. Soft. Eng., Jan. 1992, pp. 9-18.
[12] B. Cukic and F.B. Bastani, On Reducing the Sensitivity of Software Reliability to Variations in the Operational Profile Proc. IEEE Int'l Symp. Software Reliability Eng., Oct. 1996.
[13] J.B. Dugan and R. Van Buren, Reliability Evaluation of Fly-by-Wire Computer Systems J. Systems and Safety, June 1993.
[14] J.B. Dugan and M.R. Lyu, System Reliability Analysis of an N-Version Programming Application IEEE Trans. Reliability, pp. 513-519, Dec. 1994.
[15] W.W. Everett, Software Reliability Component Analysis Proc. Ninth Ann. Software Reliability Engineering Workshop, July 1998.
[16] A. Finkelstein et al., "Inconsistency Handling in Multi-Perspective Specifications," IEEE Trans. Software Eng., vol. 20, no. 8, Aug. 1994, pp. 569-578.
[17] D. Harel, Statecharts: A Visual Formalism for Complex Systems Science of Computer Programming, vol. 8, pp. 231-274, 1987.
[18] D. Harel, H. Lachover, A. Naamad, A. Pnuelli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot, "Statemate: A Working Environment for the Development of Complex Reactive Systems," IEEE Trans. Software Eng., vol. 16, no. 4, pp. 403-414, Apr. 1990.
[19] C.L. Heitmeyer, B.L. Labaw, and D. Kiskis, "Consistency Checking of SCR-style Requirements Specifications," Proc. Int'l Symp. Requirements Engineering, Mar. 1995.
[20] D. Jackson, Structuring Z Specifications with Views ACM Trans. Software Eng. and Methodology, vol. 4, no. 4, pp. 365-389, Oct. 1995.
[21] D.N. Jayasimha, S.S. Iyengar, and R.L. Kashyap, Information Integration and Synchronization in Distributed Sensor Networks IEEE Trans. Systems, Man, and Cybernetics, vol. 21, no. 5, pp. 1032-1043, Sept./Oct. 1991.
[22] C.B. Jones, Tentative Steps Towards a Development Method for Interfering Programs ACM Trans. Programming Languages and Systems, vol. 5, no. 4, pp. 596-619 Oct. 1983.
[23] G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C.V. Lopes, J.-M. Loigtier, and J. Irwin, Aspect-Oriented Programming Proc. European Conf. Object-Oriented Programming, June 1997.
[24] S.S. Lam and A.U. Shankar, A Theory of Interfaces and Modules: I Composition Theorem IEEE Trans. Software Eng., vol. 20, no. 1, pp. 55-71, Jan. 1994.
[25] N.C. Levenson, M.P.E. Heimdahl, H. Hildreth, and J.D. Reese, "Requirements Specification for Process-Control Systems," IEEE Trans. Software Eng., vol. 20, no. 9, pp. 684-707, Sept. 1994.
[26] Handbook of Software Reliability Eng., M. Lyu, ed., McGraw-Hill and IEEE Press, 1996.
[27] D. Mason and D. Woit, Software System Reliability from Component Reliability Proc. Ninth Ann. Software Reliability Eng. Workshop, July 1998.
[28] J.D. Musa, A. Iannino, and K. Okumoto, Software Reliability: Measurement, Prediction, Applications, professional ed., McGraw-Hill, pp. 178-180, 1990.
[29] J.D. Musa, "Operational Profiles in Software Reliability Engineering," IEEE Software, vol. 10, no. 2, pp. 14-32, 1993.
[30] D.A. Russo, Private Communication, May 2000.
[31] C. Smidts, D. Sova, and G.K. Mandela, An Architectural Model for Software Reliability Quantification Proc. Eighth Int'l Symp. Software Reliability Eng., pp. 324-335, Nov. 1997.
[32] V.L. Winter, Private Comm., July 1998.
[33] P. Zave, A Distributed Alternative to Finite-State-Machine Specifications ACM Trans. Programming Languages and Systems, vol. 7, no. 1, pp. 10-36, Jan. 1985.
[34] P. Zave and M. Jackson, "Where Do Operations Come From? A Multiparadigm Specification Technique," IEEE Trans. Software Eng., vol. 22, no. 7, July 1996, pp. 508-528.

Index Terms:
Distributed embedded systems, software composition, application-oriented frameworks, software reliability assessment.
Sung Kim, Farokh B. Bastani, I-Ling Yen, Ing-Ray Chen, "Systematic Reliability Analysis of a Class of Application-Specific Embedded Software Frameworks," IEEE Transactions on Software Engineering, vol. 30, no. 4, pp. 218-230, April 2004, doi:10.1109/TSE.2004.1274042
Usage of this product signifies your acceptance of the Terms of Use.