2. Implementing object migration in Zonnon. Current version of the compiler supports shared memory only. We had some prototypes for distributed Zonnon, but they worked only with value objects that contain no references inside. Recently we have clarified the ownership model for the heap and in principle object migration could be extended to objects with references. Or [potentially] even groups of objects (this may require language extensions). Zonnon's programming model features actors communication through message-passing guarded via compile and runtime checked protocols.

3. Enhancing fine-grained concurrecny within actors. Currently all activities within a single actor run sequentially. Clearly this is not good enough. We have already relaxed it by letting run concurrently those sections of activities that do not access actor’s state. However when it comes to heap we always lock the actor. This is ok with simple actors. But what if an actor is composed out of many active objects. To find a safe relaxation of locks that can be achieved by compile time control flow and data flow analysis and runtime information is a non trivial exercise.


If you are a student at ETH Zurich and you are interested in one of the topics - contact Roman Mitin.