The standard Modelica library contains a sub-library PetriNet for modeling of discrete phenomena with Petri net formalism. It is designed for, and implements, black deterministic priority Petri nets, which are well suited e.g., for control system specification but can have rather limited expressiveness in other problem domains. Such may be in reliability engineering or in investigation of socio-technical aspects of complex technical systems.
Therefore, the Petri net library already available is extended to form a new library ExtendedPetriNet with
Several modeling and simulation examples are given to demonstrate the usability of the enhancements - among them - queuing models and models to determine system availability, see the adjoned *.pdf document Petri_Net_Extensions.
For the time being, the extended library is currently structured in a manner that all extensions are clearly seperated from the original Petri net library. Three sub-packages have been added:
Release History and Notes:
Copyright (C) 2002, with the author.
The ExtendedPetriNet library is free software; it can be redistributed and/or modified under the terms of the Modelica license, see the license conditions in the documentation to Modelica.
The library comes with absolutely no warranty. It has been carefully tested, yet, the absence of faults or bugs cannot be guaranteed.
Comments or bug reports are most welcome.
The PetriNets library allows to model discrete components by a special kind of Petri nets with at most one token on a place, as well as by state transition diagrams (which are special kinds of Petri nets). Petri nets and state transition diagrams are "higher level" constructs for the description of switching elements, parallel activities or syncronization. For several kinds of applications it is much easier and clearer to use these components instead of modeling the discrete behaviour directly with the basic language constructs of Modelica ("if" or "when" statements). A typical Petri net is shown in the following figure:
A Petri net is defined in the following way:
The method used in this library to realize Petri nets in Modelica is described in detail in:
This package is not part of the Modelica standard library, because it is planned to realize a package with only one place and one transition component, once vector connectors with unknown length have better support in Modelica.
Copyright (C) 2000, DLR.
The ModelicaAdditions.PetriNets package is free software; it can be redistributed and/or modified under the terms of the Modelica license, see the license conditions and the accompanying disclaimer in the documentation of package Modelica in file "Modelica/package.mo".
|Place01||Place with one output transition|
|Place10||Place with one input transition|
|Place11||Place with one input and one output transition|
|Place21||Place with two input and one output transition|
|Place12||Place with one input and two output transitions|
|Place22||Place with two input and two output transitions|
|Transition||Transition with one input and one output connection|
|Parallel||Transition with one input and two output connections|
|Synchronize||Transition with two input and one output connections|