Download presentation
Presentation is loading. Please wait.
Published byJarrett Tandy Modified over 10 years ago
1
PNML Analyzer Reachability/Coverability Analysis of Petri Nets from PNML files Roger Ruiz-Carrillo
2
Presentation Contents PNML Program structure Algorithm for reachability/coverability graph Tests and Comparison with PIPE[1]’s output [1] PIPE, Platform Independent Petri net Editor, software project from Department of Computing, Imperial College London. http://pipe2.sourceforge.net/ (valid in April 2012)http://pipe2.sourceforge.net/
3
PNML Petri Net Markup Language XML based PNML.org No current XSD
4
Program Structure – Petri Net PetriNet getMarkings() setMarkings(tuple) petrinetid places transitions arcs Arc arcid weight direction place source target Place placeid tokens incomingArcs outgoingArcs Transition transitionid incomingArcs outgoingArcs isEnabled() fire() 0..1 1 1
5
Program Structure PNMLLoader: Unmarshals the petri net from the XML into PetriNet, Place, Arc and Transition objects ReachabilityAnalyzer: Creates the reachability/coverability graph and produces the GraphViz output file and XML graph representation.
6
Algorithm (created from [TM89]) build rootNode from initial marking Add rootNode to nodesToProcess While there are nodes in nodesToProcess: node = first node in nodesToProcess; remove node from nodesToProcess for each enabled transition in the net with node’s marking: fire the transition and assign the resulting marking to newMarking for inspectedNode in node and all its parents: if(newMarking dominates inspectedNode’s marking) update newMarking with infinity in the proper places if no node with newMarking already exists: create a newNode with the newMarking, assign node as its parent append newNode to nodesToProcess else newNode = existing node append newNode to node’s children along with the enabled transition [TM89] Tadao Murata, “Petri Nets: Properties, Analysis and Applications”, in Proceedings of the IEEE, vol. 77, no.4, April 1989
7
Tests – Simple Petri Net
8
Tests – Simple Petri Net: PIPE
9
Tests – Simple Petri Net: PNML Analyzer
10
Tests – Dining Philosophers (PIPE example)
11
Tests – Dining Philosophers (PIPE example) - PIPE
12
Tests – Dining Philosophers (PIPE example) – PNML Analyzer
13
Tests – Dining Philosophers (PNML.org example)
14
Tests – Dining Philosphers (PNML.org example) – PNML Analyzer
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.