On the Design and Development of a Customizable Embedded Operating System

The design and development of operating systems has to reflect numerous constraints predefined by an application domain. This domain consists, among others, of application software at the top and the computer hardware at the bottom, thus with the operating system in between “a rock and a hard place”. There are many application domains with no single operating-system solution for all or even a subset of them. Most crucial in this setting are non-functional properties that are ingredient parts of single components or crosscut in the extreme case the entire system software. These properties limit component reusability and impair software maintenance. The paper deals with this issue in the scope of operating systems for the embedded-systems domain.

[1]  Daniel Mahrenholz,et al.  Program instrumentation for debugging and monitoring with AspectC++ , 2002, Proceedings Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing. ISIRC 2002.

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

[3]  Olaf Spinczyk,et al.  Architecture-Neutral Operating System Components , 2003 .

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

[5]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[6]  Roger M. Needham,et al.  On the duality of operating system structures , 1979, OPSR.

[7]  Danilo Beuche Composition and construction of embedded software families , 2003 .

[8]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[9]  Danilo Beuche,et al.  The PURE family of object-oriented operating systems for deeply embedded systems , 1999, Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'99) (Cat. No.99-61702).

[10]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[11]  Olaf Spinczyk,et al.  Using AOP to develop architectural-neutral operating system components , 2004, EW 11.

[12]  Frank Bellosa,et al.  Process cruise control: event-driven clock scaling for dynamic power management , 2002, CASES '02.

[13]  J. Liedtke On -Kernel Construction , 1995 .

[14]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[15]  A. Nico Habermann,et al.  Modularization and hierarchy in a family of operating systems , 1976, CACM.

[16]  David L. Tennenhouse,et al.  Proactive computing , 2000, Commun. ACM.