db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%T A Debugger for Communicating Scala Objects
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%A Andrew Bate, Gavin Lowe
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%E Peter H. Welch, Frederick R. M. Barnes, Kevin Chalmers, Jan Bækgaard Pedersen, Adam T. Sampson
%B Communicating Process Architectures 2012
%X This paper presents a software tool for visualising and
reasoning about
the behaviour of message\-passing concurrent
programs built with the CSO
library for the Scala
programming language. It describes the models
needed to
represent the construction of process networks and the
runtime
behaviour of the resulting program. We detail the
manner in which
information is extracted from the use of
concurrency primitives in order
to maintain these models and
how these models are diagrammed. Our
implementation of
dynamic deadlock detection is explained. The tool
can
produce a sequence diagram of process communications,
the communication
network depicting the pairs of processes
which share a communication
channel, and the trees resulting
from the composition of processes.
Furthermore, it allows
for behavioural specifications to be defined and
then
checked at runtime, and guarantees to detect the illegal
usage of
concurrency primitives that could otherwise lead to
deadlock or data
loss. Our implementation imposes only a
small overhead on the program
under inspection.