QPME (Queueing Petri net Modeling Environment) is an open-source tool for stochastic modeling and analysis based on the Queueing Petri Net (QPN) modeling formalism. Queueing Petri Nets are a combination of conventional queueing networks and stochastic Petri nets providing increased expressiveness and thus making it possible to model systems at a higher degree of accuracy.
QPME is made of two components: QPE (QPN Editor) and SimQPN (Simulator for QPNs). QPE provides a user-friendly graphical tool for modeling using QPNs based on the Eclipse/GEF framework. SimQPN provides an efficient discrete-event simulation engine for QPNs that makes it possible to analyze models of realistically-sized systems. QPME runs on a wide range of platforms including Windows, Linux and Mac OS among others.
The modeling approach implemented in QPME provides the following advantages:
- QPN models combine the modeling power and expressiveness of queueing networks and generalized stochastic Petri nets.
- QPN models allow the integration of hardware and software aspects of system behavior and lend themselves very well to modeling distributed systems.
- The support for hierarchical structures allows to build multi-layered models of software architectures similar to the way this is done in layered queueing networks, however, with the advantage that QPNs enjoy all the benefits of Petri nets for modeling synchronization aspects.
- The knowledge of the structure and behavior of QPNs can be exploited for fast and efficient analysis using simulation. This makes it possible to analyze models of large and complex systems ensuring that the approach scales to realistic systems.
- Many efficient qualitative analysis techniques from Petri net theory can be extended to QPNs and used to combine qualitative and quantitative system analysis.
- Last but not least, QPN models have an intuitive graphical representation that facilitates model development.
A more detailed overview of QPME is available here.