AspectC++: An integrated approach for static and dynamic adaptationof system software

authored by
Reinhard Tartler, Daniel Lohmann, Fabian Scheler, Olaf Spinczyk
Abstract

Modern computer systems require an enormous amount of flexibility. This is especially the case in low-level system software, from embedded devices to networking services. From literature and practice, various approaches to modularize and integrate adaptations have been investigated. However, most of this work is implemented with dynamic languages that offer extensive run-time support and enable easy integration of such approaches. System software is written in languages like C or C++ in order to minimize utilization of system resources and maximize efficiency. While for these languages highly optimized and reliable compilers are available, the support for static and dynamic adaptation is rather limited. In order to overcome these limitations, we present an adaptation approach that is based on a sophisticated combination of static and dynamic aspect weaving for aspects written in AspectC++. This facilitates the incremental evolution and deployment of system software that has to be "always on". We demonstrate the feasibility of our approach and its applicability to two pieces of system software, namely the Squid web proxy and the eCos operating system, which is used in the domain of resource-constrained deeply embedded systems.

External Organisation(s)
Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Type
Article
Journal
Knowledge-based systems
Volume
23
Pages
704-720
No. of pages
17
ISSN
0950-7051
Publication date
10.03.2010
Publication status
Published
Peer reviewed
Yes
ASJC Scopus subject areas
Management Information Systems, Software, Information Systems and Management, Artificial Intelligence
Electronic version(s)
https://doi.org/10.1016/j.knosys.2010.03.002 (Access: Unknown)