1.
Use AspectJ to create a sequence diagram from a running program.

2.
Integration of Demeter and AspectJ

Possibilities:
2.1
Traversal introductions: 
  exposing names of generated methods

2.1.1
Visitors done in AspectJ 
  can combine traversals with other pcds
  very verbose to transport objects using cflow
2.1.2
Visitors done in Java
  as in DJ

2.2
Without exposing names of generated methods
use new point cut designators: traversal(t) and crossing(e).
Use target(x) to access traversed node. Use this(x) and target(y)
to access edge from x to y. Use args(v) to access the visitor
in the traversal; Use args(v,tokenSet) to access both visitor
and the token set. Can ask token set whether a given
strategy edge is active.
Combine traversal(s) pcd cut with other pcds.
But && in AspectJ has other meaning as strategy intersection
for traversals. Use separate set of operators for traversals.

2.2.1
Without nested traversals there is much duplication
of traversal(t) in the visitor pointcuts. Would like
to put advice into traversals?

2.3
DJ partial evaluation: First two: independent of AspectJ 
Motivation: DJ too slow for AspectJ community
2.3.1
Partially evaluate traverse, fetch, gather, asList when class graph is fixed.
2.3.2
Increment: also partially evaluate visitors with traversals
2.3.3
Increment: add to AspectJ: allow traverse to be called in advice

2.4
New type pattern: Classes(traversal specification)

Apply traversal specifications to Call Graph and select nodes only.

2.5
Use strategies in combination with cflow.

2.6
Demeter/AJ

This tool project is fun and suitable as a five week project.
Input:
Class dictionary cd
Set of traversals
*.java files containing aspects with pointcuts traversal(t) and crossing(e)

Translate the class dictionary into Java classes a la DemeterJ.
Translate the traversals to aspects (introductions)

Then all the *.java files are compiled by AspectJ.

Benefits: DemeterJ
Needs a cd for AspectJ

2.7
Adding Aspectual Collaborations to AspectJ

Write a preprocessor that translate Aspectual Collaborations to AspectJ
(extended with Demeter by John Sung).

This will be a nice integration of our current work resulting
in a system where we have components, aspects, collaborations,
functional traversals, class dictionaries all available.