Skip to main content
Article thumbnail
Location of Repository

SimCCSK: simulation of the reversible process calculi CCSK

By Gavin Cox


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

Publisher: University of Leicester
Year: 2009
OAI identifier:

Suggested articles


  1. (2008). [Online] [Cited:
  2. (2004). A Structural Approach to Operational Semantics. doi
  3. (2007). Beginning Java SE 6 Platform: From Novice to Professional: From Novice to Profesional. Apress, doi
  4. (1999). Concurrent and Real Time Systems: The CSP Approach (Worldwide Series in Computer Science). doi
  5. (2003). Formal Molecular Biology done in CCS-R. doi
  6. (1971). Hierarchical ordering of sequential processes. Acta Informatica. doi
  7. (2006). Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach. Wordware,
  8. (1961). Irreversibility and heat generation in the computing process. doi
  9. (1973). Logical Reversibility of Computation. doi
  10. (1996). Modeling and verifying distributed systems using priorities: A case study. doi
  11. (2008). MSAGL: Microsoft Automatic Graph Layout. Microsoft Research. [Online] [Cited:
  12. (2008). Object-oriented programming language. doi
  13. (1988). on the History of Reversible Computation. doi
  14. (1988). Principles of Software Engineering Management. doi
  15. (2002). Programming Microsoft .NET.
  16. (2007). Reversibility and Models for Concurrency. doi
  17. Reversible Communicating Systems. doi
  18. (2007). Reversing Algebraic Process Calculi. doi
  19. Reversing CCS with One-Time Communication Keys.
  20. (1999). The C++ Standard Library: A Tutorial and Reference.
  21. (2000). The C++ Standard Template Library. doi
  22. (2001). Windows Graphics Programming: doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.