Hi Nikolas,
I have designed and implemented Transactional Pointcuts (Transcuts)
for AspectJ but it's currently implemented in the AspectBench
Compiler. You can find examples as well as details about this model in
here:
http://doi.acm.org/10.1145/1621607.1621615
Sadat-Mohtasham, H. and Hoover, H. J. 2009. Transactional pointcuts:
designation reification and advice of interrelated join points. In
Proceedings of the Eighth international Conference on Generative
Programming and Component Engineering(Denver, Colorado, USA, October
04 - 05, 2009). GPCE '09. ACM, New York, NY, 35-44. DOI= http://doi.acm.org/10.1145/1621607.1621615
In a nutshell, the idea is that, join points do not occur in isolation
but are usually part of a bigger operation (e.g. a database
transaction, file I/O, etc.). This proposed model allows designation,
reification and advice of these interrelated join points. for example,
consider this code:
IResource res = new SomeResource();
// Use the resource here
res.close();
You can write an exception handling aspect for the above piece of code
without refactoring. The reason that this is possible in this new
model is that a sequence of interrelated join points can be designated
and treated as a join point. This extension is fully compatible with
AspectJ and works with other constructs such as cflow and percflow, etc.
You can find an example on database transactions using this model in
the paper. Please let me know if you have any questions on the current
status of transcuts and specific usage scenarios.
Cheers,
--Hossein
On 7-Feb-10, at 9:04 AM, [email protected] wrote:
Message: 3
Date: Sat, 6 Feb 2010 23:25:18 +0100 (CET)
From: Nikolas Nehmer <[email protected]>
Subject: Re: [aspectj-users] detecting try blocks
To: [email protected]
Message-ID:
<27032609.1265495119276.open-xchange.webmail.tom...@groupmail.informatik.uni-kl.de
>
Content-Type: text/plain; charset=us-ascii
Hi Andy,
thanks for your reply! Most likely my use case is far too specific. In
the context of my pdh studies I'm implementing rollback behaviour on
the
application level. Among others, try scopes build transaction
boundaries
in my approach. For the logging part, necessary to ensure rollback
functionality, the entry events and exit events from and to atomic
blocks (transaction boundary) have to be detected during runtime. As
most of my current logging component is based on aspectj it would've
been nice to smoothly integrate this idea as well. But for me it seems
as if I will have to use a bytecode manipulation framework such as
ASM.
Cheers,
Nikolas
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users