<?xml version="1.0" encoding="utf-8"?><!DOCTYPE nta PUBLIC '-//Uppaal Team//DTD Flat System 1.1//EN' 'http://www.it.uu.se/research/group/darts/uppaal/flat-1_1.dtd'><nta><declaration>// Place global declarations here.
chan pickup[5];
chan laydown[5];
</declaration><template><name x="16" y="16">Philo</name><parameter>chan&amp; pickup_left, chan&amp; laydown_left, chan&amp; pickup_right, chan&amp; laydown_right</parameter><declaration>// Place local declarations here.
</declaration><location id="id0" x="-368" y="-288"></location><location id="id1" x="-256" y="-288"></location><location id="id2" x="-256" y="-208"><name x="-272" y="-192">Eat</name></location><location id="id3" x="-368" y="-208"><name x="-384" y="-192">Full</name></location><location id="id4" x="-256" y="-368"><name x="-272" y="-400">Hunger</name></location><location id="id5" x="-368" y="-368"><name x="-384" y="-400">Think</name></location><init ref="id5"/><transition><source ref="id0"/><target ref="id5"/><label kind="synchronisation" x="-480" y="-336">laydown_right!</label><nail x="-368" y="-352"/></transition><transition><source ref="id1"/><target ref="id2"/><label kind="synchronisation" x="-240" y="-272">pickup_right!</label></transition><transition><source ref="id3"/><target ref="id0"/><label kind="synchronisation" x="-464" y="-256">laydown_left!</label><nail x="-368" y="-272"/></transition><transition><source ref="id2"/><target ref="id3"/></transition><transition><source ref="id4"/><target ref="id1"/><label kind="synchronisation" x="-240" y="-352">pickup_left!</label><nail x="-256" y="-304"/></transition><transition><source ref="id5"/><target ref="id4"/></transition></template><template><name>Fork</name><parameter>chan&amp; pickup, chan&amp; laydown</parameter><location id="id6" x="-16" y="-80"><name x="-32" y="-64">In_use</name></location><location id="id7" x="-16" y="-144"><name x="-64" y="-192">On_the_table</name></location><init ref="id7"/><transition><source ref="id7"/><target ref="id6"/><label kind="synchronisation" x="32" y="-144">pickup?</label><nail x="48" y="-112"/></transition><transition><source ref="id6"/><target ref="id7"/><label kind="synchronisation" x="-112" y="-96">laydown?</label><nail x="-80" y="-112"/></transition></template><system>// Place template instantiations here.
P0 = Philo(pickup[0], laydown[0], pickup[1], laydown[1]);
P1 = Philo(pickup[1], laydown[1], pickup[2], laydown[2]);
P2 = Philo(pickup[2], laydown[2], pickup[3], laydown[3]);
P3 = Philo(pickup[3], laydown[3], pickup[4], laydown[4]);
P4 = Philo(pickup[4], laydown[4], pickup[0], laydown[0]);

F0 = Fork(pickup[0], laydown[0]);
F1 = Fork(pickup[1], laydown[1]);
F2 = Fork(pickup[2], laydown[2]);
F3 = Fork(pickup[3], laydown[3]);
F4 = Fork(pickup[4], laydown[4]);

// List one or more processes to be composed into a system.
system F0, F1, F2, F3, F4, P0, P1, P2, P3, P4;</system></nta>