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> </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. Perhaps, if there is more than one crosscutting = concern it will be very difficult to predict all = possible interactions and assure completeness?</FONT></DIV>=0A= <DIV dir=3Dltr><FONT face=3DArial color=3D#0000ff = size=3D2><EM></EM></FONT> </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> </DIV>=0A= <DIV><FONT color=3D#0000ff size=3D2><EM>Charles</EM></FONT></DIV>=0A= <DIV><FONT face=3DArial size=3D2></FONT> </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><<A = href=3D"mailto:[email protected]">[email protected]</A>></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> </DIV>=0A= <DIV dir=3Dltr><FONT face=3Dtahoma = size=3D2>Is AspectJ<A></A><SPAN> </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> </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 that</FONT></FONT></FONT><FONT face=3DTahoma = size=3D2><SPAN> </SPAN>every aspect advice must be = applied<SPAN> </SPAN></FONT><FONT size=3D2><FONT face=3DTahoma>at = all<SPAN> </SPAN></FONT><FONT face=3DTahoma>the join points matched = by the associated pointcut<A></A><SPAN> </SPAN>whereas what I = mean by </FONT></FONT><FONT face=3DCMR9><FONT face=3DCMR9><FONT = face=3DTahoma = size=3D2>correctness that<SPAN> </SPAN></FONT><FONT = face=3DTahoma><FONT face=3DCMR9><FONT face=3DCMR9><FONT size=3D2>every = aspect advice must be = applied<SPAN> </SPAN></FONT></FONT></FONT><FONT face=3DCMTI9><FONT = face=3DCMTI9><FONT size=3D2>only = at<SPAN> </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>-- </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 - = <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==--