]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
Test with Loop(s) and with Inputs and Outputs inside the loop and only with links...
authorrahuel <rahuel@opencascade.com>
Fri, 7 Jan 2005 14:49:51 +0000 (14:49 +0000)
committerrahuel <rahuel@opencascade.com>
Fri, 7 Jan 2005 14:49:51 +0000 (14:49 +0000)
examples/GraphLoopGates.py [new file with mode: 0644]
examples/GraphLoopGates.xml [new file with mode: 0644]
examples/GraphLoopsGates.py [new file with mode: 0644]
examples/GraphLoopsGates.xml [new file with mode: 0644]

diff --git a/examples/GraphLoopGates.py b/examples/GraphLoopGates.py
new file mode 100644 (file)
index 0000000..0126d3b
--- /dev/null
@@ -0,0 +1,179 @@
+
+# Generated python file of Graph GraphLoopGates
+
+from SuperV import *
+
+# Graph creation of GraphLoopGates
+def DefGraphLoopGates() :
+    GraphLoopGates = Graph( 'GraphLoopGates' )
+    GraphLoopGates.SetName( 'GraphLoopGates' )
+    GraphLoopGates.SetAuthor( 'JR' )
+    GraphLoopGates.SetComment( '' )
+    GraphLoopGates.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'localhost/FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 248 , 70 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Add_1 = GraphLoopGates.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add_1.SetName( 'Add_1' )
+    Add_1.SetAuthor( '' )
+    Add_1.SetContainer( 'localhost/FactoryServer' )
+    Add_1.SetComment( 'Add from AddComponent' )
+    Add_1.Coords( 249 , 305 )
+    IAdd_1x = Add_1.GetInPort( 'x' )
+    IAdd_1y = Add_1.GetInPort( 'y' )
+    IAdd_1Gate = Add_1.GetInPort( 'Gate' )
+    OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
+    OAdd_1z = Add_1.GetOutPort( 'z' )
+    OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
+    
+    Sub = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'localhost/FactoryServer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 453 , 72 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    Sub_1 = GraphLoopGates.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub_1.SetName( 'Sub_1' )
+    Sub_1.SetAuthor( '' )
+    Sub_1.SetContainer( 'localhost/FactoryServer' )
+    Sub_1.SetComment( 'Sub from SubComponent' )
+    Sub_1.Coords( 455 , 304 )
+    ISub_1x = Sub_1.GetInPort( 'x' )
+    ISub_1y = Sub_1.GetInPort( 'y' )
+    ISub_1Gate = Sub_1.GetInPort( 'Gate' )
+    OSub_1z = Sub_1.GetOutPort( 'z' )
+    OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyGate = []
+    PyGate.append( 'from time import *  ' )
+    PyGate.append( 'def Gate(G1,G2) :  ' )
+    PyGate.append( '    sleep(1)  ' )
+    PyGate.append( '    return G1&G2  ' )
+    Gate = GraphLoopGates.INode( 'Gate' , PyGate )
+    Gate.SetName( 'Gate' )
+    Gate.SetAuthor( '' )
+    Gate.SetComment( 'Compute Node' )
+    Gate.Coords( 650 , 227 )
+    IGateG1 = Gate.InPort( 'G1' , 'long' )
+    IGateG2 = Gate.InPort( 'G2' , 'long' )
+    IGateGate = Gate.GetInPort( 'Gate' )
+    OGateG = Gate.OutPort( 'G' , 'long' )
+    OGateGate = Gate.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'from time import *   ' )
+    PyInit.append( 'def Init(Index,Min,Max) :   ' )
+    PyInit.append( '    Index = Min   ' )
+    PyInit.append( '    sleep(1)   ' )
+    PyInit.append( '    return Index,Min,Max   ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(Index,Min,Max) :  ' )
+    PyMoreInit.append( '    if Index < Max :  ' )
+    PyMoreInit.append( '        DoLoop = 1  ' )
+    PyMoreInit.append( '    else :  ' )
+    PyMoreInit.append( '        DoLoop = 0 ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max  ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max) :  ' )
+    PyNextInit.append( '    Index = Index + 1 ' )
+    PyNextInit.append( '    return Index,Min,Max   ' )
+    Init,EndInit = GraphLoopGates.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 840 , 204 )
+    PyEndInit = []
+    EndInit.SetPyFunction( 'EndInit' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 10 , 181 )
+    
+    # Creation of Links
+    LInitGateAdd_1Gate = GraphLoopGates.Link( OInitGate , IAdd_1Gate )
+    
+    LInitGateAddGate = GraphLoopGates.Link( OInitGate , IAddGate )
+    
+    LInitIndexEndInitIndex = GraphLoopGates.Link( OInitIndex , IEndInitIndex )
+    
+    LInitMinEndInitMin = GraphLoopGates.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoopGates.Link( OInitMax , IEndInitMax )
+    
+    LAddGateSubGate = GraphLoopGates.Link( OAddGate , ISubGate )
+    
+    LAdd_1GateSub_1Gate = GraphLoopGates.Link( OAdd_1Gate , ISub_1Gate )
+    
+    LSubGateGateG1 = GraphLoopGates.Link( OSubGate , IGateG1 )
+    
+    LSub_1GateGateG2 = GraphLoopGates.Link( OSub_1Gate , IGateG2 )
+    
+    LGateGEndInitGate = GraphLoopGates.Link( OGateG , IEndInitGate )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 13 )
+    IAddx.Input( 1 )
+    IAddy.Input( 2 )
+    IAdd_1x.Input( 3 )
+    IAdd_1y.Input( 4 )
+    ISubx.Input( 5 )
+    ISuby.Input( 6 )
+    ISub_1x.Input( 7 )
+    ISub_1y.Input( 8 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    #OAddz = Add.GetOutPort( 'z' )
+    #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
+    #OAdd_1z = Add_1.GetOutPort( 'z' )
+    #OSubz = Sub.GetOutPort( 'z' )
+    #OSub_1z = Sub_1.GetOutPort( 'z' )
+    return GraphLoopGates
+
+
+GraphLoopGates = DefGraphLoopGates()
diff --git a/examples/GraphLoopGates.xml b/examples/GraphLoopGates.xml
new file mode 100644 (file)
index 0000000..f495d5a
--- /dev/null
@@ -0,0 +1,514 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopGates</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopsGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add__y</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add_1__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add_1__y</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub__y</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub_1__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub_1__y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add_1__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add_1__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Sub__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Sub_1__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 16:57:1</creation-date>
+    <lastmodification-date>7/1/2005 - 17:8:8</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>?</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Init</node-name>
+    <kind>4</kind>
+    <coupled-node>EndInit</coupled-node>
+    <service>
+<service-name>Init</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def Init(Index,Min,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Min   ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index < Max :  ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    else :  ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0 ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 16:59:3</creation-date>
+    <lastmodification-date>7/1/2005 - 16:59:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>181</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndInit</node-name>
+    <kind>5</kind>
+    <coupled-node>Init</coupled-node>
+    <service>
+<service-name>EndInit</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndInit</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 16:59:3</creation-date>
+    <lastmodification-date>7/1/2005 - 16:59:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>840</x-position>
+    <y-position>204</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Add</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Add</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:3:59</creation-date>
+    <lastmodification-date>7/1/2005 - 17:3:59</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>248</x-position>
+    <y-position>70</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Add_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Add</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:4:5</creation-date>
+    <lastmodification-date>7/1/2005 - 17:4:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>249</x-position>
+    <y-position>305</y-position>   </node>
+   <node>
+<component-name>SubComponent</component-name>
+    <interface-name>SubComponent</interface-name>
+    <node-name>Sub</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Sub</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:4:31</creation-date>
+    <lastmodification-date>7/1/2005 - 17:4:31</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>453</x-position>
+    <y-position>72</y-position>   </node>
+   <node>
+<component-name>SubComponent</component-name>
+    <interface-name>SubComponent</interface-name>
+    <node-name>Sub_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Sub</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:4:32</creation-date>
+    <lastmodification-date>7/1/2005 - 17:4:32</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>455</x-position>
+    <y-position>304</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Gate</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Gate</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>G1</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>G2</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>G</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Gate</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Gate(G1,G2) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return G1&G2  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:7:9</creation-date>
+    <lastmodification-date>7/1/2005 - 17:7:9</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>650</x-position>
+    <y-position>227</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndInit</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Add_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Sub</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Gate</tonode-name>
+    <toserviceparameter-name>G1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Sub_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Gate</tonode-name>
+    <toserviceparameter-name>G2</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Gate</fromnode-name>
+    <fromserviceparameter-name>G</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Init__Index</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Init__Min</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Init__Max</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>13</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Add__x</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Add__y</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>2</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Add_1__x</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>3</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Add_1__y</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>4</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Sub__x</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Sub__y</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>6</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Sub_1__x</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>7</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopGates</fromnode-name>
+    <fromserviceparameter-name>Sub_1__y</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>8</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopsGates.py b/examples/GraphLoopsGates.py
new file mode 100644 (file)
index 0000000..9d63e77
--- /dev/null
@@ -0,0 +1,255 @@
+
+# Generated python file of Graph GraphLoopsGates_1
+
+from SuperV import *
+
+# Graph creation of GraphLoopsGates_1
+def DefGraphLoopsGates_1() :
+    GraphLoopsGates_1 = Graph( 'GraphLoopsGates_1' )
+    GraphLoopsGates_1.SetName( 'GraphLoopsGates_1' )
+    GraphLoopsGates_1.SetAuthor( 'JR' )
+    GraphLoopsGates_1.SetComment( '' )
+    GraphLoopsGates_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphLoopsGates_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'localhost/FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 230 , 76 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Add_1 = GraphLoopsGates_1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add_1.SetName( 'Add_1' )
+    Add_1.SetAuthor( '' )
+    Add_1.SetContainer( 'localhost/FactoryServer' )
+    Add_1.SetComment( 'Add from AddComponent' )
+    Add_1.Coords( 225 , 304 )
+    IAdd_1x = Add_1.GetInPort( 'x' )
+    IAdd_1y = Add_1.GetInPort( 'y' )
+    IAdd_1Gate = Add_1.GetInPort( 'Gate' )
+    OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
+    OAdd_1z = Add_1.GetOutPort( 'z' )
+    OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
+    
+    Sub = GraphLoopsGates_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'localhost/FactoryServer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 447 , 77 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    Sub_1 = GraphLoopsGates_1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub_1.SetName( 'Sub_1' )
+    Sub_1.SetAuthor( '' )
+    Sub_1.SetContainer( 'localhost/FactoryServer' )
+    Sub_1.SetComment( 'Sub from SubComponent' )
+    Sub_1.Coords( 448 , 304 )
+    ISub_1x = Sub_1.GetInPort( 'x' )
+    ISub_1y = Sub_1.GetInPort( 'y' )
+    ISub_1Gate = Sub_1.GetInPort( 'Gate' )
+    OSub_1z = Sub_1.GetOutPort( 'z' )
+    OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyGate = []
+    PyGate.append( 'from time import *  ' )
+    PyGate.append( 'def Gate(G1,G2) :  ' )
+    PyGate.append( '    sleep(1)  ' )
+    PyGate.append( '    return G1&G2  ' )
+    Gate = GraphLoopsGates_1.INode( 'Gate' , PyGate )
+    Gate.SetName( 'Gate' )
+    Gate.SetAuthor( '' )
+    Gate.SetComment( 'Compute Node' )
+    Gate.Coords( 640 , 224 )
+    IGateG1 = Gate.InPort( 'G1' , 'long' )
+    IGateG2 = Gate.InPort( 'G2' , 'long' )
+    IGateGate = Gate.GetInPort( 'Gate' )
+    OGateG = Gate.OutPort( 'G' , 'long' )
+    OGateGate = Gate.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'from time import *    ' )
+    PyInit.append( 'def Init(Index,Min,Max) :    ' )
+    PyInit.append( '    Index = Min    ' )
+    PyInit.append( '    sleep(1)    ' )
+    PyInit.append( '    return Index,Min,Max    ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(Index,Min,Max) :   ' )
+    PyMoreInit.append( '    if Index < Max :   ' )
+    PyMoreInit.append( '        DoLoop = 1   ' )
+    PyMoreInit.append( '    else :   ' )
+    PyMoreInit.append( '        DoLoop = 0  ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max   ' )
+    PyNextInit = []
+    PyNextInit.append( 'from time import * ' )
+    PyNextInit.append( 'def Next(Index,Min,Max) :   ' )
+    PyNextInit.append( '    Index = Index + 1 ' )
+    PyNextInit.append( '    sleep(1) ' )
+    PyNextInit.append( '    return Index,Min,Max    ' )
+    Init,EndInit = GraphLoopsGates_1.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 851 , 200 )
+    PyEndInit = []
+    EndInit.SetPyFunction( 'EndInit' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 29 , 251 )
+    
+    PyInit_1 = []
+    PyInit_1.append( 'from time import *    ' )
+    PyInit_1.append( 'def Init_1(Index,Min,Max) :    ' )
+    PyInit_1.append( '    Index = Min    ' )
+    PyInit_1.append( '    sleep(1)    ' )
+    PyInit_1.append( '    return Index,Min,Max    ' )
+    PyMoreInit_1 = []
+    PyMoreInit_1.append( 'def More_1(Index,Min,Max) :   ' )
+    PyMoreInit_1.append( '    if Index < Max :   ' )
+    PyMoreInit_1.append( '        DoLoop = 1   ' )
+    PyMoreInit_1.append( '    else :   ' )
+    PyMoreInit_1.append( '        DoLoop = 0  ' )
+    PyMoreInit_1.append( '    return DoLoop,Index,Min,Max   ' )
+    PyNextInit_1 = []
+    PyNextInit_1.append( 'from time import * ' )
+    PyNextInit_1.append( 'def Next_1(Index,Min,Max) :   ' )
+    PyNextInit_1.append( '    Index = Index + 1 ' )
+    PyNextInit_1.append( '    sleep(1) ' )
+    PyNextInit_1.append( '    return Index,Min,Max    ' )
+    Init_1,EndInit_1 = GraphLoopsGates_1.LNode( 'Init_1' , PyInit_1 , 'More_1' , PyMoreInit_1 , 'Next_1' , PyNextInit_1 )
+    EndInit_1.SetName( 'EndInit_1' )
+    EndInit_1.SetAuthor( '' )
+    EndInit_1.SetComment( 'Compute Node' )
+    EndInit_1.Coords( 1049 , 201 )
+    PyEndInit_1 = []
+    EndInit_1.SetPyFunction( 'EndInit_1' , PyEndInit_1 )
+    IInit_1DoLoop = Init_1.GetInPort( 'DoLoop' )
+    IInit_1Index = Init_1.InPort( 'Index' , 'long' )
+    IInit_1Min = Init_1.InPort( 'Min' , 'long' )
+    IInit_1Max = Init_1.InPort( 'Max' , 'long' )
+    IInit_1Gate = Init_1.GetInPort( 'Gate' )
+    OInit_1DoLoop = Init_1.GetOutPort( 'DoLoop' )
+    OInit_1Index = Init_1.GetOutPort( 'Index' )
+    OInit_1Min = Init_1.GetOutPort( 'Min' )
+    OInit_1Max = Init_1.GetOutPort( 'Max' )
+    IEndInit_1DoLoop = EndInit_1.GetInPort( 'DoLoop' )
+    IEndInit_1Index = EndInit_1.GetInPort( 'Index' )
+    IEndInit_1Min = EndInit_1.GetInPort( 'Min' )
+    IEndInit_1Max = EndInit_1.GetInPort( 'Max' )
+    IEndInit_1Gate = EndInit_1.GetInPort( 'Gate' )
+    OEndInit_1DoLoop = EndInit_1.GetOutPort( 'DoLoop' )
+    OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
+    OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
+    OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
+    OEndInit_1Gate = EndInit_1.GetOutPort( 'Gate' )
+    Init_1.SetName( 'Init_1' )
+    Init_1.SetAuthor( '' )
+    Init_1.SetComment( 'Compute Node' )
+    Init_1.Coords( 9 , 24 )
+    
+    # Creation of Links
+    LInitIndexEndInitIndex = GraphLoopsGates_1.Link( OInitIndex , IEndInitIndex )
+    
+    LInitIndexSubx = GraphLoopsGates_1.Link( OInitIndex , ISubx )
+    
+    LInitMinEndInitMin = GraphLoopsGates_1.Link( OInitMin , IEndInitMin )
+    
+    LInitMinSuby = GraphLoopsGates_1.Link( OInitMin , ISuby )
+    
+    LInitMinSub_1x = GraphLoopsGates_1.Link( OInitMin , ISub_1x )
+    
+    LInitMaxEndInitMax = GraphLoopsGates_1.Link( OInitMax , IEndInitMax )
+    
+    LInitMaxSub_1y = GraphLoopsGates_1.Link( OInitMax , ISub_1y )
+    
+    LInitGateAdd_1Gate = GraphLoopsGates_1.Link( OInitGate , IAdd_1Gate )
+    
+    LInitGateAddGate = GraphLoopsGates_1.Link( OInitGate , IAddGate )
+    
+    LEndInitGateEndInit_1Gate = GraphLoopsGates_1.Link( OEndInitGate , IEndInit_1Gate )
+    
+    LAddGateSubGate = GraphLoopsGates_1.Link( OAddGate , ISubGate )
+    
+    LAdd_1GateSub_1Gate = GraphLoopsGates_1.Link( OAdd_1Gate , ISub_1Gate )
+    
+    LSubGateGateG1 = GraphLoopsGates_1.Link( OSubGate , IGateG1 )
+    
+    LSub_1GateGateG2 = GraphLoopsGates_1.Link( OSub_1Gate , IGateG2 )
+    
+    LGateGEndInitGate = GraphLoopsGates_1.Link( OGateG , IEndInitGate )
+    
+    LInit_1IndexEndInit_1Index = GraphLoopsGates_1.Link( OInit_1Index , IEndInit_1Index )
+    
+    LInit_1MinEndInit_1Min = GraphLoopsGates_1.Link( OInit_1Min , IEndInit_1Min )
+    
+    LInit_1MaxEndInit_1Max = GraphLoopsGates_1.Link( OInit_1Max , IEndInit_1Max )
+    
+    LInit_1GateInitGate = GraphLoopsGates_1.Link( OInit_1Gate , IInitGate )
+    LInit_1GateInitGate.AddCoord( 1 , 9 , 346 )
+    LInit_1GateInitGate.AddCoord( 2 , 9 , 199 )
+    LInit_1GateInitGate.AddCoord( 3 , 194 , 199 )
+    LInit_1GateInitGate.AddCoord( 4 , 194 , 119 )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 8 )
+    IAddx.Input( 1 )
+    IAddy.Input( 2 )
+    IAdd_1x.Input( 3 )
+    IAdd_1y.Input( 4 )
+    IInit_1Index.Input( 0 )
+    IInit_1Min.Input( 1 )
+    IInit_1Max.Input( 3 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    #OAddz = Add.GetOutPort( 'z' )
+    #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
+    #OAdd_1z = Add_1.GetOutPort( 'z' )
+    #OSubz = Sub.GetOutPort( 'z' )
+    #OSub_1z = Sub_1.GetOutPort( 'z' )
+    #OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
+    #OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
+    #OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
+    return GraphLoopsGates_1
+
+
+GraphLoopsGates_1 = DefGraphLoopsGates_1()
diff --git a/examples/GraphLoopsGates.xml b/examples/GraphLoopsGates.xml
new file mode 100644 (file)
index 0000000..38c05b6
--- /dev/null
@@ -0,0 +1,692 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopsGates_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopsGates_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add__y</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add_1__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Add_1__y</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init_1__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init_1__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Init_1__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add_1__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Add_1__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Sub__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>Sub_1__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit_1__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit_1__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit_1__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 16:57:1</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>?</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Init</node-name>
+    <kind>4</kind>
+    <coupled-node>EndInit</coupled-node>
+    <service>
+<service-name>Init</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Init(Index,Min,Max) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Min    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Min,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index < Max :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Next(Index,Min,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>29</x-position>
+    <y-position>251</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndInit</node-name>
+    <kind>5</kind>
+    <coupled-node>Init</coupled-node>
+    <service>
+<service-name>EndInit</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndInit</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>851</x-position>
+    <y-position>200</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Add</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Add</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>230</x-position>
+    <y-position>76</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Add_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Add</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>225</x-position>
+    <y-position>304</y-position>   </node>
+   <node>
+<component-name>SubComponent</component-name>
+    <interface-name>SubComponent</interface-name>
+    <node-name>Sub</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Sub</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>447</x-position>
+    <y-position>77</y-position>   </node>
+   <node>
+<component-name>SubComponent</component-name>
+    <interface-name>SubComponent</interface-name>
+    <node-name>Sub_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Sub</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>448</x-position>
+    <y-position>304</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Gate</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Gate</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>G1</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>G2</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>G</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Gate</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Gate(G1,G2) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return G1&G2  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>640</x-position>
+    <y-position>224</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Init_1</node-name>
+    <kind>4</kind>
+    <coupled-node>EndInit_1</coupled-node>
+    <service>
+<service-name>Init_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init_1</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Init_1(Index,Min,Max) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Min    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More_1</FuncName>
+      <PyFunc><![CDATA[def More_1(Index,Min,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index < Max :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next_1</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Next_1(Index,Min,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>9</x-position>
+    <y-position>24</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndInit_1</node-name>
+    <kind>5</kind>
+    <coupled-node>Init_1</coupled-node>
+    <service>
+<service-name>EndInit_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndInit_1</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/1/2005 - 17:57:7</creation-date>
+    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1049</x-position>
+    <y-position>201</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndInit</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndInit</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndInit_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Add_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Sub_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Sub</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Gate</tonode-name>
+    <toserviceparameter-name>G1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Sub_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Gate</tonode-name>
+    <toserviceparameter-name>G2</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Gate</fromnode-name>
+    <fromserviceparameter-name>G</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init_1</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndInit_1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init_1</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndInit_1</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init_1</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndInit_1</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init_1</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndInit_1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>9</x>
+      <y>346</y>     </coord>
+     <coord>
+<x>9</x>
+      <y>199</y>     </coord>
+     <coord>
+<x>194</x>
+      <y>199</y>     </coord>
+     <coord>
+<x>194</x>
+      <y>119</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndInit_1</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init_1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init__Index</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init__Min</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init__Max</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>8</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Add__x</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Add__y</fromserviceparameter-name>
+    <tonode-name>Add</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>2</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Add_1__x</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>3</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Add_1__y</fromserviceparameter-name>
+    <tonode-name>Add_1</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>4</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init_1__Index</fromserviceparameter-name>
+    <tonode-name>Init_1</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init_1__Min</fromserviceparameter-name>
+    <tonode-name>Init_1</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsGates_1</fromnode-name>
+    <fromserviceparameter-name>Init_1__Max</fromserviceparameter-name>
+    <tonode-name>Init_1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>3</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>