Platform Independent Petri net Editor 2 (PIPE2)
description
Transcript of Platform Independent Petri net Editor 2 (PIPE2)
Platform Independent Petri net Editor 2 (PIPE2)
CS2650 Distributed Multimedia SystemsWen XuNovember 23rd, 2010
About PIPE2 PIPE2 is an Java-based, open source, platform
independent tool for creating and analyzing Petri nets including Generalized Stochastic Petri nets.
PIPE2 began life in 2002/3 as an MSc. Group Project at the Department of Computing, Imperial College London.
Website: http://pipe2.sourceforge.net/index.html
2
Petri Net Representation The Petri net model is made up of
Places, Arcs, Transitions, Markup Matrices and Incidence Matrices.
Places, Arcs and Transitions each have several attributes that characterize their properties, such as id, name, location, etc.
Each Petri net is encapsulated by an instance of the PNMLData class.
3
Example: Producer & Consumer
4
Input and Output Format5
InputXML (PNML)
OutputXML (PNML)PNGPostScripteDSPN
Graphical User Interface6
Analysis Modules The overall design of the application
imposes few restrictions on developers writing custom modules.
All Modules must implement the Moduleinterface, which contains only two methods:
public void run(PNMLData PetriNet) { ... }
public String getName() { ... }
7
List of Modules• Classification• Comparison• DNAmaca• GSPN Analysis• Invariant Analysis• Incidence & Marking• Passage Time Analysis• Performance Query Editor• Reachability/Converability• Response Time Analysis• Simulation• State Space Analysis• Steady State Analysis• Tagged Net Converter
Comparison The comparison module compares two Petri nets based on
their attributes. The user can select the combination of attributes used for the comparison.
8
Reachability & Converability Graph
9
The reachability problem for Petri nets is to decide, given a Petri net N and a marking M, whether M R(N).∈
Simulation10
• A simulation module was designed and produced to investigate performance characteristicsof a Petri net.
• It is a Monte Carlo simulation that uses a randomnumber generator (seeded on the system clock) to pick a new marking state of the Petri net.
Simulation SettingFirings: 100Replications: 5
My Project 1. Since we have access to the source code, I plan to
modified the PIPE2 to support new function to support adding additional actions(batch file, Java source code, or XML messages) to places or transitions.
11
Batch fileSource code
Messages
My Project 2. I'm going to model all the setup actions in our SIS test
bed to a Petri Net model and use PIPE2 to visually control the process.
12
My Project 3. Define XML labels for actions and add actions
information to the output PNML files. This part might be integrated to Callen’s project.
13
The End14
THANKS