<?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.

const int N = 15;
typedef scalar[N] pid_t;

chan msg_send1, msg_send2;
chan msg_receive1, msg_receive2;
chan msg_send_ack1, msg_send_ack2;
chan msg_receive_ack1, msg_receive_ack2;</declaration><template><name x="5" y="5">Sender</name><declaration>// Place local declarations here.
clock x;</declaration><location id="id0" x="-200" y="-168"><name x="-210" y="-198">SendC</name></location><location id="id1" x="-200" y="-448"><name x="-210" y="-478">SendA</name></location><location id="id2" x="-200" y="0"><name x="-256" y="0">SendD</name><label kind="invariant" x="-248" y="16">x&lt;=6</label></location><location id="id3" x="-200" y="-336"><name x="-256" y="-344">SendB</name><label kind="invariant" x="-264" y="-328">x&lt;=6</label></location><init ref="id1"/><transition><source ref="id1"/><target ref="id3"/><label kind="synchronisation" x="-192" y="-432">msg_send1!</label><label kind="assignment" x="-192" y="-416">x=0</label><nail x="-200" y="-408"/></transition><transition><source ref="id0"/><target ref="id2"/><label kind="synchronisation" x="-192" y="-136">msg_send2!</label><label kind="assignment" x="-192" y="-120">x=0</label></transition><transition><source ref="id2"/><target ref="id1"/><label kind="synchronisation" x="-384" y="-216">msg_receive_ack2?</label><nail x="-360" y="-240"/></transition><transition><source ref="id3"/><target ref="id0"/><label kind="synchronisation" x="-192" y="-256">msg_receive_ack1?</label><label kind="assignment" x="-192" y="-232">x=0</label><nail x="-200" y="-224"/></transition><transition><source ref="id2"/><target ref="id2"/><label kind="guard" x="-136" y="-40">x&gt;=5 and x&lt;=6</label><label kind="synchronisation" x="-136" y="-24">msg_send2!</label><label kind="assignment" x="-136" y="0">x=0</label><nail x="-144" y="-56"/><nail x="-144" y="56"/></transition><transition><source ref="id3"/><target ref="id3"/><label kind="guard" x="-152" y="-376">x&gt;=5 and x&lt;=6</label><label kind="synchronisation" x="-152" y="-360">msg_send1!</label><label kind="assignment" x="-152" y="-344">x=0</label><nail x="-160" y="-392"/><nail x="-160" y="-280"/></transition></template><template><name>Reciver</name><declaration>clock x;</declaration><location id="id4" x="-136" y="152"><name x="-216" y="152">ReceiverA</name></location><location id="id5" x="-136" y="-256"><name x="-128" y="-296">ReceiverB</name><label kind="invariant" x="-128" y="-280">x&lt;=2</label></location><location id="id6" x="-136" y="24"><name x="-120" y="8">ReceiverD</name><label kind="invariant" x="-120" y="24">x&lt;=2</label></location><location id="id7" x="-136" y="-144"><name x="-120" y="-168">ReceiverC</name></location><init ref="id4"/><transition><source ref="id6"/><target ref="id4"/><label kind="synchronisation" x="-344" y="48">msg_send_ack2!</label><label kind="assignment" x="-264" y="72">x=0</label><nail x="-224" y="80"/></transition><transition><source ref="id5"/><target ref="id7"/><label kind="synchronisation" x="-128" y="-216">msg_send_ack1!</label><label kind="assignment" x="-128" y="-200">x=0</label></transition><transition><source ref="id4"/><target ref="id6"/><label kind="synchronisation" x="-128" y="56">msg_receive2?</label><label kind="assignment" x="-128" y="72">x=0</label></transition><transition><source ref="id7"/><target ref="id5"/><label kind="synchronisation" x="-352" y="-208">msg_receive1?</label><label kind="assignment" x="-288" y="-192">x=0</label><nail x="-248" y="-192"/></transition><transition><source ref="id4"/><target ref="id5"/><label kind="synchronisation" x="24" y="-80">msg_receive1?</label><label kind="assignment" x="88" y="-56">x=0</label><nail x="80" y="104"/><nail x="136" y="-64"/><nail x="72" y="-216"/></transition><transition><source ref="id7"/><target ref="id6"/><label kind="synchronisation" x="-128" y="-112">msg_receive2?</label><label kind="assignment" x="-128" y="-88">x=0</label></transition></template><template><name>Message</name><parameter>const pid_t pid</parameter><declaration>clock x;</declaration><location id="id8" x="-456" y="80"><name x="-464" y="96">ack2</name></location><location id="id9" x="-48" y="88"><name x="-58" y="58">ack1</name></location><location id="id10" x="-32" y="-304"><name x="-42" y="-334">msg2</name></location><location id="id11" x="-448" y="-296"><name x="-458" y="-326">msg1</name></location><location id="id12" x="-304" y="-120"><name x="-352" y="-128">Idle</name></location><init ref="id12"/><transition><source ref="id11"/><target ref="id12"/><label kind="guard" x="-328" y="-328">x&lt;=1</label><label kind="synchronisation" x="-328" y="-312">msg_receive1!</label><label kind="assignment" x="-328" y="-296">x=0</label><nail x="-344" y="-320"/></transition><transition><source ref="id10"/><target ref="id12"/><label kind="guard" x="-96" y="-184">x&lt;=1</label><label kind="synchronisation" x="-96" y="-168">msg_receive2!</label><label kind="assignment" x="-96" y="-144">x=0</label><nail x="-128" y="-152"/></transition><transition><source ref="id9"/><target ref="id12"/><label kind="assignment" x="-208" y="24">x=0</label><nail x="-240" y="40"/></transition><transition><source ref="id8"/><target ref="id12"/><label kind="assignment" x="-472" y="-96">x=0</label><nail x="-456" y="-72"/></transition><transition><source ref="id8"/><target ref="id12"/><label kind="guard" x="-368" y="24">x&lt;=1</label><label kind="synchronisation" x="-368" y="40">msg_receive_ack2!</label><label kind="assignment" x="-368" y="64">x=0</label><nail x="-312" y="16"/></transition><transition><source ref="id9"/><target ref="id12"/><label kind="guard" x="-64" y="-72">x&lt;=1</label><label kind="synchronisation" x="-64" y="-48">msg_receive_ack1!</label><label kind="assignment" x="-64" y="-24">x=0</label><nail x="-80" y="-88"/></transition><transition><source ref="id10"/><target ref="id12"/><label kind="assignment" x="-216" y="-288">x=0</label><nail x="-224" y="-264"/></transition><transition><source ref="id11"/><target ref="id12"/><label kind="assignment" x="-472" y="-184">x=0</label><nail x="-496" y="-208"/></transition><transition><source ref="id12"/><target ref="id8"/><label kind="synchronisation" x="-440" y="-48">msg_send_ack2?</label><label kind="assignment" x="-416" y="-32">x=0</label></transition><transition><source ref="id12"/><target ref="id9"/><label kind="synchronisation" x="-208" y="-16">msg_send_ack1?</label><label kind="assignment" x="-208" y="-32">x=0</label></transition><transition><source ref="id12"/><target ref="id10"/><label kind="synchronisation" x="-216" y="-208">msg_send2?</label><label kind="assignment" x="-216" y="-192">x=0</label></transition><transition><source ref="id12"/><target ref="id11"/><label kind="synchronisation" x="-440" y="-264">msg_send1?</label><label kind="assignment" x="-440" y="-248">x=0</label></transition></template><system>// Place template instantiations here.

// List one or more processes to be composed into a system.
system Sender, Reciver, Message;</system></nta>
