On the Configuration of Non-Functional Properties in Operating System Product Lines

Reaching a good separation, maintainability and configurability of non-functional concerns like performance, timeliness or dependability is a frequently expressed but still unrealisable hope of using AOP technology. Non-functional properties have the tendency to be emergent, that is, they have no concrete representation in the code, but appear through the complex interactions between software components in the whole. This makes it very hard, if not impossible at all, to express them in a configurable manner by objects or even aspects. The architecture of a software system, however, is known to have a high impact on some non-functional properties. Thus, it may be possible to reach configurability of nonfunctional software properties by the means of reconfigurable software architectures. This paper discusses the connection between non-functional and architectural properties in the domain of operating system product lines.

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

[2]  Daniel Mahrenholz,et al.  An Aspect-Oriented Implementation of Interrupt Synchronization in the PURE Operating System Family∗ , 2002 .

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

[4]  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).

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

[6]  Wolfgang Schröder-Preikschat,et al.  On the Design and Development of a Customizable Embedded Operating System , 2004 .

[7]  Gregor Kiczales,et al.  D: A Language Framework for Distributed Programming , 1997 .

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

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

[10]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[11]  Greg Kroah-Hartman,et al.  Linux Device Drivers , 1998 .

[12]  A. M. Lister,et al.  Fundamentals of Operating Systems , 1984, Springer New York.

[13]  Mark Russinovich,et al.  Inside Microsoft Windows 2000 , 2000 .

[14]  Steve R. Kleiman,et al.  Interrupts as threads , 1995, OPSR.

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

[16]  Gregor Kiczales,et al.  Using aspectC to improve the modularity of path-specific customization in operating system code , 2001, ESEC/FSE-9.

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

[18]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.