GENERAL PETRI NET GENERATOR AND SIMULATOR FOR A PRODUCTION RULE SYSTEM
Original Publication Date: 2001-Jul-01
Included in the Prior Art Database: 2003-Jun-19
Petri nets are used to model dynamic, concurrent systems, and are often shown graphically, with the places represented by circles and the transitions as bars. Arrows indicate the flow of tokens from place to place. The following figure illustrates a Petri net for a simple computer: The static system is represented as a series of places (P) and transitions (T). Places and transitions are connected by directed areas (A). The behavior of the system is represented in the movement of tokens (K) from place to place along the arcs by the firing of the transitios. This invention solves the problem of specifying a Petri net that models a system using a text editor, representing the Petri net in a machine readable format, simulating it using a production rule system, and reporting evidence of the success or failure of the model. A transition is enabled for firing if all of the places that are input to it have a token. An enabled transition fires by removing a token from each of its inputs an putting one token in each of its outputs. Which transtion to fire to is selected randomly from those that are enabled. A place can be limited in the number of tokens it can contain; it is then said to be k-bounded. If a net has no more transitions that can fire, it is said to be deadlocked. In modeling a system, the places in the Petri net can be used to represent conditions in the system; the transitions can represent events that change those conditions. A condition in the system is satisfied when the place representing that condition has at least one token. The occurence of events, that is , the firing of transitions dependent upon the conditions, may cause a change in the state of the system; this is represented by the movement of the tokens. Petri lets you use a TIRS knowledge base to stimulate and run a Petri net. You choose the net to run from those that are available. You then choose the number of firings to run before breaking by setting a break point. The knowledge application reads in the data for the net you have chosen, checks for the transitions that can be fired and selects one to fire. After firing, it redistributes the tokens for the fired transition and then selects another transition. This cycle repeats until the breakpoint is reached or until the net is deadlocked. The Petri sample provides a foundation for several powerful Petri net features: 1. A text format for specifying a Petri net. 2. A method and format for specifying multiple Petri nets in data files and for having the knowledge base loak and run the individual nets.