<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Application name: testIC -->
<!-- File: /home/andre/tools/SYNCCHARTS/EXAMPLES/testIC.xml -->
<!-- Creation date: Sun Jul 14 15:24:19 CEST 2002] -->
<!-- Author: andre -->
<!-- Creation directory: /home/andre/tools/SYNCCHARTS/EXAMPLES -->
<!-- Generator: syncCharts v2.93 - 1996-2002 -->
<!-- SyncCharts has been created and developed by -->
<!-- Charles ANDRE - I3S Laboratory - University of Nice (F) -->
<!-- e-mail:  andre@unice.fr -->


<syncchart root="testIC"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="syncchart.xsd">

<!-- This is a syncChart for intermediate code generation checking. -->
<!--  -->
<!--  -->

 <macrostar id="M_0" name="testIC" andDeg="2" >
  <decl>
    <tdcl name="aType" />
    <tdcl name="anotherType" />
    <fdcl name="func"  param="aType,integer" return="anotherType" />
    <pdcl name="proc" ref="aType,integer"  param="anotherType,aType"  />
    <sdcl>
      <sensor name="sens" type="integer" />
    </sdcl>
    <cdcl>
      <const name="C" type="integer" init="2" />
      <const name="C2" type="aType" />
    </cdcl>
    <kdcl name="T" ref="integer,integer"  param="integer"  />
    <rtdcl>
      <signal name="rt" />
    </rtdcl>
    <idcl>
      <signal name="S" />
      <signal name="A" type="integer" />
      <signal name="R" />
      <signal name="T" />
    </idcl>
    <odcl>
      <signal name="Z" type="integer" />
      <signal name="Y" type="integer" />
      <signal name="W" type="integer" />
      <signal name="Str" type="string" />
    </odcl>
    <rdcl expr="A=&gt;S" />
    <rdcl expr="T#A" />
  <!-- (backward inheritance of sorts) -->
  </decl>
  <ldcl>
      <signal name="B" />
      <signal name="F" type="aType" init="C2" />
      <signal name="Str2" type="string" init="&quot;another string&quot;" />
  </ldcl>
  <constel id="A" orDeg="2" >
   <initials>
    <initBeam to="S_0A6"     />
   </initials>
    <star id="S_0A6"  outDeg="1"  >
     <suspBeam imm="true"  trigger="S"  />
     <abortion>
       <ntBeam     effect="F(C2)" to="S_0A7" />
     </abortion>
     <body>
      <run ref="M_0_6" name="subState" />
     </body>
    </star> <!-- end of star S_0A6 -->

    <star id="S_0A7"  outDeg="0"  >
     <body>
     </body>
    </star> <!-- end of star S_0A7 -->

  </constel> <!-- end of constel A -->

  <constel id="B" orDeg="2" >
    <vdcl>
      <var name="v" type="integer" init="0" />
      <var name="t" type="aType" />
    </vdcl>
   <initials>
    <initBeam to="S_0B4"     />
   </initials>
    <star id="S_0B4"  outDeg="1"  >
     <abortion>
       <waBeam   trigger="A"  effect="Z(3)" to="S_0B5" />
     </abortion>
     <body>
     </body>
    </star> <!-- end of star S_0B4 -->

    <star id="S_0B5"  outDeg="2"  >
     <abortion>
       <saBeam   trigger="B and T"  effect="Y(?Z),Str(&quot;string&quot;)" to="S_0B5" />
       <waBeam   trigger="A" guard="(?A &lt; 3) and (v &gt; 1)" effect="Z(?A + 2),`v:=v+1;emit Y(v)`" to="S_0B4" />
     </abortion>
     <body>
       <sustain  signal="W" value="7" />
     </body>
    </star> <!-- end of star S_0B5 -->

  </constel> <!-- end of constel B -->

 </macrostar> <!-- end of macrostar M_0 -->


 <macrostar id="M_0_6" name="subState" andDeg="1" >
  <decl>
    <tdcl name="aType" />
    <idcl>
      <signal name="R" />
      <signal name="F" type="aType" />
    </idcl>
    <odcl>
      <signal name="B" />
    </odcl>
  <!-- (backward inheritance of sorts) -->
  </decl>
  <constel id="A" orDeg="2" >
   <initials>
    <initBeam to="S_0_6A3"     />
   </initials>
    <star id="S_0_6A3"  outDeg="2"  >
     <abortion>
       <saBeam   trigger="R"  effect="B" to="S_0_6A3" />
       <waBeam  factor="2" trigger="F"   to="S_0_6A4" />
     </abortion>
     <body>
     </body>
    </star> <!-- end of star S_0_6A3 -->

    <star id="S_0_6A4"  outDeg="0" final="true" >
     <body>
     </body>
    </star> <!-- end of star S_0_6A4 -->

  </constel> <!-- end of constel A -->

 </macrostar> <!-- end of macrostar M_0_6 -->

</syncchart>


