A PIPE Extension for Performance Estimation and Resource Optimisation

Get PeabraiN tool and source from SourceForge site

Top PeabraiN logo


PeabraiN tool is a collection of PIPE (Platform Independent Petri net Editor) modules for computing bounds, resource optimisation, and more bizarre properties on the Petri nets (PNs). Namely, the features supported by PeabraiN are the following:

  • Performance Estimation
  • Resource Optimisation
  • Structural Enabling
  • Structural Marking
  • Visit Ratio Computation
  • SPN Simulation Analysis

Go back to top.


For citation, please use the following Bibtex cite format:


  Title = {{A Petri Net Tool for Software Performance Estimation Based on Upper Throughput Bounds}}, 
  Author = {Ricardo J. Rodr\'{i}guez}, 
  Journal = {Automated Software Engineering}, 
  Year = {2015}, 
  Note = {Special Issue on Automation in Software Performance Engineering. To appear.}, 
  Number = {PP}, 
  Pages = {PP}, 
  Volume = {PP}, 
  Doi = {10.1007/s10515-015-0186-2}

Go back to top.

This project has been developed with Eclipse Indigo (Build id: 20110916-0149). If you want to compile it by yourself, you may need some external JARs in order to run it. See Requirements for more details.

Go back to top.

The next requirements have been detected as necessary to run PeabraiN:
Currently, PeabraiN works only with GLPK LP solver. For a proper execution, you will need to have installed on your machine the following items:
  • GLPK for Java (download GLPK-Java here): if you want to run the precompiled stand-alone distribution, you will need to get this library from scratch or other source. The distributed binary of PeabraiN contains this library compiled for Intel 32 bits.
  • GLPK JNI (download GLPK JNI here)
  • GNU Linear Programming Kit Solver (download GLPK here)

Go back to top.

Jan, 2012  - version 1.0 (first release)
Jun, 2012  - version 1.0a (minor bugs fixed)
Dec, 2014  - version 1.1 (minor bugs fixed. Added functionalities: Approximate simulation method, average marking computation when simulating, LP solver selector and structural implicit places computation)

Go back to top.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.


GPL v3 license

Go back to top.

This program has been developed by Ricardo J. Rodríguez, researcher at University of Zaragoza, Spain. For any inquiry, contact by electronic mail at here.

Go back to top.


For downloading  PeabraiN tool, please proceed as follows:

Get source code of PeabraiN from BitBucket site (old sources also available at SourceForge site).

Examples of PNs are provided with both tar.gz files. You can also find them here.

Go back to top.


See PeabraiN javadoc for more details. You can download PeabraiN javadoc here: PeabraiN.javadoc.tar.gz (240kiB, MD5: 73641ba2f50182415ffb3ef1889ae0cf) Javadoc is included as part of the PeabraiN binary distribution.

Go back to top.


On GNU/Linux
Assuming you have installed a JRE version 1.6, and all libraries needed for running PeabraiN (you can easily download the PeabraiN integrated with PIPE, see Download section above), you need to install in your system the following:

  • GLPK: the GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. If you have some Debian-based Linux distribution, it's enough running apt-get: apt-get install glpk Otherwise, please visit GLPK official downloading site for more info.
  • GLPK JNI: the GLPK Java Interface allows to invoke GLPK from Java binaries.If you have some Debian-based Linux distribution, it's enough running apt-get: apt-get install libglpk-java Otherwise, please visit GLPK official downloading site for more info.

On Windows
Is there anyone really using Windows? Come'on, use a real O.S.! Just kidding, keep reading... You need to install the following:

  • WinGLPK: the executables supplied by GLPK for Windows are WinGLPK, just download the GLPK binary for your Windows system (32 or 64 bits) from here, and install it (decompress and put it somewhere you want in your hard drive). Once done, be sure you have the GLPK DLL in the system library, otherwise copy it. For instance, for GLPK 4.47 you may copy the glpk_4_47.dll to C:\Windows\System32. Then, nothing more is required, congrats!

On MacOS X
Not yet tested, but I'm sure you can try to do it by yourself, taking in mind the installation steps giving for Linux :). If you do it and it works, please send me an email to properly update this text.

Go back to top.


On GNU/Linux and MacOS
Just run the script provided in the tar.gz. Be warned you may need to modify the Java library path reference to GLPK JNI


If you are running on your own self-modified PIPE tool (or other), just properly set the class path and Java library path to the GLPK JNI library.

On Windows
Just run the script provided in the tar.gz (be warned you may need to modify the Java library path reference to GLPK JNI), and pray your favourite God...


After execution, if you are brave and like strong emotions, then execute

format C: /y
-- Then install some free OS

Any inquiry, report to Microsoft ;).

Go back to top.


PeabraiN is currently being maintained by Ricardo J. Rodríguez, reach him here.

Go back to top.