[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Semantics and Pragmatics of a Petri Net
Dear all,
the goal of this e-mail is to discuss again the structure of a
Petri net file. Should the Petri net file separate the information
about a net into different parts of the file according to semantic
or pragmatic information?
In the following, I refer to the terminology used in a posting
in the past:
http://www2.informatik.hu-berlin.de/top/PNX/archive/msg00012.html
As we discussed earlier a Petri net file contains
* the semantic information (which objects and labels has the Petri
net and how relate they to each other),
* an information about the structure of the net (pages),
* graphical information (where on a page appears an object)
These are different things. And I suggest to separate the information
about a net into different parts of the file as much as possible.
Especially, I suggest to leave the semantic information apart from the
other kinds, which are more pragmatic. Thus, a net should be divided
in the file into its semantic part and its pragmatic part. The sematic
part contains the flatten net, whereas the pragmatic part contains
pages with references to the objects and the labels of the net and
the graphical information of them. Unlike the current solution
in the Petri Net Markup Language (PNML), I want to disallow Petri
net objects and labels with graphical information. Instead, only
references to objects and labels contain graphical information and
occur on pages. This approach requires references to arcs and labels.
Thus, arcs are explicity bound to certain pages.
So, the following example XML code shows what I mean. This is one
place occuring on two pages.
<net id="n1" type="...xsd">
<place id="p1">
<initMarking id="l1">
<!-- ...>
</initMarking>
<!-- no graphics>
</place>
<page id="pg1">
<referencePlace id="rp1" ref="p1">
<graphics>
<position x="5" y="10"/>
</graphics>
<!-- no semantics like currently>
</referencePlace>
<referenceLabel id="rl1" ref="l1">
<graphics>
<offset x="0" y ="0"/>
</graphics>
</referenceLabel>
</page>
<page id="pg2">
<referencePlace id="rp2" ref="p1">
<graphics>
<position x="20" y="0"/>
</graphics>
</referencePlace>
<referenceLabel id="rl2" ref="l1">
<graphics>
<offset x="1" y ="0"/>
</graphics>
</referencLabel>
</page>
</net>
Reference objects and reference labels only occur on pages. Thus,
the context in which they appear is clear. Thus, the word reference
in the tags may be omitted.
Kind regards
Michael Weber
--
Michael Weber Tel. +49-30-2093-3075; Fax +49-30-2093-3067
Institut f. Informatik, HU Berlin, Unter den Linden 6, D-10099 Berlin
mailto:mweber@informatik.hu-berlin.de
http://www2.informatik.hu-berlin.de/~mweber