Re: Completeness and Correctness of AspectJ Weaving

"Donisthorpe C (AT)" <[email protected]> Thu, 22 Jan 2009 14:52:26 -0000
Newsgroups gmane.comp.programming.aspect.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.

--===============7330487164355370574==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C97CA1.0A564966"

This is a multi-part message in MIME format.

------_=_NextPart_001_01C97CA1.0A564966
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi
=20
I dont think priorities between aspects necessarily help because whilst =
you may plan for an exception it will generally have the effect of =
undoing the weave.  Perhaps, if there is more than one crosscutting =
concern it will be very difficult to predict all possible interactions =
and assure completeness?
=20
Regards
=20
Charles
=20

________________________________

From: [email protected] on behalf of Arthur Marques
Sent: Thu 22/01/2009 13:34
To: Pascal Costanza
Cc: [email protected]
Subject: Re: [aosd-discuss] Completeness and Correctness of AspectJ =
Weaving


but you can assure priority between aspects, so you=B4ll be sure what =
advice will come firsrt.


2009/1/22 Pascal Costanza <[email protected]>



	On 21 Jan 2009, at 20:21, DIMA MOHAMMED ALHADIDI wrote:


	=09
		Hi,
		=20
		Is AspectJ has a complete and correct weaving taking into =
consideration aspect interference and interaction?
		=20
	=09
		What I mean by completeness that every aspect advice must be applied =
at all the join points matched by the associated pointcut whereas what I =
mean by correctness that every aspect advice must be applied only at the =
join points that match the associated pointcut.


	There is no such thing as an assurance that all aspects are triggered =
at a specific join point. If several pieces of advice apply at a join =
point, the first may, for example, throw an exception, which means that =
the other ones are not called. Or, the first may be a piece of around =
advice that doesn't proceed (or worse, proceeds only conditionally). =
Etc.


	Pascal

=09
=09
=09
=09
=09
=09
	--=20
	Pascal Costanza, mailto:[email protected], http://p-cos.net =
<http://p-cos.net/>=20
	Vrije Universiteit Brussel
	Programming Technology Lab
	Artificial Intelligence Lab
	Pleinlaan 2, B-1050 Brussel, Belgium




	_______________________________________________
	discuss mailing list    -    [email protected]
=09
	To unsubscribe and change options, go to:
	http://aosd.net/mailman/listinfo/discuss_aosd.net
=09
	Check out the AOSD.net Wiki: http://aosd.net/wiki
=09
=09




--=20
Arthur de Sousa Marques
Ci=EAncia da Computa=E7=E3o - UFCG
Microsoft Academic Alliance - MSDNAA
Grupo de M=E9todos Formais - GMF


------_=_NextPart_001_01C97CA1.0A564966
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<HTML dir=3Dltr><HEAD>=0A=
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dunicode">=0A=
<META content=3D"MSHTML 6.00.2900.2912" name=3DGENERATOR></HEAD>=0A=
<BODY>=0A=
<DIV id=3DidOWAReplyText1039 dir=3Dltr>=0A=
<DIV dir=3Dltr><FONT face=3D"Comic Sans MS" color=3D#000080 =
size=3D2>Hi</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3D"Comic Sans MS" color=3D#000080 =
size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3D"Comic Sans MS" color=3D#000080 size=3D2>I =
dont think priorities between aspects necessarily help because whilst =
you may plan for an exception it will generally have the effect of =
undoing the weave.&nbsp; Perhaps, if there is more than one crosscutting =
concern it will be very difficult to&nbsp;predict all =
possible&nbsp;interactions and assure completeness?</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3DArial color=3D#0000ff =
size=3D2><EM></EM></FONT>&nbsp;</DIV></DIV>=0A=
<DIV id=3DidSignature32893 dir=3Dltr>=0A=
<DIV><FONT color=3D#0000ff size=3D2><EM>Regards</EM></FONT></DIV>=0A=
<DIV><FONT color=3D#0000ff size=3D2><EM></EM></FONT>&nbsp;</DIV>=0A=
<DIV><FONT color=3D#0000ff size=3D2><EM>Charles</EM></FONT></DIV>=0A=
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV></DIV>=0A=
<DIV dir=3Dltr><BR>=0A=
<HR tabIndex=3D-1>=0A=
<FONT face=3DTahoma size=3D2><B>From:</B> [email protected] on =
behalf of Arthur Marques<BR><B>Sent:</B> Thu 22/01/2009 =
13:34<BR><B>To:</B> Pascal Costanza<BR><B>Cc:</B> =
[email protected]<BR><B>Subject:</B> Re: [aosd-discuss] Completeness and =
Correctness of AspectJ Weaving<BR></FONT><BR></DIV>=0A=
<DIV>but you can assure priority between aspects, so you=B4ll be sure =
what advice will come firsrt.<BR><BR>=0A=
<DIV class=3Dgmail_quote>2009/1/22 Pascal Costanza <SPAN =
dir=3Dltr>&lt;<A =
href=3D"mailto:[email protected]">[email protected]</A>&gt;</SPAN><BR>=0A=
<BLOCKQUOTE class=3Dgmail_quote style=3D"PADDING-LEFT: 1ex; MARGIN: 0pt =
0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">=0A=
<DIV>=0A=
<DIV>=0A=
<DIV></DIV>=0A=
<DIV class=3DWj3C7c><BR>=0A=
<DIV>=0A=
<DIV>On 21 Jan 2009, at 20:21, DIMA MOHAMMED ALHADIDI wrote:</DIV><BR>=0A=
<BLOCKQUOTE type=3D"cite"><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px =
Helvetica; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; =
WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV>=0A=
<DIV>=0A=
<DIV dir=3Dltr><FONT face=3DTahoma color=3D#000000 =
size=3D2>Hi,</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3Dtahoma size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3Dtahoma =
size=3D2>Is&nbsp;AspectJ<A></A><SPAN>&nbsp;</SPAN>has a complete and =
correct weaving taking into consideration aspect interference and =
interaction?</FONT></DIV>=0A=
<DIV dir=3Dltr><FONT face=3Dtahoma size=3D2></FONT>&nbsp;</DIV>=0A=
<DIV dir=3Dltr><FONT face=3DCMBX9><FONT face=3DCMBX9></FONT></FONT>=0A=
<DIV style=3D"MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px"><FONT =
face=3DCMBX9><FONT face=3DCMBX9><FONT face=3DTahoma size=3D2>What I mean =
by completeness&nbsp;that</FONT></FONT></FONT><FONT face=3DTahoma =
size=3D2><SPAN>&nbsp;</SPAN>every aspect&nbsp;advice must be =
applied<SPAN>&nbsp;</SPAN></FONT><FONT size=3D2><FONT face=3DTahoma>at =
all<SPAN>&nbsp;</SPAN></FONT><FONT face=3DTahoma>the join points matched =
by the associated&nbsp;pointcut<A></A><SPAN>&nbsp;</SPAN>whereas what I =
mean by&nbsp;</FONT></FONT><FONT face=3DCMR9><FONT face=3DCMR9><FONT =
face=3DTahoma =
size=3D2>correctness&nbsp;that<SPAN>&nbsp;</SPAN></FONT><FONT =
face=3DTahoma><FONT face=3DCMR9><FONT face=3DCMR9><FONT size=3D2>every =
aspect&nbsp;advice must be =
applied<SPAN>&nbsp;</SPAN></FONT></FONT></FONT><FONT face=3DCMTI9><FONT =
face=3DCMTI9><FONT size=3D2>only =
at<SPAN>&nbsp;</SPAN></FONT></FONT></FONT><FONT face=3DCMR9><FONT =
face=3DCMR9><FONT size=3D2>the join points that match the associated =
pointcut<A></A>.</FONT></FONT></FONT></FONT></FONT></FONT></DIV></DIV></D=
IV></DIV></SPAN></BLOCKQUOTE><BR></DIV></DIV></DIV>=0A=
<DIV>There is no such thing as an assurance that all aspects are =
triggered at a specific join point. If several pieces of advice apply at =
a join point, the first may, for example, throw an exception, which =
means that the other ones are not called. Or, the first may be a piece =
of around advice that doesn't proceed (or worse, proceeds only =
conditionally). Etc.</DIV>=0A=
<DIV><BR></DIV>=0A=
<DIV><BR></DIV>=0A=
<DIV>Pascal</DIV>=0A=
<DIV><BR></DIV>=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV><SPAN style=3D"WORD-SPACING: 0px; FONT: 12px Helvetica; =
TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: =
normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate">=0A=
<DIV>=0A=
<DIV>--&nbsp;</DIV>=0A=
<DIV>Pascal Costanza, mailto:<A href=3D"mailto:[email protected]" =
target=3D_blank>[email protected]</A>, <A href=3D"http://p-cos.net/" =
target=3D_blank>http://p-cos.net</A></DIV>=0A=
<DIV>Vrije Universiteit Brussel</DIV>=0A=
<DIV>Programming Technology Lab</DIV>=0A=
<DIV>Artificial Intelligence Lab</DIV>=0A=
<DIV>Pleinlaan 2, B-1050 Brussel, Belgium</DIV>=0A=
<DIV><BR></DIV></DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV></SPAN></DIV>=
</SPAN></DIV></SPAN><BR></DIV><BR></DIV><BR>_____________________________=
__________________<BR>discuss mailing list &nbsp; &nbsp;- &nbsp; =
&nbsp;<A href=3D"mailto:[email protected]">[email protected]</A><BR><BR>To =
unsubscribe and change options, go to:<BR><A =
href=3D"http://aosd.net/mailman/listinfo/discuss_aosd.net" =
target=3D_blank>http://aosd.net/mailman/listinfo/discuss_aosd.net</A><BR>=
<BR>Check out the AOSD.net Wiki: <A href=3D"http://aosd.net/wiki" =
target=3D_blank>http://aosd.net/wiki</A><BR><BR></BLOCKQUOTE></DIV><BR><B=
R clear=3Dall><BR>-- <BR>Arthur de Sousa Marques<BR>Ci=EAncia da =
Computa=E7=E3o - UFCG<BR>Microsoft Academic Alliance - MSDNAA<BR>Grupo =
de M=E9todos Formais - GMF<BR></DIV></BODY></HTML>
------_=_NextPart_001_01C97CA1.0A564966--


--===============7330487164355370574==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
discuss mailing list    -    [email protected]

To unsubscribe and change options, go to:
http://aosd.net/mailman/listinfo/discuss_aosd.net

Check out the AOSD.net Wiki: http://aosd.net/wiki

--===============7330487164355370574==--