Generic Advice: On the Combination of AOP with Generative Programming in AspectC++

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Autorschaft

  • Daniel Lohmann
  • Georg Blaschke
  • Olaf Spinczyk

Externe Organisationen

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

Details

OriginalspracheEnglisch
Titel des SammelwerksGenerative Programming and Component Engineering
Seiten55-74
Seitenumfang20
PublikationsstatusVeröffentlicht - 2004
Extern publiziertJa

Publikationsreihe

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Herausgeber (Verlag)Springer Verlag
Band3286
ISSN (Print)0302-9743

Abstract

Besides object-orientation, generic types or templates and aspect-oriented programming (AOP) gain increasing popularity as they provide additional dimensions of decomposition. Most modern programming languages like Ada, Eiffel, and C++ already have built-in support for templates. For Java and C# similar extensions will be available in the near future. Even though promising, the combination of aspects with generic and generative programming is still a widely unexplored field. This paper presents our extensions to the AspectC++ language, an aspect-oriented C++ derivate. By these extensions aspects can now affect generic code and exploit the potentials of generic code and template metaprogramming in their implementations. This allows aspects to inject template metaprograms transparently into the component code. A case study demonstrates that this feature enables the development of highly expressive and efficient generic aspect implementations in AspectC++. A discussion whether these concepts are applicable in the context of other aspect-oriented language extensions like AspectJ rounds up our contribution.

ASJC Scopus Sachgebiete

Zitieren

Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. / Lohmann, Daniel; Blaschke, Georg; Spinczyk, Olaf.
Generative Programming and Component Engineering. 2004. S. 55-74 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Band 3286).

Publikation: Beitrag in Buch/Bericht/Sammelwerk/KonferenzbandAufsatz in KonferenzbandForschungPeer-Review

Lohmann, D, Blaschke, G & Spinczyk, O 2004, Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. in Generative Programming and Component Engineering. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Bd. 3286, S. 55-74. https://doi.org/10.1007/978-3-540-30175-2_4
Lohmann, D., Blaschke, G., & Spinczyk, O. (2004). Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. In Generative Programming and Component Engineering (S. 55-74). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Band 3286). https://doi.org/10.1007/978-3-540-30175-2_4
Lohmann D, Blaschke G, Spinczyk O. Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. in Generative Programming and Component Engineering. 2004. S. 55-74. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). doi: 10.1007/978-3-540-30175-2_4
Lohmann, Daniel ; Blaschke, Georg ; Spinczyk, Olaf. / Generic Advice: On the Combination of AOP with Generative Programming in AspectC++. Generative Programming and Component Engineering. 2004. S. 55-74 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
Download
@inproceedings{b1b80884186e428fbe45aa6a2ba0b96e,
title = "Generic Advice: On the Combination of AOP with Generative Programming in AspectC++",
abstract = "Besides object-orientation, generic types or templates and aspect-oriented programming (AOP) gain increasing popularity as they provide additional dimensions of decomposition. Most modern programming languages like Ada, Eiffel, and C++ already have built-in support for templates. For Java and C# similar extensions will be available in the near future. Even though promising, the combination of aspects with generic and generative programming is still a widely unexplored field. This paper presents our extensions to the AspectC++ language, an aspect-oriented C++ derivate. By these extensions aspects can now affect generic code and exploit the potentials of generic code and template metaprogramming in their implementations. This allows aspects to inject template metaprograms transparently into the component code. A case study demonstrates that this feature enables the development of highly expressive and efficient generic aspect implementations in AspectC++. A discussion whether these concepts are applicable in the context of other aspect-oriented language extensions like AspectJ rounds up our contribution.",
author = "Daniel Lohmann and Georg Blaschke and Olaf Spinczyk",
year = "2004",
doi = "10.1007/978-3-540-30175-2_4",
language = "English",
isbn = "3-540-23580-9",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "55--74",
booktitle = "Generative Programming and Component Engineering",

}

Download

TY - GEN

T1 - Generic Advice: On the Combination of AOP with Generative Programming in AspectC++

AU - Lohmann, Daniel

AU - Blaschke, Georg

AU - Spinczyk, Olaf

PY - 2004

Y1 - 2004

N2 - Besides object-orientation, generic types or templates and aspect-oriented programming (AOP) gain increasing popularity as they provide additional dimensions of decomposition. Most modern programming languages like Ada, Eiffel, and C++ already have built-in support for templates. For Java and C# similar extensions will be available in the near future. Even though promising, the combination of aspects with generic and generative programming is still a widely unexplored field. This paper presents our extensions to the AspectC++ language, an aspect-oriented C++ derivate. By these extensions aspects can now affect generic code and exploit the potentials of generic code and template metaprogramming in their implementations. This allows aspects to inject template metaprograms transparently into the component code. A case study demonstrates that this feature enables the development of highly expressive and efficient generic aspect implementations in AspectC++. A discussion whether these concepts are applicable in the context of other aspect-oriented language extensions like AspectJ rounds up our contribution.

AB - Besides object-orientation, generic types or templates and aspect-oriented programming (AOP) gain increasing popularity as they provide additional dimensions of decomposition. Most modern programming languages like Ada, Eiffel, and C++ already have built-in support for templates. For Java and C# similar extensions will be available in the near future. Even though promising, the combination of aspects with generic and generative programming is still a widely unexplored field. This paper presents our extensions to the AspectC++ language, an aspect-oriented C++ derivate. By these extensions aspects can now affect generic code and exploit the potentials of generic code and template metaprogramming in their implementations. This allows aspects to inject template metaprograms transparently into the component code. A case study demonstrates that this feature enables the development of highly expressive and efficient generic aspect implementations in AspectC++. A discussion whether these concepts are applicable in the context of other aspect-oriented language extensions like AspectJ rounds up our contribution.

UR - http://www.scopus.com/inward/record.url?scp=35048829285&partnerID=8YFLogxK

U2 - 10.1007/978-3-540-30175-2_4

DO - 10.1007/978-3-540-30175-2_4

M3 - Conference contribution

AN - SCOPUS:35048829285

SN - 3-540-23580-9

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 55

EP - 74

BT - Generative Programming and Component Engineering

ER -