PN-system is an integrated graphical software system, collecting some of different kinds of tools which are needed in the Petri net area. These tools support the user in construction of net models, as well as modification and analysis in a natural and effective way.
Petri nets are a promising tool for describing and studying information processing systems that are characterized as being concurrent, asynchronous, nondeterministic, distributed, parallel, and/or stochastic. Recently, the application of Petri nets to the development of intelligent systems has been receiving an increasing attention. Tasks addressed by these systems include: planning, scheduling, diagnosis, supervision and monitoring of discrete systems, uncertain or vague knowledge representation, knowledge base design and verification, distributed agents cooperation, etc.
The use of computer aided tools is a necessity for practical applications of Petri nets. Most Petri net research groups have their own software packages and tools to assist the drawing, analysis and/or simulation of various applications.
The Petri Net system (PN-system) is the following version of the Petri Net tools (PN-tools) for construction of classic nets (also hierarchical), as well as modification and analysis. PN-tools was designed and implemented by Zbigniew Suraj's group from Pedagogical University in RzeszÃ³w, Poland, in 1990s. However, the present version of PN-system can be used for construction, modification and analysis of chosen types (place/transition nets and nets with inhibitor arcs) of Petri nets, as well as for construction and simulation of fuzzy Petri nets, adaptive fuzzy Petri nets, and approximate Petri nets. This system is developed by the Research Group on Rough Sets and Petri Nets (RS&PN Group) which is involved in the study and development of intelligent systems. This Group is working in Chair of Computer Science Foundations at the University of Information Technology and Management in RzeszÃ³w under the supervision of Zbigniew Suraj.
PN-system is implemented in Microsoft Visual C++ 6.0 language. It is running on IBM PC platform under MS Windows operating system. Additionally, Microsoft XML Parser is needed in order to use the system. It can also cooperate with the ROSECON system developed by RS&PN Group which allows for automatic discovering of concurrent system models from observational experimental data.
The Petri Net system (PN-system) is an integrated graphic software system which can support the user in constructing and analysis of place-transition nets and nets with inhibitor arcs, as well as in constructing and simulation of fuzzy Petri nets, adaptive Petri nets, and approximate Petri nets.
The system combines the following:
This module recognizes the structure of Petri nets. This means that it will refuse to perform operations that have no meaning for Petri nets (e.g., drawing an arc between two transitions). When the user tries to do an operation which can result in a syntax error, the module signals it with an appropriate error message. These messages are easy to understand and use Petri net terminology.
With these facilities, editing of nets can be performed much more quickly and smoothly than with ordinary drawing tools.
Simulation module enables the user to simulate the behavior of a net. The enabled transitions are highlighted by the system, and the occurrence of a simulation step is animated, allowing the user to see input tokens (moving along input arcs, towards the transition) and output tokens (moving along output arcs, away from the transition). This module contains several options which allow the user to perform and observe the simulation process in many different ways.
The simulation can be interactive (manual), in the sense that each simulation step is defined by the user. In this mode, the user can choose which number step of simulation the user want to see and decide about transition firing strategy. It can choose one of three strategies: first ready (default), pointed by a user, and a random one. The firing sequence can be undone by firing backward.
Alternatively, the simulation can be automatic, in the sense that each simulation step is generated by the system (making random choices when necessary). In both cases, the system calculates the effect of the simulation steps.
In interactive mode, the user has complete control over the simulation steps (defining how the variables in the arc expression and guard are bound, if needed). Such system facilities allow the user to concentrate on the interpretation of the simulation, instead of using energy on the calculation of possible simulation steps.
Analysis module enables the user to prove general net model characteristics without any simulation experiments. These characteristics include safeness, boundedness, liveness, reachability, coverability of certain (wanted or unwanted) states (markings), invariants, and the structural information (like conflicts, deadlocks and traps).
In the system, a set of transformation rules, allowing to reduce the size and complexity of the net without changing important dynamic properties (like boundedness, liveness) of the net, is also available. The user defines the transformations to be used. The program checks the validity of the proposed reductions and performs the detailed calculations. Hence, large nets may be simplified automatically to cut down the analysis time.
The system gives the possibility of generating the net analysis reports. Next, using the result of such an analysis, the correctness of the complete net model can be verified.
Fuzzy reasoning module allows the user to carry out a fuzzy reasoning process by means of a fuzzy Petri net. This module includes an editor of fuzzy Petri nets and a simulator. The editor allows the construction and modification of graphical representation of fuzzy Petri nets, while the simulator is the exerciser that starts with a given initial fuzzy truth token state (marking) and allows the user to execute enabled transitions until the maximal implication chain length has been spanned. It displays all initial and final fuzzy truth values.
Approximate reasoning module allows to load a file including an approximate Petri net, and next simulate it in the text mode.
The approximate Petri net is generated automatically by the ROSECON system on the basis of an experimental decision table (using rough set methods).
A decision table consists of a number of rows which contain the results of sensor measurements represented by the (fuzzy) value vector of measured parameters (attributes, conditions) together with the decision corresponding to this vector. The decision is given by a domain expert.
The knowledge encoded in a given decision table is represented by (production) rules of the form IF-THEN automatically generated by the ROSECON system from the table, using the standard rough set methods for rules generation. The ROSECON system generates two kinds of rules: association and decision ones. Association rules express some relationships between values of parameters, whereas decision rules express some relationships between values of parameters and decision. Each of such rules can be deterministic or non-deterministic. A quality degree of a rule is evaluated by three coefficients: certainty factor, cover factor, and strength factor.
The ROSECON system constructs an approximate Petri net for a given decision table into four steps. Each step of the net construction provides one module (part) of the constructed net. First, the places representing the set of all parameters of a given decision table are constructed. Then, fragments of the net, defined by a set of association rules generated from the given decision table are added, to the places obtained in the first step. Next, the net obtained in the second step is extended by adding fragments of the net defined by the set of decision rules generated from the given decision table. Finally, the elements (places, transitions and arcs) of the net defined in steps 1-3 are additionally described according to the definition of a timed approximate Petri net.
The simulator of this module starts with a given initial fuzzy truth token state (marking) and allows the user to execute enabled transitions until the maximal implication chain length has been spanned. It displays all initial and final fuzzy truth values.
The constructed approximate Petri net allows to make a decision, as soon as a sufficient number of parameter values is known as a result of measurements and conclusions drawn from the knowledge encoded in a given decision table. Any computation of the constructed net leading to decision making has minimal length, i.e., no prediction of the proper decision based on the knowledge encoded in a given decision table and the measurement of parameter values is possible before the end of the computation. Each step of the computation of the constructed approximate Petri net consists of two phases. In the first phase, checking is performed to see whether any new values of parameters have been identified by sensors, and in the second phase, new information about values is transmitted through the net at high speed. The whole process is realized by implementation of the rules extracted from the given decision table.
PN-system has been designed and implemented in such a way that it is very easy to add additional functionality to it.
Currently, PN-system works only with internal data format in order to store a constructed Petri net. However, all analysis results of a given net are written in the appropriate XML files and can be displayed as HTML files thanks to linked XSL styles. Moreover, storing data in the XML format and using XLS styles enables other programs, like the RESECON system, to work with data created with PN-system.
PN-system is primarily intended for research and education purposes.
PN-system will be extended on hierarchical timed approximate Petri nets (being the extension of timed coloured Petri nets making it easy to describe systems which are time-driven, as well as approximate reasoning processes) together with the modules supporting extended reachability graph analysis.
The development of PN-system is currently supported by the Ministry of Scientific Research and Information Technology of the Republic of Poland research grant 3 T11C 005 28.