[aosd-discuss] Support for error handling by aspect-oriented programming

Markus Elfring Markus.Elfring at web.de
Thu Apr 19 08:02:39 EDT 2007


Hello,

The paper "On Typesafe Aspect Implementations in C++" 
(http://www.aspectc.org/fileadmin/publications/etaps-sc-2005.pdf) by 
Daniel Lohmann and Olaf Spinczyk shows an use case for the application 
of AspectC++ for error checking. This document contains also a clear 
description for the motivation where I'm also interested in to improve 
software dvelopment.
I am looking for a solution that can be completed besides the presented 
Win32 API example.

1. I imagine that it needs some adjustment if it will be extended for 
the POSIX API because it won't be enough to filter on functions with a 
non-void return type. How can functions be excluded that return an input 
parameter as their result to enable call chaining?
Examples:
http://opengroup.org/onlinepubs/009695399/functions/strcpy.html
http://opengroup.org/onlinepubs/009695399/functions/strcat.html

2. Are any extensions for the pointcut expression syntax in the waiting 
queue?

3. Is a (free) library of helper functions or corresponding function 
objects available?

4. The following related information sources show also interesting 
approaches.
- "Error handling as an aspect" by Fernando Castor Filho, Alessandro 
Garcia and Cecília Mary F. Rubira
  http://doi.acm.org/10.1145/1229485.1229486

- Is the material from the talk "Aspectizing Design Patterns and 
Exception Handling: The Devil is in the Details" by Alessandro Garcia 
available online?
  http://www.cs.ncl.ac.uk/research/events/colloquia/abstract.php?id=182

- 
http://www.jpmdesign.net/wordpress/2005/08/27/ehi-error-handling-infrastructure/

5. I guess that it will be a challenge to adapt such design options to 
programming languages like C that do not support to throw and catch 
exceptions as a built-in feature. Can this only be resolved with 
implementations of metaobject protocols?

Regards,
Markus



More information about the discuss mailing list