List of projects suitable for advanced undergraduate, Masters, or first-year Ph.D. students

This page describes several projects that might help beginning students who are interested in PARADISE to get their feet wet and get involved.

Real-time Distributed Agreement Protocols

In distributed simulation, there are many times when a small number of entities need to agree on something, and when the simple state dissemination model is not sufficient.

For instance, in PARADISE, agreement must occur for: distributed collision detection and resolution (agreeing on the fact that two entities have collided and deciding what to do about it), resource transfer (guaranteeing that when I hand you an object, there is exactly one copy after the transfer), and dead entity detection--deciding that an entity is dead or unavailable.

There are many simple transactional agreement protocols floating around in the distributed systems community, but PARADISE has some unique characteristics, particularly its strict requirements for real-time agreement.

This project would involve research into real-time agreement protocols for distributed simulations, and hopefully implementing them into the prototype PARADISE sytem that we are building. A good place to start with this project would probably involve looking at distributed collision detection.

PARADISE Development

We are building a distributed simulation testbed for our research, and there are several pieces of it that are ripe for implementation.

Dynamic Terrain

In a distributed simulation, users interact not only with one another but also with the environment, or terrain. For example, a tank leaves tracks in the ground and a missile creates a crater in the ground.

We need a student to explore how dynamic terrain can be created, updated, and managed. Our approach is to treat the terrain like any other entity insofar as possible. The terrain has unique characteristics, however: it is big and effectively exists everywhere, and it undergoes structural change. A dynamic terrain implementation should be added to the PARADISE testbed.

This project requires the student to explore how the terrain database is represented (i.e. polygons, elevations, etc.), how updates are stored, how the terrain is paged to simulators as they move about, how updates are propagated to interested hosts, how persistence and reliability are guaranteed, and other issues. The student will probably need to gain some background in databases and graphics.


Hugh Holbrook (holbrook .at. dsg .dot. stanford .dot. edu)
Sandeep Singhal (singhal .at. dsg .dot. stanford .dot. edu)