Reversibility is becoming a more common trend in computer science research. This
research ranges from programming languages through to process calculi. It is process
calculi that we are interested in here. Reversibility of Milner’s CCS has been studied by
both Danos and Krivine with their process calculus RCCS as well as by Phillips and
Ulidowski with theirs called CCSK.
We describe research in the simulation of Phillips and Ulidowski’s CCSK. We primarily
look at this from the standpoint of creating a tool for use within the academic sector,
specifically the aiding of undergraduate students trying to learn process calculi. We
will look into how we can represent the data associated with agents within the context
of a computer simulator. We also look at how we can implement the operational
semantics giving us the transitions between states within this system. Also we shall
see how a Graphical User Interface that contains the relevant information in a clear
and concise manner is an important part of making the tool more accessible to
undergraduate students.
We will present both SimCCSK and WinSimCCS. SimCCSK is a prototype command line
driven simulator for CCSK which includes the key operations and features of CCSK and
allows for the user driven simulation of CCSK agents. WinSimCCSK is a graphical
prototype version built on the same core engine from SimCCSK and contains all of the
same features. WinSimCCSK also includes some additional features such as a built-in
“Agent Editor” allowing easier creation and editing of agents and a dynamically
generated graph based visualisation of the agent’s transitions. It also includes an
“Automatic Simulation” feature for the automatic generation of the visualisation for
teaching examples. Finally, we will look at how this information can be presented and
interacted with in order to make the whole system clear to students helping them
reinforce the traditional learning process and present a few examples illustrating its
action.