The design and implementation of AspectC++

  • Authors:
  • Olaf Spinczyk;Daniel Lohmann

  • Affiliations:
  • Friedrich-Alexander University Erlangen-Nuremberg, Computer Science 4, Martensstr. 1, 91058 Erlangen, Germany;Friedrich-Alexander University Erlangen-Nuremberg, Computer Science 4, Martensstr. 1, 91058 Erlangen, Germany

  • Venue:
  • Knowledge-Based Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

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.