<?xml version='1.0' encoding='utf-8'?><!DOCTYPE nta PUBLIC '-//Uppaal Team//DTD Flat System 1.0//EN' 'http://www.docs.uu.se/docs/rtmv/uppaal/xml/flat-1_0.dtd'><nta><declaration>// Place global declarations here.
const int MAXP=4;

chan forkup[MAXP], forkdown[MAXP];
</declaration><template><name x="5" y="5">forks</name><parameter>int[0,MAXP-1]  i</parameter><declaration>// Place local declarations here.
</declaration><location id="id0" x="0" y="-160"><name x="-10" y="-190">up</name></location><location id="id1" x="16" y="-40"><name x="0" y="-32">down</name></location><init ref="id1"/><transition><source ref="id0"/><target ref="id1"/><label kind="synchronisation" x="64" y="-112">forkdown[i]?</label><nail x="56" y="-96"/></transition><transition><source ref="id1"/><target ref="id0"/><label kind="synchronisation" x="-88" y="-120">forkup[i]?</label><nail x="-32" y="-104"/></transition></template><template><name>phils</name><parameter>int[0,MAXP-1]  pos</parameter><location id="id2" x="-72" y="-160"></location><location id="id3" x="104" y="-88"><name x="94" y="-118">eat</name></location><location id="id4" x="-88" y="-16"></location><location id="id5" x="-264" y="-72"><name x="-274" y="-102">think</name></location><init ref="id5"/><transition><source ref="id4"/><target ref="id5"/><label kind="synchronisation" x="-248" y="-32">forkdown[pos]!</label></transition><transition><source ref="id3"/><target ref="id4"/><label kind="synchronisation" x="32" y="-40">forkdown[(pos+1)%MAXP]!</label></transition><transition><source ref="id2"/><target ref="id3"/><label kind="synchronisation" x="24" y="-152">forkup[(pos+1)%MAXP]!</label></transition><transition><source ref="id5"/><target ref="id2"/><label kind="synchronisation" x="-224" y="-152">forkup[pos]!</label></transition></template><system>// Place template instantiations here.


// List one or more processes to be composed into a system.
system phils, forks; </system></nta>