program       registration       lodging       call for contributions       organization       [aosd home]

overview       technical papers       practitioner reports       workshops       tutorials       demos       exhibits      
Go back to Demonstrations Home

AspectC++: Bringing Aspects in to Deeply Embedded Devices

  - W
ed March 19, 11:00 - 12:30
  - Fri March 21, 11:00 - 12:00

Olaf Spinczyk (Universität Erlangen-Nürnberg)
  - Andreas Gal (University of Irvine California)
  - Danilo Beuche (Pure-Systems GmbH)

AspectC++ is an aspect-oriented language extension for C++. Its design was strongly influenced by the core concepts of AspectJ and, thus, can be seen as an AspectJ equivalent in the C++ world. With this demonstration the AspectC++ developer team wants to increase the awareness of the project and its current state in the AOSD community. Furthermore, it should be demonstrated that AOP with C++ can be much easier to understand and much more powerful than approaches, which are based on C++ template meta-programming. There are several domains in computer science and the IT industry where C/C++ still dominates Java. One of these domains is the area of small (so called “deeply”) embedded systems. This area is characterized by extreme resource constraints in the sense of memory and processing power. Most of these embedded systems are equipped with 8 bit microcontrollers and only a few Kbytes of RAM. However, in year 2000 the segment of 4 and 8 bit microcontrollers had a market share of 80% of all produced units. With AspectC++ it is now possible to apply AOSD concepts even in such restricted, but very important, domains. The focus of the demonstration will therefore be the minimal resource consumption of the AspectC++ generated code and its runtime system. This will be underlined by the presentation of a small embedded device equipped with meteorological sensors and an 8 bit microcontroller running AspectC++ code. The whole picture of the language and its implementation will be rounded up with a demonstration of the unique language features of AspectC++. One of these features is the Aspect Behavior Contract (ABC) concept, which helps to reduce the number of required tests after changes in aspect or component code. Depending on the state of the implementation in march it is also planned to extend the code of a well-known open source project with an aspect during the demonstration. This should point out the standard and dialect conformance of the AspectC++ parser and proves that the implementation has reached a state where it can deal with real-world projects.


For additional information, clarifications, questions, or special requirements, please contact the AOSD 2003 Demonstrations Chair: Mik Kersten (

 Send comments to: