Optimizing Component-Based Embedded Software

As functionalities required by embedded systems increase, higher levels of abstraction become necessary to fulfill development exigencies. At the same time, traditional physical and economical constraints such as size, memory usage and energy consumption subsist, making embedded systems development even more complex as it must face two contradictory requirements. In this paper, we expose how a component-based development framework is able to support these two conflicting demands. We follow a component-based approach to benefit from reusability and separation of concerns at design-time, producing flexible systems. We propose a set of flexibility-oriented properties allowing architects to generate, for a same architecture, a set of systems with different flexibility capabilities; these optimization techniques allow developers to pay for flexibility only where it is actually desired. Experiments conducted on several use-cases confirm the effectiveness of our approach.

[1]  Juraj Polakovic,et al.  Controlling the Performance Overhead of Component-Based Systems , 2008, SC@ETAPS.

[2]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .

[3]  Gernot Heiser Secure Embedded Systems Need Microkernels , 2005, login Usenix Mag..

[4]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[5]  Jean-Bernard Stefani,et al.  Building Reconfigurable Component-Based OS with THINK , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[6]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming, 2nd Edition , 2002, Addison-Wesley component software series.

[7]  Pierre-Charles David,et al.  Experience with implementing safe reconfigurations in Component-based embedded systems , 2007 .

[8]  Gernot Heiser,et al.  Camkes: a Component Model for Secure Microkernel-based Emebedded Systems , 2007 .

[9]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[10]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[11]  Anthony Massa,et al.  Embedded Software Development with eCos , 2002 .

[12]  Christo Angelov,et al.  Component-Based Design of Safe Real-Time Kernels for Embedded Systems , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[13]  Jochen Liedtke,et al.  On micro-kernel construction , 1995, SOSP.

[14]  Maxime Louvel,et al.  Think: View-Based Support of Non-functional Properties in Embedded Systems , 2009, 2009 International Conference on Embedded Software and Systems.

[15]  Jay Lepreau,et al.  The Flux OSKit: a substrate for kernel and language research , 1997, SOSP.

[16]  Pierre-Charles David,et al.  Experience with Safe Dynamic Reconfigurations in Component-Based Embedded Systems , 2007, CBSE.