Component-Based Embedded Software Engineering: Development Framework, Quality Assurance and a Generic Assessment Environment

Embedded software is used to control the functions of mechanical and physical devices by dedicated digital signal processor and computers. Nowadays, heterogeneous and collaborative embedded software systems are widely adopted to engage the physical world. To make such software extremely reliable, very ecient and highly flexible, component-based embedded software development can be employed for the complex embedded systems, especially those based on object-oriented (OO) approaches. In this paper, we introduce a component-based embedded software framework and the features it inherits. We propose a quality assurance (QA) model for component-based embedded software development, which covers both the component QA and the system QA as well as their interactions. Furthermore, we propose a generic quality assessment environment for component-based embedded systems: ComPARE. ComPARE can be used to assess real-life o-the-shelf components and to evaluate and validate the models selected for their evaluation. The overall component-based embedded systems can then be composed and analyzed seamlessly.

[1]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.

[2]  Khairuddin Hashim,et al.  A model and prototype tool to manage software risks , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[3]  J. Holliday Sun , 1995 .

[4]  Khaled El Emam,et al.  Comparing case-based reasoning classifiers for predicting high risk software components , 2001, J. Syst. Softw..

[5]  Norman E. Fenton,et al.  A Critique of Software Defect Prediction Models , 1999, IEEE Trans. Software Eng..

[6]  Michael R. Lyu,et al.  Software Reliability Theory , 2002 .

[7]  Hany H. Ammar,et al.  A component-based approach to reliability analysis of distributed systems , 1999, Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems.

[8]  Adam A. Porter,et al.  Empirically guided software development using metric-based classification trees , 1990, IEEE Software.

[9]  Kanth Miriyala,et al.  An architecture-driven, business-specific, and component-based approach to software engineering , 1994, Proceedings of 1994 3rd International Conference on Software Reuse.

[10]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[11]  Yi-Min Wang,et al.  Reliability and availability issues in distributed component object model (DCOM) , 1997, 1997 Fourth International Workshop on Community Networking Processing.

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[13]  Gilda Pour,et al.  Software Component Technologies: Javabeans And Activex , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

[14]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[15]  Taghi M. Khoshgoftaar,et al.  The Detection of Fault-Prone Programs , 1992, IEEE Trans. Software Eng..

[16]  Alan W. Brown,et al.  The Current State , 2016 .

[17]  Hausi A. Müller,et al.  Analyzing Java software by combining metrics and program visualization , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[18]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[19]  Michael R. Lyu,et al.  Some Coupling Measures for C++ Programs , 1992, TOOLS.

[20]  Michael R. Lyu,et al.  Reliability and maintainability related software coupling metrics in C++ programs , 1992, [1992] Proceedings Third International Symposium on Software Reliability Engineering.

[21]  Hany H. Ammar,et al.  Scenario-based reliability analysis of component-based software , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[22]  Wayne Wolf,et al.  Hardware-software co-design of embedded systems , 1994, Proc. IEEE.

[23]  Stephen S. Yau,et al.  Object-oriented distributed component software development based on CORBA , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[24]  Victor R. Basili,et al.  Developing Interpretable Models with Optimized Set Reduction for Identifying High-Risk Software Components , 1993, IEEE Trans. Software Eng..

[25]  Michael R. Lyu,et al.  ARMOR: analyzer for reducing module operational risk , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[26]  Jeffrey M. Voas,et al.  Dependability certification of software components , 2000, J. Syst. Softw..

[27]  Swapna S. Gokhale,et al.  Regression Tree Modeling For The Prediction Of Software Quality , 1997 .

[28]  Uwe Hansmann,et al.  Pervasive Computing Handbook , 2001, Springer Berlin Heidelberg.