RE: Aspect SandBox & a related paper

Subject: RE: Aspect SandBox & a related paper
From: Karl Lieberherr (
Date: Mon Nov 11 2002 - 21:45:40 EST

Hi Hidehiko:

we read with great interest your sandbox paper with Gregor. We have a
proposal regarding the second application you present:
Adaptive Methods in Demeter. In DemeterJ, we write:

void AdaptiveMethod() whereToGo (WhatToDo);
void print() via Location (PrintVisitor);

We view this as two applications of your model while you view it
as one. It appears that our interpretation simplifies
the understanding.

The first application is a special case
of open classes (OC). "void AdaptiveMethod() whereToGo"
defines a set of methods that are introduced into the existing
classes that are in the traversal scope of "whereToGo".
See e.g. the paper with Mitch Wand:

The second application is a special case of the application
of your model to AspectJ (PA). The join points being advised are the
calls and executions of the methods introduced by the first application
(OC special case). The pointcuts are the signatures of the methods
in "WhatToDo". E.g., before * ... means before any of the traversal
methods is executed. Executing the advice body means to execute
the visitor method body.

Viewing adaptive methods as a special case of OC followed by a special
case of PA is the rationale behind the design of DAJ, our Demeter add-on
to AspectJ:

The enclosed slides give further explanations.

Best wishes,
-- Karl

> -----Original Message-----
> From: Hidehiko Masuhara []
> Sent: Sunday, October 27, 2002 10:33 PM
> To: disclosed-recipients:
> Cc:
> Subject: Aspect SandBox & a related paper
> We would like to announce the first release of Aspect
> SandBox (ASB) and a related preliminary paper.
> ASB is a tool that we have been using to play around with
> different kinds of AOP semantics, and more importantly, to
> compare the different semantics to each other. It is
> available from:
> The paper is titled "A Modeling Framework for
> Aspect-Oriented Mechanisms" written by myself and Gregor
> Kiczales. It describes a framework based on ASB. It is
> available from:
> (Please note that this is still a preliminary draft.)
> ==========
> Abstract. A single framework can be used to model the core semantics
> of five aspect-oriented software development technologies. The
> framework models a weaving process in terms of nine key properties
> having to do with the languages of the input programs and the output
> of the weaver. Two key properties of the framework enable it to model
> all five mechanisms. First is that it models weaving in semantic
> terms, rather than simply as a source code pre-processor. Second is
> that it models crosscutting as a three-part relation - two programs
> are said to crosscut each other with respect to a computation (or
> woven program) if certain conditions hold. This contrasts with
> descriptions of crosscutting as being solely between two programs or
> concerns.
> ==========
> Comments are most welcome.
> Best regards,
> Hidehiko

This archive was generated by hypermail 2b28 : Mon Nov 11 2002 - 21:43:39 EST