AspectC++: An integrated approach for static and dynamic adaptation of system software - Tartler, Reinhard; Lohmann, Daniel; Scheler, Fabian; Spinczyk, Olaf (Knowledge-Based Systems, 2010)
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. © 2010 Elsevier B.V. All rights reserved.
UnivIS-Import:2015-03-09:Pub.2010.tech.IMMD.IMMD4.aspect
Keywords: Adaptable systems; AOP; AspectC++; C++; Programming languages