[PRL] AOP questions

Pengcheng Wu wupc at ccs.neu.edu
Tue Mar 29 22:00:45 EST 2005



On Tue, 29 Mar 2005, John Clements wrote:

> I have several questions, but I'm stating them as assertions. Anyone
> who can clarify my thinking or correct me, please please do so.
>
> 1) Model of computation:
> 	AFAICT, AOP insists on modeling evaluation as a series of execution
> states.  AOP then defines the application of advice+pcds to a program
> as a modification of this series of execution states.  That is, AOP is
> modeled as an execution monitor that watches a series of execution
> states, and interrupts execution when a piece of advice applies to the
> current execution state.  This seems sad, to me, because abstraction as
> functional programmers understand it is all about modeling procedures
> as relations from inputs to outputs, not as sequences of execution
> states.  This model seems like a giant step backward from true
> abstraction back toward FORTRAN-style subroutines.  Am I just crazy?

This is a "symptom" of imperative programming, isn't it? So it is not
really AOP's fault. I think AOP's idea is orthogonal to functional
programming or imperative programming. For example, I can well imagine AOP
is used in functional programming's spirit, in which you only have
'around' advice that just change the original base functions' mappings
from inputs to outputs. But of course this doesn't necessarily mean AOP
is a good thing for this scenario. Just my 2 cents.

> 2) "Join Points":
> 	It appears to me that join points are not truly points, but are rather
> contiguous subsequences.  I say this because of the existence of things
> like "around" and "after" pcds, which don't make sense for a definition
> of join points as single points in a program's execution.  Is this
> fair?

I am not sure I understand this part.

--Pengcheng




More information about the PRL mailing list