21
Petri Net Markup Language (PNML) Nickolas Paladino Oct. 9, 2002 University of Central Florida

Petri Net Markup Language (PNML) Nickolas Paladino Oct. 9, 2002 University of Central Florida

Embed Size (px)

Citation preview

Petri Net Markup Language(PNML)

Nickolas PaladinoOct. 9, 2002

University of Central Florida

Outline

• PNML History

• Considerations for Standard

• Specification

• Example Petri Net

• Sample PNML

Outline

• Application

• Deficiencies

• Current State

• Future Direction

• Conclusion

• References

PNML History

• Petri Net Tools - variety

e.g. Artifex, CPN-AMI, HiQPN-Tool, Renew, PACE

• Each has unique internal representation and saved/exported file format definition

PNML History

• Reasons to move to a standard

- Useful to move Net Models from tool to tool, not redesign from scratch

- Make available libraries or toolkits of predefined Petri Net pieces

- Moving project to different tool obsolete tool, stronger analysis, better graphics capability

PNML History

• Obstacles to a standard

- Additional development by tool designers

- don’t want to loose advanced features specific to any tool

- problems with extensibility

e.g. Java – Sun vs Microsoft, HTML – Netscape vs Microsoft

Considerations for Standard

• Standard should be:

- simple

- include only necessary technology

• Reference parsers should be available

• Need converters from old formats

• Experience from tool developers

Considerations for Standard

• Why XML (Extensible Mark-up Language)?

- able to use robust parsers

- large choice of XML tools

- flexible, for easy extension of formats

- parsers can ignore unknown parts

Specification

• ISO 15909

High-level Petri Nets – Concepts, Definitions and Graphical Notation

Final Draft Version 4.7.1

October 28, 2000

Sample Petri NetInput

Ready

Output

Idle

Resource

Get Next Item

Process Item

InItem

iitem

(iitem ,m )

m

m

M

MIxM

(iitem ,m )

oitem

OutItem

R

r

Sample PNML

• Sytle Sheet CSS Syntax

place { shape: ellipse; }

place name { font-size 12pt; }

transition { shape : box }

transition name { font-size: 11pt; }

Sample PNML

• Entities extended with class information

<place id="input" class="material-flow"> <name>Input</name>

<type>InItem</type>

</place>

<arc id="a1">

<placeend idref="input" class="material-flow">

<transend idref="get-next-item">

</arc>

<transition id="get-next-item" class="material-flow">

<name>Get Next Item</name>

</transition>

Sample PNML

• Petri Net mathematical description

<pn> <place id="input"> <name>Input</name> <type>InItem</type> </place>

<arc id="a1"> <placeend idref="input"> <transend idref="get-next-item"> <expr>iitem</expr> </arc>

<transition id="get-next-item"> <name>Get Next Item</name> </transition>

<place id="idle"> <name>Idle</name> <type>M</type> <initmark>M</initmark> </place>

<arc id="a2"> <placeend idref="idle"> <transend idref="get-next-item"> <expr>m</expr> </arc>

...

</pn>

Sample PNML

• Petri Net layout description

<layout> <node ref="machine.pn#input"> <coord> <x>10.0</x> <y>0.0</y> </coord> </node>

<conn ref="machine.pn#a1"> <!-- no bend points -->

<node ref="machine.pn#get-next-item"> <coord> <x>10.0</x> <y>10.0</y> </coord> </node>

<node ref="machine.pn#idle"> <coord> <x>20.0</x> <y>20.0</y> </coord> </node>

<conn ref="machine.pn#a2"> <coord> <x>20.0</x> <y>10.0</y> </coord> </conn>

...

</layout>

Application

• Must communicate adequate detail of Petri Net DefinitionHold meaning of common notations

Extend for special features of varied tools

• Allows Petri Net use on different toolsVaried strengths and weaknesses of tools

e.g. initial design, simulation, editing, analysis, GUI

Deficiencies

• Petri Nets graphical in natureDifficult to capture same look across existing applications

• Petri Nets can become very large

• Many existing Petri Net toolsRetrofit of each can be time consuming and has cost

Converters from old standards needed

Current State

• The Petri Net Interchange Format Mailing List

http://www.informatik.hu-berlin.de/top/PNX/

Little activity

One comment since 2000

• Some tools have moved to XML-based file format

Future Direction

• Should not force developers to use PNML

• Standards committee to make format freely available

• Current tools could begin to use own XML, converge to PNML

Conclusion

• Correct direction to pursue

• Needed by academia and industry

• Will eventually be adopted

• No technical problems in XML based PNML definitions

• Agree on standard and move to implement

References

• [Mai00] Mailund, Thomas (2000). Seperation of Style and Content with XML in an Interchange Format for High-level Petri Nets (Mailund, T. , Mortensen, K. H.),   Position Paper, 21st International Conference on Application and Theory of Petri Nets Aarhus (2000)

• [Kum00] Kummer, Olaf (2000). XML and Petri Nets – Following the Forces (Kummer, O., Wienberg, F., Moldt, D.),  Position Paper, 21st International Conference on Application and Theory of Petri Nets Aarhus (2000)

• [Mat00] Matthias, Jungel (2000). Towards a Generic Interchange Format for Petri Nets (Matthias, J., Kindler, E., Weber, M.),  Position Paper, 21st International Conference on Application and Theory of Petri Nets Aarhus (2000)

References (WWW)

• The PNK Team: Petri Net Markup Language. http://www.informatic.hu-berlin.ed/top/pnml/. Aug. 2002.

• Petri Net Tools and Software. http://www.daimi.aau.dk/PetriNets/tools/. Oct. 2002.

• 21st International Conference on Application and Theory of Petri Nets. http://www.daimi.au.dk/pn2000/Interchange/. June 2000.