Pi-Calculus Shell


The Pi-Calculus Shell (pishell) provides a command line interface for simulating and analzying business processes (denoted in proprietary BPMN) in asynchronous pi-calculus. Besides command line interactions, a graphical output of the business process in BPMN is contained. The Ruby source can be found here.


The Pi-Calculus Shell requires


OR-Join picture
The graphical visualization of the Pi-Calculus shell

Short Walkthrough

After unpacking the .zip-file, you can simply start the Pi-Calculus shell via 'ruby pishell.rb'. Please note again, that you need TK installed and linked to Ruby!

The Pi-Calculus shell has a built in help via 'h'. The .zip-file contains different examples that can be loaded with 'l filename' and the graphics can be shown with 'g'. The next transition is enabled with 'Enter', if a choice is possible, you can also enter one of the numbers shown. If you move the mouse above the elements of the graphical representation, you can see the names of the corresponding agents (for nodes) or pi-calculus names (for edges). The following files are provided:

You can calculate the remaining (different) states with 's max', where max denotes the maximum number of states to be calculated. Please note that the tool is written in Ruby with a very memory-expensive pi-calculus representation! If the remaining states can be calculated, it is also shown if the last state is always a BPMN End-Event.

Supported commands


The theoretical foundation of the pishell (asynchronous pi-calculus, or-join semantics) can be found in