# The PiVizTool

## Introduction

This page provides the PiVizTool, a graphical environment for the simulation of pi-calculus-based choreographies.

The PiVizTool is a tool for the simulation and analysis of mobile systems described in the pi-calculus. PiVizTool has been developed by Anja Bog in the course of a master thesis. The tool graphically displays the linking structure of a pi-calculus system. For the graphical representation an extended version of Robin Milner's flow graphs is utilized. The evolution of the displayed pi-calculus system can be influenced step-by-step through a user's interaction with the graphical representation. Thereby, the interaction behavior and link passing mobility of the pi-calculus agents in the system can be monitored. Due to the visualization of the interacting pi-calculus agents and their links among each other, an easier understanding of pi-calculus system evolution is achieved. The pi-calculus systems as input for the tool can be described by using the same input syntax as for the Mobility Workbench and Another Bisimulation Checker. Enhancements have been made for representing grouping processes into BPM specific pools.

## Screenshot

## Installation

The PiVizTool is written in Java and provided in two versions, either as pre-compiled .JAR file (Java 1.5) or as source code (should work from Java 1.4). Both versions require the installation of GraphViz Dot (command line version) (GraphViz Homepage) in advance.

- The precompiled .JAR file can simply be started (e.g. using java -jar PiVizTool.jar)
- The source code requires ANT (Homepage). The following targets are provided:
- clean: Cleans the project directory.
- compile: Compiles the PiVizTool.
- jar: Builds the PivVizTool.jar file.
- run: Runs the PiVizTool.jar file.
- Best start with "ant compile jar run".

- The dot path needs to be configured first under File/Set dot execution path... If dot is in your PATH, the default setting might work.

## Downloads

- PiVizTool.jar: The precompiled .JAR file containing the PiVizTool (Java 1.5 and dot required).
- piviztool-src.zip: The source code (requires Java 1.4 and ANT, files under MIT license).
- piviztool-examples.zip: Some examples.
- piviztool-intro.pdf: A short introduction to the PiVizTool.
- AnjaBogThesisFinal.pdf: The complete Master thesis documenting the PiVizTool.

## Publications

The PiVizTool has been presented at workshop at the EMISA 2006 as well as the BPM 2007 conferences. You can find the corresponding publications here:

- Anja Bog, Frank Puhlmann, and Mathias Weske: The PiVizTool: Simulating Choreographies with Dynamic Binding. BPM Conference 2007 Demonstration Program, CEUR Workshop Proceedings Vol. 272, Brisbane, Australia (2007)
- Anja Bog, Frank Puhlmann: A Tool for the Simulation of Pi-Calculus Systems. Open.BPM 2006: Geschäftsprozessmanagement mit Open Source-Technologien, Hamburg (2006), Germany