<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Constructing Petri Net Transducers with PNTe oo L</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Markus</forename><surname>Huber</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Augsburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Robert</forename><surname>Lorenz</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Augsburg</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Constructing Petri Net Transducers with PNTe oo L</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">3BBF866C96E425E0FE68D88E4F78AB18</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T22:54+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This poster presents a tool for the modular construction of Petri net transducers by means of several composition operations as for example union, concatenation, closure, parallel and synchronous product and language composition. There are exports to PNML and several graphical output formats. For the implementation, we use the SNAKES framework, which is a Python library supporting the rapid prototyping of new Petri net formalisms and provides many basic Petri net components and functionality. In the context of our research activities, PNTe ooL serves as a scientific prototype for the development of an open library openPNT of efficient algorithms for the construction, composition, simulation and optimisation of PNTs which can be used in real world examples.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>In <ref type="bibr" target="#b0">[1]</ref> we introduced Petri net transducers (PNTs) and showed in <ref type="bibr" target="#b1">[2]</ref> how they can be successfully applied in the field of semantic dialogue modelling for translating utterances into meanings. In <ref type="bibr" target="#b2">[3]</ref> we presented a basic theoretical framework of PNTs.</p><p>In short PNTs are a formalism for the weighted translation of labelled partial orders (LPOs), which are words consisting not of a total order between their symbols but of a partial order. In this sense they are a generalisation of weighted finite state transducers (FSTs) translating words.  In Figure <ref type="figure" target="#fig_1">1</ref> one can see on the left side two simple PNTs called N 1 and N 2 . Like for weighted FSTs input symbols, output symbols and weights are annotated to the transitions. So the transition of N 1 reads the symbol a and writes the symbol x (with weight 0.5) -thus N 1 translates the word a into the word x (with weight 0.5). The symbol e is used to denote empty input or output. So the PNT N 2 is a generator which produces the word y. The weights are elements of an algebraic structure called bisemiring <ref type="bibr" target="#b2">[3]</ref> which extends semirings by an additional operation. Thus, a bisemiring a set equipped with three operations, namely addition, sequential multiplication and parallel multiplication, satisfying certain consistency properties (for example the existence of neutral elements). Addition is used to combine the weights of alternative LPO-runs of a PNT, sequential multiplication of weights is used for sequentially composed LPOs and the weights of parallel composed LPOs are parallel multiplied. In the examples we use the extended Viterbi semiring ([0, 1], max, •, min).</p><p>As for FSTs there exist composition operations for combining simple transducers to more complex ones. For example, Figure <ref type="figure" target="#fig_1">1</ref> shows on the right side the parallel product of the PNTs -an operation which does not exist for FSTs. In figures, we omit annotations of the form e:e/1 where 1 is the neutral weight w.r.t. sequential and parallel multiplication. The PNT realises the translation from the word a into the LPO w=xky where k denotes the parallel composition of LPOs. There are more operators defined for PNTs namely concatenation, union, closure, synchronous product and language composition of PNTs <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b1">2]</ref>. In Figure <ref type="figure" target="#fig_4">2</ref> on the right side the language composition of the PNT N 3 on the left side with the PNT shown on the right side of Figure <ref type="figure" target="#fig_1">1</ref> is illustrated. Here, a transition from the first PNT is merged with a transition from the second PNT, if the output of the first transition equals the input of the second one. The weight of the merged transition labelled r,t 3 is computed from the weights of the transitions labelled r and t 3 using sequential multiplication.</p><p>Note that PNTs are defined to always have a single source place which holds exactly one token at the initial state. Furthermore a PNT has a single sink place and per definition only such LPO-runs are considered, which lead to a state where exactly the sink place is marked by one token (the final state). Each LPO-run translates an LPO over input symbols into an LPO over output symbols via a projection onto input symbols resp. output symbols <ref type="bibr" target="#b2">[3]</ref>.</p><p>For such a formalism to be useful one needs a tool where PNTs can be implemented, analysed, combined, simulated, drawn and the like. Since the PNT-formalism is new we decided to start PNTe ooL . We use the SNAKES framework <ref type="bibr" target="#b3">[4]</ref> which is a Python library supporting the rapid prototyping of new Petri net formalisms and provides many basic Petri net components and functionality. Therefore we implemented PNTe ooL as a Python library extending SNAKES such that we essentially can use all the functionality already provided by SNAKES. All graphics in this paper were generated by PNTe ooL .</p><p>The support of graphical output serves as a possibility to check the implementation and as a handy utility in the process of writing scientific papers. PNTe ooL 's functionality supports fast construction of concrete example PNTs for case studies. PNML export can be used to analyse constructed example PNTs with other Petri net tools. In the context of our research activities, PNTe ooL serves as a scientific prototype for the development of an open library openPNT of efficient algorithms for the construction, composition, simulation and optimisation of PNTs which can be used in real world examples.</p><p>PNTe ooL can be downloaded as a ZIP-archive from our website www.informatik. uni-augsburg.de/EduCoSci/PNTooL. Assumed you have a working installation of Python, SNAKES, Graphviz, and dot2tex you only need to copy the py-files into the plugins sub-directory of your SNAKES installation.   </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>A transducer N 1 and a generator N 2 . e:y/0.25 t 1 a:x/0.5 (b) Parallel product of N 1 and N 2 after t I has fired.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 .</head><label>1</label><figDesc>Figure 1. Some simple PNTs.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>A simple PNT N 3 .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head></head><label></label><figDesc>Language composition N 3 (N 1 k N 2 ).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 2 .</head><label>2</label><figDesc>Figure 2. Some more PNTs.</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Petri net transducers in semantic dialogue modelling</title>
		<author>
			<persName><forename type="first">R</forename><surname>Lorenz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Huber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of &quot;Elektronische Sprachsignalverarbeitung (ESSV)</title>
		<title level="s">Studientexte zur Sprachkommunikation</title>
		<editor>
			<persName><forename type="first">M</forename><surname>Wolff</surname></persName>
		</editor>
		<meeting>&quot;Elektronische Sprachsignalverarbeitung (ESSV)</meeting>
		<imprint>
			<date type="published" when="2012">2012</date>
			<biblScope unit="volume">64</biblScope>
			<biblScope unit="page" from="286" to="297" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Realizing the Translation of Utterances into Meanings by Petri Net Transducers</title>
		<author>
			<persName><forename type="first">R</forename><surname>Lorenz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Huber</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of &quot;Elektronische Sprachsignalverarbeitung (ESSV)</title>
		<title level="s">Studientexte zur Sprachkommunikation</title>
		<editor>
			<persName><forename type="first">P</forename><surname>Wagner</surname></persName>
		</editor>
		<meeting>&quot;Elektronische Sprachsignalverarbeitung (ESSV)</meeting>
		<imprint>
			<date type="published" when="2013">2013</date>
			<biblScope unit="volume">65</biblScope>
			<biblScope unit="page" from="103" to="110" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">On weighted Petri Net Transducers</title>
		<author>
			<persName><forename type="first">R</forename><surname>Lorenz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Huber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Wirsching</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proccedings of &quot;35th International Conference on Application and Theory of Petri Nets and Concurrency</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting>cedings of &quot;35th International Conference on Application and Theory of Petri Nets and Concurrency</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<author>
			<persName><forename type="first">F</forename><surname>Pommereau</surname></persName>
		</author>
		<ptr target="https://www.ibisc.univ-evry.fr/~fpommereau/SNAKES/,112013" />
		<title level="m">The SNAKES toolkit</title>
				<imprint/>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
