140 likes | 547 Views
Petri Nets:. Tools, Formats, & Solutions. Petri Nets. Survey of literature found 3 interesting ways Petri Nets are used BioPNML – Petri Nets for Bio GJobDL – Petri Nets for Grid Computing PNML – Petri Net abstraction for everyone!. BioPNML.
E N D
Petri Nets: Tools, Formats, & Solutions
Petri Nets • Survey of literature found 3 interesting ways Petri Nets are used • BioPNML – Petri Nets for Bio • GJobDL – Petri Nets for Grid Computing • PNML – Petri Net abstraction for everyone!
BioPNML • Tries to create a standard interchange format for bioinformatics • Abstracts biological processes as Petri Nets • Built to resemble PNML, with the same Place, Transition, Arc definitions • Adds Bionet section that defines biochemical processes modeled by the network
GJobDL • Applies the PetriNet model to Grid Computing • Grid resources are mapped to Places, and transitions represent control transfer between resources. • E.g. a process that may run only after two separate processes finish could be modeled with the Petri Net below:
PNML • The Petri Net Markup Language project (pnml.org) aims to standardize a Petri Net format. • The previous works reference PNML, but both independently decide to create a new format. • While the projects probably could have integrated with PNML, they likely saw a lack of benefit since no “general” PNML editor could handle their complex extensions to the PN model.
PNML • Specification at http://www.pnml.org/papers/cd_1.1.4.pdf • Allows definition of both graphical and logical petri net structures. • High-level element <net> contains multiple <place>, <transition>, and <arc> elements • <place> and <transition> have an id attribute, referenced in <arc source=“id” target=“id”>
PNML • Pages allow separation of logical net sections • RefPlace is used to reference a Place defined in a different Page • Page notation just a graphical convenience (pages can easily be merged into one Petri Net), but can be very powerful in designing useful abstractions
PNML • PNML can be extended in arbitrary ways. • New child tags, attributes, etc. • Unfortunately, a general PNML tool (such as TINA in next slide) will not be able to handle arbitrary extensions in the most useful ways. • A particularly robust tool may allow editing the String values of attributes or tags, but still cannot understand their underlying logic
TINA: TImedpetri Net Analyzer • Many components for PN analysis, but specifically, it includes: • nd (NetDraw): An editor for graphically or textually described Petri nets, Time Petri net and Automata. • Create Place/Transition nets • Exports to PNML format!
TINA demo • Launch demo
Proposal: PNML Event Simulator • Adds custom behaviors to PNML files • Requires purpose-built Petri Net simulator, acting on the PNML structures and integrated into our SIS System • Can completely discard visual data, as this is only useful for design
PNML Event Simulator • Program extending the simulator can invoke actions such as PutToken(PlaceNode) directly through a Java API • By building the simulator as an SIS component, other comp.s can signal the PNML Simulator as well • Custom message types can be defined for Petri Nets • E.g. PutTokenMsg, TransitionFiredMsg
Future Work • Using multiple tools to design Petri Nets probably too cumbersome • Merging of design and logic editors would make design more accessible. • Ability to use advanced features of PNM language such as sub-nets, multiple pages, and other Petri Net types.