3 research outputs found

    ConcurrentMentor: A Visualization System for Distributed Programming Education

    No full text
    The study of distributed systems is increasingly fundamental to a Computer Science curriculum. Yet, the design of applications to run over distributed systems is complex and mastery of fundamental concepts is challenging for students. In order to assist in distributed systems instruction, we have developed ConcurrentMentor, a visualization system for distributed programming. This system reveals the behavior of a distributed program and its underlying communication protocols while the program executes. Input to the visualization system is generated by an accompanying communication library that closely follows abstractions of communication found in distributed systems literature. No program instrumentation is required

    A communication library to support concurrent programming courses

    No full text
    A number of communication libraries have been written to support concurrent programming. For a variety of reasons, these libraries generally are not well-suited for use in undergraduate courses. We have written a communication library uniquely tailored to an academic environment. The library provides two levels of communication abstraction (topology and channel) and supports communication among threads, processes on the same machine, and processes on different machines, via a unified interface. The routines facilitate controlled message loss along channels and can be integrated with an existing graphical tool that supports visualization of the communication that occurs. An editor has been developed for automatic code generation for arbitrary topologies via a graphical interface. All these tools run over Solaris, Linux, and Windows
    corecore