Axiomatic semantics of communicating sequential processes
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
XDP: a simple library for teaching a distributed programming module
SIGCSE '95 Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education
A visualization system for multithreaded programming
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Teaching parallel algorithm with process topologies
Proceedings of the thirty-first SIGCSE technical symposium on Computer science education
Distributed systems (3rd ed.): concepts and design
Distributed systems (3rd ed.): concepts and design
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Communicating sequential processes
Communications of the ACM
Introducing computer systems from a programmer's perspective
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Channels, visualization, and topology editor
Proceedings of the 7th annual conference on Innovation and technology in computer science education
Using remote logging for teaching concurrency
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
ThreadMentor: a pedagogical tool for multithreaded programming
Journal on Educational Resources in Computing (JERIC)
Hi-index | 0.00 |
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.