When teaching concurrency, using a process-oriented language, it is often
introduced through a visual representation of programs in the form of process network
diagrams. These diagrams allow the design of and abstract reasoning about programs,
consisting of concurrently executing communicating processes, without needing any
syntactic knowledge of the eventual implementation language. Process network diagrams
are usually drawn on paper or with general-purpose diagramming software,
meaning the program must be implemented as syntactically correct program code before
it can be run.
This paper presents POPed, an introductory parallel programming tool leveraging
process network diagrams as a visual language for the creation of process-oriented
programs. Using only visual layout and connection of pre-created components, the
user can explore process orientation without knowledge of the underlying programming
language, enabling a “processes first” approach to parallel programming. POPed
has been targeted specifically at basic robotic control, to provide a context in which
introductory parallel programming can be naturally motivated.