[PRL] AOP questions

John Clements clements at brinckerhoff.org
Wed Mar 30 15:22:23 EST 2005


On Mar 30, 2005, at 2:57 PM, Doug Orleans wrote:

> John Clements writes:
>> IIUC, I believe that the graph by itself will not be sufficient to
>> represent an evaluation.  That is, I think that an evaluation will 
>> have
>> to be represented as graph + traversal.
>
> By traversal do you just mean a total ordering of the edges?  I was
> assuming that was intrinsic to the graph, i.e. each node has an
> ordered list of outgoing edges, and the graph is traversed depth-first.
>
>> Forgive my ignorance: can you explain, in the model you're describing,
>> what a node in the graph represents and what edges represent?  Is the
>> store off on the side?  Is your picture of the world big-step or
>> small-step?
>
> The nodes are join points (activation records? stack frames?) and the
> edges are procedure calls.  The store is not represented, this is just
> the control-flow graph.  I guess this is small-step?  Evaluating an
> application expression steps you across one edge in the graph.
>
> Maybe you should also have a back-edge representing the return from B
> to A, and a continuation invocation wouldn't have this back-edge.  I
> admit I'm a little fuzzy here, but surely someone has thought about
> continuations from a graph perspective and has a better story for
> this?

The graph you describe conflates control flow and context; the drawback 
of such a model is that it's hard to model context-modifying operations 
like continuation invocation, exception handling, etc.  This (I claim 
that Matthias claims) is essentially the same reason that evaluation 
contexts are more natural than SOS (tree-like) for describing a 
semantics with continuation operations.

Essentially, I see how you can "patch up" a tree-like semantics in a 
useful way by turning it into a graph.  And, to unwind this all the 
way, this is why it seems to me that the underlying execution model 
that best fits AspectJ is one where "join points" denote segments of a 
sequence of execution states.

john

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2430 bytes
Desc: not available
Url : https://lists.ccs.neu.edu/pipermail/prl/attachments/20050330/9554e333/smime.bin


More information about the PRL mailing list