Details
Original language | English |
---|---|
Pages (from-to) | 636-651 |
Number of pages | 16 |
Journal | Knowledge-based systems |
Volume | 20 |
Issue number | 7 |
Publication status | Published - 10 May 2007 |
Externally published | Yes |
Abstract
Aspect-Oriented Programming (AOP) is a programming paradigm that supports the modular implementation of crosscutting concerns. Thereby, AOP improves the maintainability, reusability, and configurability of software in general. Although already popular in the Java domain, AOP is still not commonly used in conjunction with C/C++. For a broad adoption of AOP by the software industry, it is crucial to provide solid language and tool support. However, research and tool development for C++ is known to be an extremely hard and tedious task, as the language is overwhelmed with interacting features and hard to analyze. Getting AOP into the C++ domain is not just technical challenge. It is also the question of integrating AOP concepts with the philosophy of the C++ language, which is very different from Java. This paper describes the design and development of the AspectC++ language and weaver, which brings fully-fledged AOP support into the C++ domain.
Keywords
- 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. 20, No. 7, 10.05.2007, p. 636-651.
Research output: Contribution to journal › Article › Research › peer review
}
TY - JOUR
T1 - The design and implementation of AspectC++
AU - Spinczyk, Olaf
AU - Lohmann, Daniel
PY - 2007/5/10
Y1 - 2007/5/10
N2 - Aspect-Oriented Programming (AOP) is a programming paradigm that supports the modular implementation of crosscutting concerns. Thereby, AOP improves the maintainability, reusability, and configurability of software in general. Although already popular in the Java domain, AOP is still not commonly used in conjunction with C/C++. For a broad adoption of AOP by the software industry, it is crucial to provide solid language and tool support. However, research and tool development for C++ is known to be an extremely hard and tedious task, as the language is overwhelmed with interacting features and hard to analyze. Getting AOP into the C++ domain is not just technical challenge. It is also the question of integrating AOP concepts with the philosophy of the C++ language, which is very different from Java. This paper describes the design and development of the AspectC++ language and weaver, which brings fully-fledged AOP support into the C++ domain.
AB - Aspect-Oriented Programming (AOP) is a programming paradigm that supports the modular implementation of crosscutting concerns. Thereby, AOP improves the maintainability, reusability, and configurability of software in general. Although already popular in the Java domain, AOP is still not commonly used in conjunction with C/C++. For a broad adoption of AOP by the software industry, it is crucial to provide solid language and tool support. However, research and tool development for C++ is known to be an extremely hard and tedious task, as the language is overwhelmed with interacting features and hard to analyze. Getting AOP into the C++ domain is not just technical challenge. It is also the question of integrating AOP concepts with the philosophy of the C++ language, which is very different from Java. This paper describes the design and development of the AspectC++ language and weaver, which brings fully-fledged AOP support into the C++ domain.
KW - AOP
KW - AspectC++
KW - C++
KW - Programming languages
UR - http://www.scopus.com/inward/record.url?scp=34848840961&partnerID=8YFLogxK
U2 - 10.1016/j.knosys.2007.05.004
DO - 10.1016/j.knosys.2007.05.004
M3 - Article
AN - SCOPUS:34848840961
VL - 20
SP - 636
EP - 651
JO - Knowledge-based systems
JF - Knowledge-based systems
SN - 0950-7051
IS - 7
ER -