<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE nta PUBLIC 'nta' 'http://www.brics.dk/~omoeller/hta/xml/uppaal-1.4.dtd'
[]>

<nta>
  <!-- TRANSLATED by   Flatten   Vanilla-1 Mon Apr  9 14:28:08 2001
	          on   Apr 9, 2001 2:43:54 PM
	          from a huppaal-0.6.dtd document -->
  <!--
        Tree of Instantiations:
        ROOT1 [AND]
            main2 [XOR]
                main2subComponent4 [AND]
                    main2subComponent4parallelP15 [XOR]
                    main2subComponent4parallelQ26 [XOR]
            syncDummy3 [XOR]
-->
  <declaration>int    flag;
int    test;
clock  x;

urgent chan aa; // just testing
 //urgent chan a; // just testing

chan a;

// ----- Translation Slack ----- 
chan  xtSglNR3;
chan  SycDmmytry1trsycDmmy3;
chan  xtSglNR2;
chan  Mtrytrm2;
chan  xtSglNR4;
chan  Sbtry1trm2sbCmpt4;
chan  Sbxt1lvm2sbCmpt4;
chan  xtSglNR6;
chan  Qtry1trm2sbCmpt4prlllQ26;
chan  xtSglNR5;
chan  Ptry1trm2sbCmpt4prlllP15;
int  triggerVar2;
chan  aXCR1;
</declaration>
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">globalKickoff7</name>
    <parameter x="600" y="0" />
    <location x="40" y="40" id="X_ID_18">
      <name x="60" y="20">start</name>
      <committed />
    </location>
    <location x="340" y="20" id="X_ID_19">
      <name x="360" y="0">L2</name>
      <committed />
    </location>
    <location x="20" y="340" id="X_ID_20">
      <name x="40" y="320">L3</name>
    </location>
    <init ref="X_ID_18" />
    <transition x="190" y="30">
      <source ref="X_ID_18" />
      <target ref="X_ID_19" />
      <label kind="synchronisation" x="185" y="41">Mtrytrm2!</label>
    </transition>
    <transition x="180" y="180">
      <source ref="X_ID_19" />
      <target ref="X_ID_20" />
      <label kind="synchronisation" x="206" y="174">SycDmmytry1trsycDmmy3!</label>
    </transition>
  </template>
  <!-- ****** END OF TEMPLATE "globalKickoff7"  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">main2subComponent4parallelQ26</name>
    <parameter x="600" y="0" />
    <declaration />
    <!--ordinary locations-->
    <location x="40" y="40" id="main2subComponent4parallelQ26Q-s1">
      <name x="60" y="20">s1</name>
      <invariant x="60" y="60"></invariant>
    </location>
    <location x="340" y="20" id="main2subComponent4parallelQ26Q-s2">
      <name x="360" y="0">s2</name>
      <invariant x="360" y="40"></invariant>
    </location>
    <!--now the (former) components-->
    <!--special location: idle-->
    <location x="20" y="340" id="X_ID_14">
      <name x="40" y="320">IDLE</name>
    </location>
    <!--entry pseudo-transitions (OR component)-->
    <init ref="X_ID_14" />
    <transition x="30" y="190">
      <source ref="X_ID_14" />
      <target ref="main2subComponent4parallelQ26Q-s1" />
      <label kind="synchronisation" x="39" y="215">Qtry1trm2sbCmpt4prlllQ26?</label>
      <label kind="assignment" x="40" y="120">triggerVar2 := triggerVar2 + 1 </label>
    </transition>
    <!--ordinary transitions-->
    <transition x="190" y="30">
      <source ref="main2subComponent4parallelQ26Q-s1" />
      <target ref="main2subComponent4parallelQ26Q-s2" />
      <label kind="synchronisation" x="185" y="41">a?</label>
      <label kind="assignment" x="270" y="30">flag := flag+1</label>
    </transition>
    <!--exit transitions-->
    <transition x="30" y="190">
      <source ref="main2subComponent4parallelQ26Q-s1" />
      <target ref="X_ID_14" />
      <label kind="synchronisation" x="41" y="185">xtSglNR6?</label>
      <label kind="assignment" x="30" y="270">triggerVar2 := triggerVar2 - 1 </label>
    </transition>
    <transition x="180" y="180">
      <source ref="main2subComponent4parallelQ26Q-s2" />
      <target ref="X_ID_14" />
      <label kind="synchronisation" x="206" y="174">xtSglNR6?</label>
      <label kind="assignment" x="105" y="265">triggerVar2 := triggerVar2 - 1 </label>
    </transition>
  </template>
  <!-- ****** END OF TEMPLATE "main2subComponent4parallelQ26"  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">main2subComponent4parallelP15</name>
    <parameter x="600" y="0" />
    <declaration />
    <!--ordinary locations-->
    <location x="40" y="40" id="main2subComponent4parallelP15P-s1">
      <name x="60" y="20">s1</name>
      <invariant x="60" y="60"></invariant>
    </location>
    <location x="340" y="20" id="main2subComponent4parallelP15P-s2">
      <name x="360" y="0">s2</name>
      <invariant x="360" y="40"></invariant>
    </location>
    <!--now the (former) components-->
    <!--special location: idle-->
    <location x="20" y="340" id="X_ID_17">
      <name x="40" y="320">IDLE</name>
    </location>
    <!--entry pseudo-transitions (OR component)-->
    <init ref="X_ID_17" />
    <transition x="30" y="190">
      <source ref="X_ID_17" />
      <target ref="main2subComponent4parallelP15P-s1" />
      <label kind="synchronisation" x="39" y="215">Ptry1trm2sbCmpt4prlllP15?</label>
      <label kind="assignment" x="40" y="120">triggerVar2 := triggerVar2 + 1 </label>
    </transition>
    <!--ordinary transitions-->
    <transition x="190" y="30">
      <source ref="main2subComponent4parallelP15P-s1" />
      <target ref="main2subComponent4parallelP15P-s2" />
      <label kind="synchronisation" x="185" y="41">a!</label>
      <label kind="assignment" x="270" y="30">flag := flag+1</label>
    </transition>
    <!--exit transitions-->
    <transition x="30" y="190">
      <source ref="main2subComponent4parallelP15P-s1" />
      <target ref="X_ID_17" />
      <label kind="synchronisation" x="41" y="185">xtSglNR5?</label>
      <label kind="assignment" x="30" y="270">triggerVar2 := triggerVar2 - 1 </label>
    </transition>
    <transition x="180" y="180">
      <source ref="main2subComponent4parallelP15P-s2" />
      <target ref="X_ID_17" />
      <label kind="synchronisation" x="206" y="174">xtSglNR5?</label>
      <label kind="assignment" x="105" y="265">triggerVar2 := triggerVar2 - 1 </label>
    </transition>
  </template>
  <!-- ****** END OF TEMPLATE "main2subComponent4parallelP15"  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">main2subComponent4</name>
    <parameter x="600" y="0" />
    <declaration />
    <location x="40" y="40" id="X_ID_8">
      <name x="60" y="20">IDLE</name>
    </location>
    <location x="340" y="20" id="X_ID_9">
      <name x="360" y="0">ACTIVE</name>
    </location>
    <!--parallel components-->
    <!--translation of entries + forks-->
    <!--entry 1 : Sub-entry-1-->
    <location x="20" y="340" id="X_ID_10">
      <name x="40" y="320">main2subComponent4Subentry1fork1</name>
      <committed />
    </location>
    <location x="640" y="120" id="X_ID_11">
      <name x="660" y="100">main2subComponent4Subentry1fork2</name>
      <committed />
    </location>
    <!--entry pseudo-transitions (AND component -> forks)-->
    <init ref="X_ID_8" />
    <transition x="490" y="70">
      <source ref="X_ID_11" />
      <target ref="X_ID_9" />
      <label kind="synchronisation" x="515" y="85">Qtry1trm2sbCmpt4prlllQ26!</label>
    </transition>
    <transition x="330" y="230">
      <source ref="X_ID_10" />
      <target ref="X_ID_11" />
      <label kind="synchronisation" x="309" y="251">Ptry1trm2sbCmpt4prlllP15!</label>
    </transition>
    <transition x="30" y="190">
      <source ref="X_ID_8" />
      <target ref="X_ID_10" />
      <label kind="synchronisation" x="41" y="185">Sbtry1trm2sbCmpt4?</label>
    </transition>
    <!--the exit transitions-->
    <transition x="190" y="30">
      <source ref="X_ID_9" />
      <target ref="X_ID_8" />
      <label kind="synchronisation" x="215" y="39">xtSglNR4?</label>
    </transition>
  </template>
  <!-- ****** END OF TEMPLATE "main2subComponent4"  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">syncDummy3</name>
    <parameter x="600" y="0" />
    <declaration />
    <!--ordinary locations-->
    <location x="40" y="40" id="syncDummy3SyncDummy-s1">
      <name x="60" y="20">s1</name>
      <invariant x="60" y="60"></invariant>
    </location>
    <location x="340" y="20" id="syncDummy3SyncDummy-s2">
      <name x="360" y="0">s2</name>
      <invariant x="360" y="40"></invariant>
    </location>
    <!--now the (former) components-->
    <!--special location: idle-->
    <location x="20" y="340" id="X_ID_3">
      <name x="40" y="320">IDLE</name>
    </location>
    <!--entry pseudo-transitions (OR component)-->
    <init ref="X_ID_3" />
    <transition x="30" y="190">
      <source ref="X_ID_3" />
      <target ref="syncDummy3SyncDummy-s1" />
      <label kind="synchronisation" x="39" y="215">SycDmmytry1trsycDmmy3?</label>
    </transition>
    <!--ordinary transitions-->
    <transition x="190" y="30">
      <source ref="syncDummy3SyncDummy-s1" />
      <target ref="syncDummy3SyncDummy-s2" />
      <label kind="synchronisation" x="185" y="41">aXCR1?</label>
      <label kind="assignment" x="270" y="30">flag := flag+1</label>
    </transition>
    <transition x="190" y="30">
      <source ref="syncDummy3SyncDummy-s1" />
      <target ref="syncDummy3SyncDummy-s2" />
      <label kind="synchronisation" x="185" y="41">a?</label>
      <label kind="assignment" x="270" y="30">flag := flag+1</label>
    </transition>
    <!--exit transitions-->
  </template>
  <!-- ****** END OF TEMPLATE "syncDummy3"  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <template>
    <name x="0" y="0">main2</name>
    <parameter x="600" y="0" />
    <declaration />
    <!--ordinary locations-->
    <location x="40" y="40" id="main2Main-initial">
      <name x="60" y="20">s1</name>
      <invariant x="60" y="60"></invariant>
    </location>
    <!--now the (former) components-->
    <location x="340" y="20" id="X_ID_5">
      <name x="360" y="0">subComponent</name>
    </location>
    <location x="20" y="340" id="X_ID_6">
      <name x="40" y="320">L1</name>
      <committed />
    </location>
    <location x="640" y="120" id="X_ID_7">
      <name x="660" y="100">IDLE</name>
    </location>
    <location x="320" y="320" id="X_ID_21">
      <name x="340" y="300">L4</name>
      <committed />
    </location>
    <location x="120" y="640" id="X_ID_22">
      <name x="140" y="620">L5</name>
      <committed />
    </location>
    <location x="940" y="-140" id="X_ID_23">
      <name x="960" y="-160">L6</name>
      <committed />
    </location>
    <init ref="X_ID_7" />
    <transition x="180" y="180">
      <source ref="X_ID_6" />
      <target ref="X_ID_5" />
      <label kind="synchronisation" x="174" y="206">Sbtry1trm2sbCmpt4!</label>
    </transition>
    <!--special location: idle-->
    <!--entry pseudo-transitions (OR component)-->
    <transition x="340" y="80">
      <source ref="X_ID_7" />
      <target ref="main2Main-initial" />
      <label kind="synchronisation" x="380" y="94">Mtrytrm2?</label>
    </transition>
    <!--ordinary transitions-->
    <!--entry of sub-component [subComponent]-->
    <transition x="30" y="190">
      <source ref="main2Main-initial" />
      <target ref="X_ID_6" />
      <label kind="guard" x="32" y="80">test == 0, x &lt; 1000</label>
      <label kind="assignment" x="30" y="270">flag := 0, test := 0</label>
    </transition>
    <!--exit transitions-->
    <!--inserting next global join [1 root transitions]-->
    <transition x="330" y="170">
      <source ref="X_ID_5" />
      <target ref="X_ID_21" />
      <label kind="guard" x="332" y="60">triggerVar2 == 2</label>
      <label kind="synchronisation" x="341" y="165">aXCR1!</label>
    </transition>
    <transition x="220" y="480">
      <source ref="X_ID_21" />
      <target ref="X_ID_22" />
      <label kind="synchronisation" x="240" y="474">xtSglNR6!</label>
    </transition>
    <transition x="530" y="250">
      <source ref="X_ID_22" />
      <target ref="X_ID_23" />
      <label kind="synchronisation" x="499" y="299">xtSglNR5!</label>
    </transition>
    <transition x="490" y="-50">
      <source ref="X_ID_23" />
      <target ref="main2Main-initial" />
      <label kind="synchronisation" x="545" y="-49">xtSglNR4!</label>
    </transition>
  </template>
  <!-- ****** END OF TEMPLATE "main2"  -->
  <instantiation>syncDummy3 := syncDummy3();
main2 := main2();
main2subComponent4 := main2subComponent4();
main2subComponent4parallelQ26 := main2subComponent4parallelQ26();
main2subComponent4parallelP15 := main2subComponent4parallelP15();
globalKickoff7 := globalKickoff7();</instantiation>
  <system>system syncDummy3, main2, main2subComponent4, main2subComponent4parallelQ26, main2subComponent4parallelP15, globalKickoff7;
</system>
</nta>


