[aosd-discuss] Inheritance hierarchies
Dean Wampler
dean at aspectprogramming.com
Tue Apr 17 12:58:55 EDT 2007
On Apr 17, 2007, at 11:35 AM, Ashley at Metamaxim wrote:
> Raffi
>
>> But how are aspects compositional? The problem with reasoning
>> about AO
>> programs is that doing so generally requires whole-program analysis.
>
> At least in the approach we have been using, a well defined form of
> local
> reasoning is possible, so whole-program analysis is not required.
> Primarily
> this is because we are using the parallel composition operator (P||
> Q) of
> Hoare's CSP to combine aspects with their base. The form of local
> reasoning
> this enables is fully described in the paper I referenced.
>
> I find it hard to understand how it is possible to use aspects to any
> significant degree unless at least some degree of local reasoning is
> possible.
+1. That's why I think most aspects should only add orthogonal state
and behavior to the modules they advise. Otherwise, you have a non-
trivial problem of reasoning about the behavior. (Even then, such
aspects can impact performance and other systemic properties.) Non-
orthogonal aspects should be used deliberately and with caution, at
least given the current state of our art.
Coming from industry, the vast majority of developers simply won't
use aspects if they have to do some sort of global analysis to ensure
correct behavior. Very few organizations do anything like that today.
It would be too big a barrier. Fortunately, the problem is diminished
by using mostly orthogonal aspects. Also, rigorous automated testing,
which is already a best practice that emerged in the last decade,
will help detect many problems.
dean
>
> Rgds
> Ashley
>
>
> _______________________________________________
> discuss mailing list - discuss at aosd.net
>
> 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
Dean Wampler, Ph.D.
dean at objectmentor.com
http://www.objectmentor.com
http://www.aspectprogramming.com
http://www.contract4j.org
I want my tombstone to say:
Unknown Application Error in Dean Wampler.exe.
Application Terminated.
[Okay] [Cancel]
More information about the discuss
mailing list