Research
Pervasive Computing Environments
The current techniques for interacting with pervasive computing environments are too complex or otherwise inappropriate for use by domain experts in the development of software applications. Through my research I will show how specialized interfaces, languages, and tools, can make pervasive computing environments more approachable to novice and hobbyist software developers, and thereby more useful and valuable.
Primary Projects
These project represent my primary research interests and will contribute directly to my dissertation.
Application Sessions Model
This model is designed to protect the application developer from the details of long term communications in pervasive computing environments. Specifically, we abstract the details of interacting with various routing and discovery protocols into a course-grained application session which represent the long-term conversation between the application and remote resources. Application sessions are configured with application-level properties which are then converted into application-specific discovery and routing strategies which are run ‘under-the-covers’. This decouples the user from the underlying technologies and keeps his focus on the problems is his own domain.
The Application Session Model website contains more details and maintains the most current information about the project.
Evolving Tuples
With evolving tuples, we can send messages across a context-aware network can collect information along the way. This information is used both by the endpoints of communication, and by the messages themselves to optimize application behaviors.
The Evolving Tuples website contains more details and maintains the most current information about the project.
Physical Simulation of Mobile Networks
While software simulation is an invaluable tool to asses technologies for wireless networks, the results can be quite misleading. This becomes especially obvious when network notes are mobile and when there is no central authority to regulate the system. The Pervasive Computing Test Bed is a facility designed to quantify the difference between software simulation and emperical results. By understanding these values we can better estimate the performance of software components and techniques when they are deployed in large real-world environments.
Secondary Projects
These are projects that I have contributed to, but are being headed up by other members of my lab.
Sensor Enablement for the Average Programmer (SEAP)
We’re working on a software architecture to guide average programmers to success in developing pervasive applications.
Repeatable Network Simulators
Setting up network simulators is a pain. And it can involve changing lots of system parameters and applications. For example, the TinyOS 1.x install requires a specific version of the make application. Though not really ‘research’, I am creating and maintaining a couple VMWare based virtual machines with network simulators pre-installed.
I’ve finally gotten to the point that I can post my Instructions for setting up Omnet/Mobility Framework/NesCT/TinyOS that I have been using to create virtual machines. Well, now that I’ve worked out all the bugs, I’m just reusing the same virtual machine for all my projects.
If you’re interested in getting a copy of the VM image, or want to suggest a patch or feature, email me at dstovall@mail.utexas.edu. Also check my TinyOS, NesC, and Mica2 Lessons Learned if you’re having issues…
Virtual Sensors
For InfoCom 2007, I helped to create a demo for Sanem Kabadayi’s Virtual Sensors project.
Holistic House
I’m helping Seth Holloway to build a prototype Aware Home system.
Dissertation
The full text of my dissertation and the slides from my defense are available:

[...] If you’re intersted in reading the dissertation or thumbing through the slides, I’ve posted them on my research page. [...]