Unifying hardware and software components for embedded system development

  • Authors:
  • Christian Bunse;Hans-Gerhard Gross

  • Affiliations:
  • Fraunhofer Institute for Experimental Software Engineering (IESE), Kaiserslautern, Germany;Faculty EWI/Software Technology, Delft University of Technology, Delft, The Netherlands

  • Venue:
  • Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Model-driven and component-based software development, using the UML, has become one of the dominant development paradigms, particularly in business and web application engineering. Unfortunately, model-driven and UML-based development methods are still inferior to conventional software development approaches when it comes to component-based embedded system development. One important aspect is the heterogeneity of embedded systems: they contain both, hardware and software components. Although, component-based development in embedded systems (with hardware components) has a long tradition, there is still a problem of combining it with component-based software development. One reason is the inability of contemporary component technologies to cope with the specific non-functional requirements of embedded systems (e.g., timing, resource consumption). Thus, the major question is how both approaches can be successfully combined. The goal of this chapter is to discuss the problems of embedded systems engineering in the context of a component-based development approach, and to identify specific requirements for a development process under this paradigm. In addition, the chapter proposes an approach to specify software and hardware components in a uniform way, concerning their functional and non-functional properties, so that they can be applied in embedded system development. The method proposed is not yet solving all the problems associated with component-based embedded systems development, but it addresses important issues like hardware/software integration, and how timing and resource issues can be dealt with.