Check out the new USENIX Web site. next up previous
Next: Bibliography Up: Development Tools for Distributed Previous: Debugging Support


Conclusions

It is clear that distributed applications are a significant part of the computing landscape. But to fully realize the potential of networked computing, we will need richer development environments that lessen the burden on application developers. We believe that the development of distributed applications can be improved by an appropriate life-cycle model, and tools that support that model.

We have proposed a life-cycle that consists of design, implementation, testing, deployment and operation, and maintenance and evolution stages. Tools to support the first two stages already exist, or are now emerging. For the maintenance and evolution phase, initial work indicates that approaches based on versioning/snapshot filesystems and virtual machines will be appropriate for many distributed applications. To support the testing phase, we propose the message injection and data capture primitives. We also find that traditional approaches to debugging do not map well to distributed applications, and that new primitives will be needed. As a start, we propose rich forms of message logging as an approximation of single-stepping. Finally, while we have not addressed the issue of the remaining life-stages in this paper, we hope to eventually develop a tool chain that helps developers in all stages.


next up previous
Next: Bibliography Up: Development Tools for Distributed Previous: Debugging Support
mukesh agrawal 2003-06-17