Projects suitable for a Master Thesis

Adapt known automata algorithms to solve the following problem:

TRAVERSAL EQUIVALENCE PROBLEM:
Given two strategy/class graph pairs (S1,G1) and (S2,G2) such that
Common = Objects(G1) intersect Objects(G2) is not empty,
determine whether they define the same traversals for all objects
in Common. (Also treat the case where the question is whether one
is always a subtraversal of the other.) If the traversals are different
for some objects, give an object where the traversals are different.

Motivation: during the evolution of adaptive programs and class graphs,
we need to know how traversals change.

Ideas: Construct the traversal graph as described in 
http://www.ccs.neu.edu/research/demeter/biblio/strategies.html
using Doug's implementation in Demeter/Java.
View the traversal graph as a generalized finite state machine
(instead of processing strings, we process objects. The output
is in both cases a string.) Generalize finite automata eqivalence
algorithms.

---------

SELF-AWARE PROGRAMS (suggested by Ken Anderson, BBN)

Design and prototype an aspect language for self-adaptive
performance improvement. The self adaptation should be based on
observing the run-time behavior and then modifying the class
graph to improve performance. The program 
needs to be self-aware of memory and time consumption of certain
parts of the computation.

[A DARPA proposal is under preparation for this topic]
For related work by Batory's group on adaptive collection class
selection, see Batory's home page.
----------

Integrate adjusters and visitors, design an improved form of Demeter/Java
and build a prototype.

http://www.ccs.neu.edu/research/demeter/design-decisions/related-work/software-generators/integrate 

----------

Exception Handling Aspect

Develop an exception handling aspect for Demeter/Java (based on the
work by Lars Hansen; see his page.)

------------

Object Migration/Replication Aspect

Develop an object migration aspect for Demeter/Java with RIDL.
How should communication be handled with a remote object?
Prototype using Voyager from ObjectSpace?

----------------