The design and implementation of AspectC++

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Autoren

  • Olaf Spinczyk
  • Daniel Lohmann

Externe Organisationen

  • Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU Erlangen-Nürnberg)
Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Seiten (von - bis)636-651
Seitenumfang16
FachzeitschriftKnowledge-based systems
Jahrgang20
Ausgabenummer7
PublikationsstatusVeröffentlicht - 10 Mai 2007
Extern publiziertJa

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.

ASJC Scopus Sachgebiete

Zitieren

The design and implementation of AspectC++. / Spinczyk, Olaf; Lohmann, Daniel.
in: Knowledge-based systems, Jahrgang 20, Nr. 7, 10.05.2007, S. 636-651.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Spinczyk O, Lohmann D. The design and implementation of AspectC++. Knowledge-based systems. 2007 Mai 10;20(7):636-651. doi: 10.1016/j.knosys.2007.05.004
Spinczyk, Olaf ; Lohmann, Daniel. / The design and implementation of AspectC++. in: Knowledge-based systems. 2007 ; Jahrgang 20, Nr. 7. S. 636-651.
Download
@article{ede6475e3dff4ee5aa4053765330aef9,
title = "The design and implementation of AspectC++",
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",
author = "Olaf Spinczyk and Daniel Lohmann",
year = "2007",
month = may,
day = "10",
doi = "10.1016/j.knosys.2007.05.004",
language = "English",
volume = "20",
pages = "636--651",
journal = "Knowledge-based systems",
issn = "0950-7051",
publisher = "Elsevier",
number = "7",

}

Download

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 -