Back to list of tutorials
T4 : Aspect-Oriented Programming with C++ and AspectC++
Date |
Tuesday, March 21, 2006 morning (half day) |
Presenters |
Olaf Spinczyk, Friedrich-Alexander-University Erlangen-Nuremberg
Daniel Lohmann, Friedrich-Alexander-University Erlangen-Nuremberg
|
Level |
Introductory:
Participants should be familiar with C/C++. Basic understanding of AOSD is recommended, but not necessary. |
Abstract
Aspect-oriented programming with C++ does not necessarily require a language
extension like AspectJ for Java. There is a set of idioms, which allows
the modular implementation of crosscutting concerns in C++, purely based on
the features provided by the language. The first part of this tutorial will present
these idioms and also discuss the drawbacks of this approach in comparison to
a language extension. The rest of the tutorial will concentrate on AspectC++,
a language extension to C++ which extends the AspectJ approach into the C++
world. With this extension, aspects can be implemented and applied to component
code without having to change the existing code base. The tutorial will introduce
AspectC++ language elements and present various examples. A compiler
for AspectC++, which transforms AspectC++ code into standard C++, as well as
an Eclipse Add-In, are available under the GPL from www.aspectc.org. Furthermore,
pure-systems GmbH offers commercial support for the compiler and an
Add-In to integrate it into Visual Studio. After the language introduction, a dedicated
part will focus on development environments for AspectC++. It covers the
usage of the ac++ compiler and also the available integrated development environments,
namely the ACDT Eclipse Add-In and the Visual Studio Add-In. These
demonstrations are followed by the presentation of a more complex “real-world”
application, which shows that AspectC++ is an ideal language to develop (embedded)
software product lines. The tutorial ends with a summary and a discussion of
future work.
Biographies
Olaf Spinczyk has a background of more than seven years research on
AOP and operating systems. In 2002 he received the “best dissertation
of 2002” award by the computer science faculty of the
University of Magdeburg, Germany, for his work in this field.
In 2001 he started the development of AspectC++. Today he is
the main designer and developer of the ac++ weaver. In 2002
he started to cooperate with the pure-systems GmbH in Magdeburg,
Germany, to speed up the ac++ development and to evolve
it from a research prototype to a commercial product.
Olaf has taught about 30 classes and seminars at the University
of Magdeburg and Erlangen-Nuremberg and is giving lectures on
aspect-oriented systems programming and operating system engineering.
He has already given this tutorial at AOSD ’04
and AOSD’05.
Daniel Lohmann worked as software developer, consultant and trainer for
several years. He finished his Diploma in Computer Science
in 2002. His PhD research is on the development of aspectoriented
operating system product-lines. Since joining the Operating
Sytems group at Friedrich-Alexander-University, he actively
participates in the AspectC++ language design and the
ac++ development. His main focus is the combination of aspects
with generic code.
Daniel has more than four years of expertise in the training of IT
professionals. He taught developers from Deutsche Telekom,
Siemens, Deutsche Bank and many other companies. Today, he
is teaching classes and seminars on aspect- and object-oriented
operating system design at Friedrich-Alexander-University. He has
already given this tutorial at AOSD ’04 and AOSD’ 05.
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|
|