Platform Independent Petri net Editor (PIPE)
Category Cross-Omics>Agent-Based Modeling/Simulation/Tools
Abstract PIPE (Platform Independent Petri Net Editor) is an open source platform-independent tool for creating and analyzing Generalized Stochastic Petri Nets (GSPNs) - one type of Petri net that allows for ‘temporal specification’ using immediate and exponential delays.
PIPE is implemented entirely in Java to secure platform independence and provides an easy-to-use Graphical User Interface (GUI) that allows for the creation, saving, loading and analysis of Petri nets conforming to the Petri Net Markup Language (PNML) interchange format.
PIPE also offers a full suite of ‘analysis modules’ (see below...) to check behavioral properties, produce performance statistics, and some less common features such as Petri net comparison and classification.
1) The Graphical User Interface --
PIPE was designed with the objective of providing an intuitive, user-friendly tool for editing Petri nets in an easy, fast and efficient way.
Anyone familiar with the standard drawing UI can pick up and use PIPE without application specific knowledge. PIPE uses standard representation for the different elements that constitute a Petri net.
The following features of the GUI are described:
- a) It conforms to the XML/PNML standard so it could open and work with existing PNML Petri nets. In addition, PNML annotations can also be added, so the user can include text to explain detail of the created models.
- b) It provides a multiple document interface so that one can work with multiple nets at the same time, each of them located on a tabbed pane.
- c) Users are able to perform tasks using a menu bar, a toolbar and mouse actions. Moreover, some keyboard shortcuts are also available to allow for quicker actions.
- d) Nets can be printed or exported into two (2) graphical formats: Postscript and PNG.
- e) Zoom functionality is provided to grant the user greater flexibility and much easier use when working with large nets.
2) Animation mode/Token game --
PIPE offers an animator so that the user can manually experiment with the ‘token game’, firing any of the enabled transitions at each state. The set of enabled ‘transitions’ is highlighted and the user chooses which one must be fired.
Animation history is recorded, i.e. all the fired transitions can be seen on the side of the screen, so from the current state, the animation can be stepped forwards or backwards.
The automatic execution of a ‘random transition’ in animation mode is also possible; for this feature, the user specifies the firing delay and the number of firings.
3) Analysis Modules --
PIPE offers a set of modules to carry out different types of qualitative and quantitative analysis. This set of available modules can be increased, provided that the defined interface is followed.
The available analysis modules in PIPE are:
- a) Classification - based on the connectivity between places and transitions, this module classifies a Petri net into one or more of the following types: State Machine, Marked Graph, FC-Nets, EFC-Nets, SPL-Nets, and ESPL Nets.
- b) Comparison - this module compares two Petri nets based on their PNML files. It confirms whether they are (functionally) the same; otherwise, it works out the differences between them.
- c) DNAmaca interface - through this module, PIPE is able to interface with DNAmaca, a Markov chain specification, generation and solution tool, which can be used to perform analysis of GSPNs.
- It is capable of performing ‘passage time’ analysis on both semi-Markovian and Markovian models, although this module focuses on the Markovian solver.
- The results produced by this module are passage time analysis statistics for the current active net, which represent the distribution of how long it takes for a system to go from the ‘source state’ to the ‘target state’ (both provided by the user).
- d) GSPN analysis - this module calculates the average number of tokens on a place, the token probability density and the throughput of timed transitions by exploring the ‘state space’ of the given Petri net and determining the ‘steady state’ solution of the model.
- e) Invariant analysis - this module computes the ‘place invariant’ and ‘transition invariant’ vectors accurately and efficiently.
- These vectors (called ‘net-invariants’) are Not hard to compute since the complexity of the calculation depends only on the number of places and transitions in the net and Not on the size of the reachability set.
- It also provides the marking equations and information about boundedness and liveness.
- f) Incidence & marking - this module displays the forward, backward and combined incidence matrices and the marking matrix and the set of enabled transitions. It enables the user to feel more confident about the validity of the Petri net because the intermediate results used to generate the more advanced results can be viewed.
- g) Reachability graph - this module provides a ‘visual representation’ of all the possible firing sequences for a given Petri net. It also gives information about boundedness, safeness and deadlock-free properties.
- h) Simulation - by means of simulation, this module computes the average number of tokens per place along with the 95% confidence interval for each place in the net. A full ‘analytical approach’ to a problem often demands a huge amount of resources, while ‘simulation’ can provide an alternative method to overcome performance issues.
- This module runs without any input from the user and operates in conjunction with the ‘analysis modules’ so that performance results of the simulated system can be computed.
- i) State space analysis - this module builds a tree of all the reachable markings which is used to determine the qualitative properties of the given Petri net: boundedness, deadlock-free, and safeness. It also provides the shortest path to ‘deadlock’ in the case that one exists.
4) PIPE 2.5 -- The manufacturers have upgraded PIPE with yet another version (PIPE version 2.5).
- a) Increase of the Modeling Power -- PIPE's modeling power has been increased with the addition of inhibitor arcs, capacity restrictions to places and priorities for immediate transitions.
- b) New/Modified Analysis Modules --
- Taking advantage of the PIPE's modular structure, a new analysis module has been developed. This module generates the minimal siphons (sets of places that never gain a token once none of their places is marked) and traps (sets of places that never lose all tokens, once at least one of their places is marked) for a given net.
- Traps and siphons can be used for the ‘structural analysis’ of net systems e.g. to check liveness and reachability.
- Additionally, the presentation format for the results of the invariant analysis module has been modified.
- c) Improving the Graphical Editor --
- Many of the new features of PIPE 2.5 are focused on the graphical editor. Two key elements of any graphical editor are the cut/copy/paste functionalities, and the undo/redo capabilities. These features were missing in previous versions of PIPE and have been added to PIPE 2.5.
- Another new feature of PIPE 2.5 is that it allows the possibility of specifying the ‘initial marking’ and ‘transition rates’ as parameters that are defined for the whole model. With them, users can easily work with different configurations of these input parameters.
- d) Other improvements are summarized as follows:
- 1) A new fast editing mode has been implemented which allows the user to link places and transitions to build the net structure much quicker.
- 2) The mouse wheel, if present, has been enabled to execute various actions in a context dependent way: e.g. to increase/decrease the marking of a place, to edit the weight of an arc or to rotate a transition.
- 3) For the bidirectional arcs, the user can now choose to draw them as a double-headed arc or as two separate arcs.
- 4) New dialogs accessible via the context menu have been added. They permit easy modification of the element's attributes.
System Requirements
Contact manufacturer.
Manufacturer
- Department of Computing
- Imperial College London
- South Kensington Campus
- SW7 2AZ, United Kingdom
Manufacturer Web Site Platform Independent Petri net Editor (PIPE)
Price Contact manufacturer.
G6G Abstract Number 20610
G6G Manufacturer Number 104210