The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Designing and implementing Choices: an object-oriented system in C++
Communications of the ACM
Embedded Software Development with eCos
Embedded Software Development with eCos
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
Predictable Interrupt Management for Real Time Kernels over conventional PC Hardware
RTAS '06 Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium
Challenges in automotive software engineering
Proceedings of the 28th international conference on Software engineering
The paradoxical success of aspect-oriented programming
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A dynamic aspect-oriented system for OS kernels
Proceedings of the 5th international conference on Generative programming and component engineering
A quantitative analysis of aspects in the eCos kernel
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Singularity: rethinking the software stack
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
HOTOS'05 Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
The design and implementation of AspectC++
Knowledge-Based Systems
Documenting and automating collateral evolutions in linux device drivers
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
Concern impact analysis in configurable system software: the AUTOSAR OS case
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
On the feasibility of an AOSD approach to Linux kernel extensions
Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software
Aspect-oriented software development
Aspect-oriented software development
TOSKANA: a toolkit for operating system kernel aspects
Transactions on Aspect-Oriented Software Development II
Parallel, hardware-supported interrupt handling in an event-triggered real-time operating system
CASES '09 Proceedings of the 2009 international conference on Compilers, architecture, and synthesis for embedded systems
The aspect-oriented design of the PUMA C/C++ parser framework
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Proceedings of the 1st Workshop on Critical Automotive applications: Robustness & Safety
KESO: an open-source multi-JVM for deeply embedded systems
Proceedings of the 8th International Workshop on Java Technologies for Real-Time and Embedded Systems
Consistent product line configuration across file type and product line boundaries
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Bypassing races in live applications with execution filters
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Aspect-aware operating system development
Proceedings of the tenth international conference on Aspect-oriented software development
I4Copter: an adaptable and modular quadrotor platform
Proceedings of the 2011 ACM Symposium on Applied Computing
An infrastructure for composing build systems of software product lines
Proceedings of the 15th International Software Product Line Conference, Volume 2
PUMA: an aspect-oriented code analysis and manipulation framework for C and C++
Transactions on aspect-oriented software development VIII
Towards adjusting mobile devices to user's behaviour
MSM'10/MUSE'10 Proceedings of the 2010 international conference on Analysis of social media and ubiquitous data
Design and architectures for dependable embedded systems
CODES+ISSS '11 Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Automated application of fault tolerance mechanisms in a component-based system
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Exploiting static application knowledge in a Java compiler for embedded systems: a case study
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Tailor-made JVMs for statically configured embedded systems
Concurrency and Computation: Practice & Experience
CiAO/IP: a highly configurable aspect-oriented IP stack
Proceedings of the 10th international conference on Mobile systems, applications, and services
The aspect-aware design and implementation of the CiAO operating-system family
Transactions on Aspect-Oriented Software Development IX
Hi-index | 0.00 |
This paper evaluates aspect-oriented programming (AOP) as a first-class concept for implementing configurability in system software for resource-constrained embedded systems. To compete against proprietary special-purpose solutions, system software for this domain has to be highly configurable. Such fine-grained configurability is usually implemented "in-line" by means of the C preprocessor. However, this approach does not scale - it quickly leads to "#ifdef hell" and a bad separation of concerns. At the same time, the challenges of configurability are still increasing. AUTOSAR OS, the state-of-the-art operating-system standard from the domain of automotive embedded systems, requires configurability of even fundamental architectural system policies. On the example of our CiAO operating-system family and the AUTOSAR-OS standard, we demonstrate that AOP - if applied from the very beginning - is a profound answer to these challenges. Our results show that a well-directed, pragmatic application of AOP leads to a much better separation of concerns than does #ifdef-based configuration - without compromising on resource consumption. The suggested approach of aspect-aware operating-system development facilitates providing even fundamental system policies as configurable features.