PIPE 5 is currently in beta stage due to an entire re-write of the back end and so is missing most of the analysis modules. If you require Petri net analysis, please use PIPE 4.
New (March, 2015)
An alpha version that supports hierarchical Petri nets and external interfaces is under development, and is available in the hierarchical-nets branches of PIPE and PIPECore. It consists of business logic in the PIPECore project (plus a few compatibility changes in PIPE), and does not yet have user interface support.
PIPE is an open source, platform independent tool for creating, simulating and analysing Petri nets including Generalised Stochastic Petri nets. Petri nets are a popular way for modelling concurrency and synchronisation in distributed systems and to learn more about Petri nets, you can start by reading the 2006/7 MSc. project report available here.
How to cite PIPE
If you use PIPE in your research, we would be grateful if you would cite the relevant publications:
- N.J. Dingle, W.J. Knottenbelt and T. Suto. PIPE2: A Tool for the Performance Evaluation of Generalised Stochastic Petri Nets (PDF format). ACM SIGMETRICS Performance Evaluation Review (Special Issue on Tools for Computer Performance Modelling and Reliability Analysis), Vol. 36(4), March 2009, pp. 34-39.
- P. Bonet, C.M. Llado, R. Puijaner and W.J. Knottenbelt. PIPE v2.5: A Petri Net Tool for Performance Modelling (PDF format). Proc. 23rd Latin American Conference on Informatics (CLEI 2007), San Jose, Costa Rica, October 2007.
If you just wish to use the latest release download the latest uber-jar from the release page, double click and go!
Building the project manually
First check out the release you're interested in e.g:
$ git checkout PIPE-5.0.0-beta-3
Then to build the
jar execute the following from within the PIPE root directory:
$ mvn install
Once finished you should see the creates
jars in the directory
In order to run the PIPE GUI execute the following commands from within the PIPE root directory:
$ mvn install $ mvn exec:exec -pl pipe-gui
Note: local libs
There are some internal libraries, which need to be found for maven. For the mean time they are located in the project under
src/local-libs and this directory is treated as a local library. When installing expect the following warning:
[WARNING] The POM for internal:XXX is missing, no dependency information available
The original method for these local libraries required running a Python script to install the local libraries using
mvn install, however this new method removes the need for a pre-install step).
If you know of a better way to do this, please raise it in the issues section.
Just follow the following recommended process:
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Ensure your new code is tested thoroughly
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request