Details
Original language | English |
---|---|
Pages (from-to) | 704-720 |
Number of pages | 17 |
Journal | Knowledge-based systems |
Volume | 23 |
Issue number | 7 |
Publication status | Published - 10 Mar 2010 |
Externally published | Yes |
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.
Keywords
- Adaptable systems, AOP, AspectC++, C++, Programming languages
ASJC Scopus subject areas
- Business, Management and Accounting(all)
- Management Information Systems
- Computer Science(all)
- Software
- Decision Sciences(all)
- Information Systems and Management
- Computer Science(all)
- Artificial Intelligence
Cite this
- Standard
- Harvard
- Apa
- Vancouver
- BibTeX
- RIS
In: Knowledge-based systems, Vol. 23, No. 7, 10.03.2010, p. 704-720.
Research output: Contribution to journal › Article › Research › peer review
}
TY - JOUR
T1 - AspectC++: An integrated approach for static and dynamic adaptationof system software
AU - Tartler, Reinhard
AU - Lohmann, Daniel
AU - Scheler, Fabian
AU - Spinczyk, Olaf
N1 - Funding information: This work was partly supported by the German Research Council (DFG) under Grant nos. SCHR 603/4 , 603/7-1 , and SP 968/2-1 .
PY - 2010/3/10
Y1 - 2010/3/10
N2 - 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.
AB - 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.
KW - Adaptable systems
KW - AOP
KW - AspectC++
KW - C++
KW - Programming languages
UR - http://www.scopus.com/inward/record.url?scp=77955483117&partnerID=8YFLogxK
U2 - 10.1016/j.knosys.2010.03.002
DO - 10.1016/j.knosys.2010.03.002
M3 - Article
AN - SCOPUS:77955483117
VL - 23
SP - 704
EP - 720
JO - Knowledge-based systems
JF - Knowledge-based systems
SN - 0950-7051
IS - 7
ER -