Salome HOME
Many new examples specially for test of Switches
authorrahuel <rahuel@opencascade.com>
Tue, 30 Aug 2005 08:23:28 +0000 (08:23 +0000)
committerrahuel <rahuel@opencascade.com>
Tue, 30 Aug 2005 08:23:28 +0000 (08:23 +0000)
192 files changed:
examples/GeomGraph.py
examples/GeomGraph.xml
examples/GraphBadInputInLoop.py
examples/GraphBadInputInLoop.xml
examples/GraphBadInputInLoop1.py
examples/GraphBadInputInLoop1.xml
examples/GraphBadInputInLoop2.py
examples/GraphBadInputInLoop2.xml
examples/GraphBadInputInLoop3.py
examples/GraphBadInputInLoop3.xml
examples/GraphBadOutputOfLoop.py
examples/GraphBadOutputOfLoop.xml
examples/GraphBadOutputOfLoop1.py
examples/GraphBadOutputOfLoop1.xml
examples/GraphBadOutputOfLoop2.py
examples/GraphBadOutputOfLoop2.xml
examples/GraphBugEditor.py [new file with mode: 0644]
examples/GraphBugEditor.xml [new file with mode: 0644]
examples/GraphConvertObjRefCheckNotCompatible.py [new file with mode: 0644]
examples/GraphConvertObjRefCheckNotCompatible.xml [new file with mode: 0644]
examples/GraphEditGraphSwitchs.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_1.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_1.xml [new file with mode: 0644]
examples/GraphEditGraphSwitchs_2.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_2.xml [new file with mode: 0644]
examples/GraphEditGraphSwitchs_3.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_3.xml [new file with mode: 0644]
examples/GraphEditGraphSwitchs_4.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_4.xml [new file with mode: 0644]
examples/GraphEditGraphSwitchs_5.py [new file with mode: 0644]
examples/GraphEditGraphSwitchs_5.xml [new file with mode: 0644]
examples/GraphEmbeddedComponents.py
examples/GraphEmbeddedComponents.xml
examples/GraphEmbeddedComponentsCrash.py [new file with mode: 0644]
examples/GraphEmbeddedComponentsCrash.xml [new file with mode: 0644]
examples/GraphEmbeddedComponentsCrash1.py [new file with mode: 0644]
examples/GraphEmbeddedComponentsCrash1.xml [new file with mode: 0644]
examples/GraphErrMsgs.py [new file with mode: 0644]
examples/GraphGOTO1.py
examples/GraphGOTO1.xml
examples/GraphGOTOAborted.py
examples/GraphGOTOAborted.xml
examples/GraphGOTOAddMemory.py [new file with mode: 0644]
examples/GraphGOTOAddMemory.xml [new file with mode: 0644]
examples/GraphGOTOMemory.py [new file with mode: 0644]
examples/GraphGOTOMemory.xml [new file with mode: 0644]
examples/GraphInputInLoop.py
examples/GraphInputInLoop.xml
examples/GraphLoop1.py
examples/GraphLoop1.xml
examples/GraphLoop2.py [new file with mode: 0644]
examples/GraphLoop2.xml [new file with mode: 0644]
examples/GraphLoopAddMemory.py [new file with mode: 0644]
examples/GraphLoopAddMemory.xml [new file with mode: 0644]
examples/GraphLoopGates.py
examples/GraphLoopGates.xml
examples/GraphLoopGatesNOTValid.py [new file with mode: 0644]
examples/GraphLoopGatesNOTValid.xml [new file with mode: 0644]
examples/GraphLoopMemory.py [new file with mode: 0644]
examples/GraphLoopMemory.xml [new file with mode: 0644]
examples/GraphLoopPyAddAddMemory.py [new file with mode: 0644]
examples/GraphLoopPyAddAddMemory.xml [new file with mode: 0644]
examples/GraphLoopSwitch.py
examples/GraphLoopSwitch.xml
examples/GraphLoopSwitchDefault.py [new file with mode: 0644]
examples/GraphLoopSwitchDefault.xml [new file with mode: 0644]
examples/GraphLoopSwitchDefaultAborted.py [new file with mode: 0644]
examples/GraphLoopSwitchDefaultAborted.xml [new file with mode: 0644]
examples/GraphLoopSwitchGateDefault.py [new file with mode: 0644]
examples/GraphLoopSwitchGateDefault.xml [new file with mode: 0644]
examples/GraphLoopSwitchGatesDefaultNOTValid.py [new file with mode: 0644]
examples/GraphLoopSwitchGatesDefaultNOTValid.xml [new file with mode: 0644]
examples/GraphLoopSwitchOddEven.py [new file with mode: 0644]
examples/GraphLoopSwitchOddEven.xml [new file with mode: 0644]
examples/GraphLoopSwitchOfSwitch.py
examples/GraphLoopSwitchOfSwitch.xml
examples/GraphLoopSwitchOfSwitch1.py [new file with mode: 0644]
examples/GraphLoopSwitchOfSwitch1.xml [new file with mode: 0644]
examples/GraphLoopSwitchOfSwitchAborted.py [new file with mode: 0644]
examples/GraphLoopSwitchOfSwitchAborted.xml [new file with mode: 0644]
examples/GraphLoopSwitchs.py
examples/GraphLoopSwitchs.xml
examples/GraphLoopSwitchsAborted.py [new file with mode: 0644]
examples/GraphLoopSwitchsAborted.xml [new file with mode: 0644]
examples/GraphLoopSwitchsBranches.py [new file with mode: 0644]
examples/GraphLoopSwitchsBranches.xml [new file with mode: 0644]
examples/GraphLoopSwitchsBranchesDefaultAborted.py [new file with mode: 0644]
examples/GraphLoopSwitchsBranchesDefaultAborted.xml [new file with mode: 0644]
examples/GraphLoopSwitchsBranchesdefault.py [new file with mode: 0644]
examples/GraphLoopSwitchsBranchesdefault.xml [new file with mode: 0644]
examples/GraphLoopSwitchsNOTValid.py [new file with mode: 0644]
examples/GraphLoopSwitchsNOTValid.xml [new file with mode: 0644]
examples/GraphLoopTwoBranches.py [new file with mode: 0644]
examples/GraphLoopTwoBranches.xml [new file with mode: 0644]
examples/GraphLoopsGates.py
examples/GraphLoopsGates.xml
examples/GraphLoopsStupidCoupledSwitchs.py [new file with mode: 0644]
examples/GraphLoopsStupidCoupledSwitchs.xml [new file with mode: 0644]
examples/GraphMacroNodes.py
examples/GraphMacroNodes.xml
examples/GraphObjRef.py
examples/GraphObjRef.xml
examples/GraphObjRefOMNIORB4.py [new file with mode: 0644]
examples/GraphObjRefOMNIORB4.xml [new file with mode: 0644]
examples/GraphObjRefOMNIORB4_StandAlone.py [new file with mode: 0644]
examples/GraphPyFunctions.py
examples/GraphPyFunctions.xml
examples/GraphStreamInLines.py
examples/GraphStreamInLines.xml
examples/GraphSwitch.py
examples/GraphSwitch.xml
examples/GraphSwitchBranchGates.py [new file with mode: 0644]
examples/GraphSwitchBranchGates.xml [new file with mode: 0644]
examples/GraphSwitchBranchGates1.py [new file with mode: 0644]
examples/GraphSwitchBranchGates1.xml [new file with mode: 0644]
examples/GraphSwitchBugAborted.py [new file with mode: 0644]
examples/GraphSwitchBugAborted.xml [new file with mode: 0644]
examples/GraphSwitchBugDefault.py [new file with mode: 0644]
examples/GraphSwitchBugDefault.xml [new file with mode: 0644]
examples/GraphSwitchCheckBranch1.py
examples/GraphSwitchCheckBranch1.xml
examples/GraphSwitchCheckBranch1Default.py [new file with mode: 0644]
examples/GraphSwitchCheckBranch1Default.xml [new file with mode: 0644]
examples/GraphSwitchCheckBranch1NoDefault.py [new file with mode: 0644]
examples/GraphSwitchCheckBranch1NoDefault.xml [new file with mode: 0644]
examples/GraphSwitchCheckBranch2NOTValid.py [new file with mode: 0644]
examples/GraphSwitchCheckBranch2NOTValid.xml [new file with mode: 0644]
examples/GraphSwitchCheckDefault.py
examples/GraphSwitchCheckDefault.xml
examples/GraphSwitchCheckDefault2NOTValid2.py
examples/GraphSwitchCheckDefault2NOTValid2.xml
examples/GraphSwitchCheckNoDefault2.py [new file with mode: 0644]
examples/GraphSwitchCheckNoDefault2.xml [new file with mode: 0644]
examples/GraphSwitchCrash.py
examples/GraphSwitchCrash.xml
examples/GraphSwitchErrExec.py
examples/GraphSwitchErrExec.xml
examples/GraphSwitchExecutable.py [new file with mode: 0644]
examples/GraphSwitchExecutable.xml [new file with mode: 0644]
examples/GraphSwitchGates.py [new file with mode: 0644]
examples/GraphSwitchGates.xml [new file with mode: 0644]
examples/GraphSwitchGatesDefault.py [new file with mode: 0644]
examples/GraphSwitchGatesDefault.xml [new file with mode: 0644]
examples/GraphSwitchGatesNoDefaultAborted.py [new file with mode: 0644]
examples/GraphSwitchGatesNoDefaultAborted.xml [new file with mode: 0644]
examples/GraphSwitchGatesdefault.py [new file with mode: 0644]
examples/GraphSwitchGatesdefault.xml [new file with mode: 0644]
examples/GraphSwitchGatesdefaultBranch.py [new file with mode: 0644]
examples/GraphSwitchGatesdefaultBranch.xml [new file with mode: 0644]
examples/GraphSwitchManyCases.py [new file with mode: 0644]
examples/GraphSwitchManyCases.xml [new file with mode: 0644]
examples/GraphSwitchManyCasesNOTValid.py [new file with mode: 0644]
examples/GraphSwitchManyCasesNOTValid.xml [new file with mode: 0644]
examples/GraphSwitchNOTExecutable.py [new file with mode: 0644]
examples/GraphSwitchNOTExecutable.xml [new file with mode: 0644]
examples/GraphSwitchNOTExecutable1.py [new file with mode: 0644]
examples/GraphSwitchNOTExecutable1.xml [new file with mode: 0644]
examples/GraphSwitchNOTExecutable2.py [new file with mode: 0644]
examples/GraphSwitchNOTExecutable2.xml [new file with mode: 0644]
examples/GraphSwitchOutputNOTValid.py
examples/GraphSwitchOutputNOTValid.xml
examples/GraphSyrControl.py
examples/GraphSyrControl.xml
examples/GraphSyrControl1.py
examples/GraphSyrControl1.xml
examples/GraphSyrControlAborted.py [new file with mode: 0644]
examples/GraphSyrControlAborted.xml [new file with mode: 0644]
examples/GraphSyrControlAve.py
examples/GraphSyrControlAve.xml
examples/GraphSyrControlAveAborted.py [new file with mode: 0644]
examples/GraphSyrControlAveAborted.xml [new file with mode: 0644]
examples/GraphSyrControlAveExecutable.py [new file with mode: 0644]
examples/GraphSyrControlAveExecutable.xml [new file with mode: 0644]
examples/GraphSyrControlAveNOTValid.py [new file with mode: 0644]
examples/GraphSyrControlAveNOTValid.xml [new file with mode: 0644]
examples/GraphSyrControlAveValid.py [new file with mode: 0644]
examples/GraphSyrControlAveValid.xml [new file with mode: 0644]
examples/GraphTwoLoops1.py [new file with mode: 0644]
examples/GraphTwoLoops1.xml [new file with mode: 0644]
examples/GraphUnValid.py
examples/GraphUnValid.xml
examples/GraphWrongContainerOrComponent.py [new file with mode: 0644]
examples/GraphWrongContainerOrComponent.xml [new file with mode: 0644]
examples/GraphWrongPythonFunctions.py [new file with mode: 0644]
examples/GraphWrongPythonFunctions.xml [new file with mode: 0644]
examples/TestSupervMedfieldLoopFori.py
examples/TestSupervMedfieldLoopFori.xml
examples/TestSupervMedfieldLoopForiVisu.py
examples/TestSupervMedfieldLoopForiVisu.xml
examples/testvisu20.xml
examples/testvisu20_multi.py
examples/testvisu20_multi.xml

index 0553d96e97fba3abbc0780e6a201cf877e0968cb..20fb11352660c374031bc992c98a31b77ae87d4a 100644 (file)
@@ -1,19 +1,19 @@
 
-# Generated python file of Graph aNewDataFlow_1
+# Generated python file of Graph GeomGraph
 
 from SuperV import *
 
-# Graph creation of aNewDataFlow_1
-def DefaNewDataFlow_1() :
-    aNewDataFlow_1 = Graph( 'aNewDataFlow_1' )
-    aNewDataFlow_1.SetName( 'aNewDataFlow_1' )
-    aNewDataFlow_1.SetAuthor( '' )
-    aNewDataFlow_1.SetComment( '' )
-    aNewDataFlow_1.Coords( 0 , 0 )
+# Graph creation of GeomGraph
+def DefGeomGraph() :
+    GeomGraph = Graph( 'GeomGraph' )
+    GeomGraph.SetName( 'GeomGraph' )
+    GeomGraph.SetAuthor( '' )
+    GeomGraph.SetComment( '' )
+    GeomGraph.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
-    SetStudyID = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
+    SetStudyID = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'SetStudyID' )
     SetStudyID.SetName( 'SetStudyID' )
     SetStudyID.SetAuthor( '' )
     SetStudyID.SetContainer( 'localhost/FactoryServer' )
@@ -23,7 +23,7 @@ def DefaNewDataFlow_1() :
     ISetStudyIDGate = SetStudyID.GetInPort( 'Gate' )
     OSetStudyIDGate = SetStudyID.GetOutPort( 'Gate' )
     
-    MakeBox = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeBox' )
+    MakeBox = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeBox' )
     MakeBox.SetName( 'MakeBox' )
     MakeBox.SetAuthor( '' )
     MakeBox.SetContainer( 'localhost/FactoryServer' )
@@ -39,7 +39,7 @@ def DefaNewDataFlow_1() :
     OMakeBoxreturn = MakeBox.GetOutPort( 'return' )
     OMakeBoxGate = MakeBox.GetOutPort( 'Gate' )
     
-    MakeCopy = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+    MakeCopy = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
     MakeCopy.SetName( 'MakeCopy' )
     MakeCopy.SetAuthor( '' )
     MakeCopy.SetContainer( 'localhost/FactoryServer' )
@@ -50,7 +50,7 @@ def DefaNewDataFlow_1() :
     OMakeCopyreturn = MakeCopy.GetOutPort( 'return' )
     OMakeCopyGate = MakeCopy.GetOutPort( 'Gate' )
     
-    TranslateDXDYDZ = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
+    TranslateDXDYDZ = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'TranslateDXDYDZ' )
     TranslateDXDYDZ.SetName( 'TranslateDXDYDZ' )
     TranslateDXDYDZ.SetAuthor( '' )
     TranslateDXDYDZ.SetContainer( 'localhost/FactoryServer' )
@@ -64,7 +64,7 @@ def DefaNewDataFlow_1() :
     OTranslateDXDYDZreturn = TranslateDXDYDZ.GetOutPort( 'return' )
     OTranslateDXDYDZGate = TranslateDXDYDZ.GetOutPort( 'Gate' )
     
-    MakeCopy_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
+    MakeCopy_1 = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeCopy' )
     MakeCopy_1.SetName( 'MakeCopy_1' )
     MakeCopy_1.SetAuthor( '' )
     MakeCopy_1.SetContainer( 'localhost/FactoryServer' )
@@ -75,7 +75,7 @@ def DefaNewDataFlow_1() :
     OMakeCopy_1return = MakeCopy_1.GetOutPort( 'return' )
     OMakeCopy_1Gate = MakeCopy_1.GetOutPort( 'Gate' )
     
-    MakeSphere_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
+    MakeSphere_1 = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeSphere' )
     MakeSphere_1.SetName( 'MakeSphere_1' )
     MakeSphere_1.SetAuthor( '' )
     MakeSphere_1.SetContainer( 'localhost/FactoryServer' )
@@ -89,7 +89,7 @@ def DefaNewDataFlow_1() :
     OMakeSphere_1return = MakeSphere_1.GetOutPort( 'return' )
     OMakeSphere_1Gate = MakeSphere_1.GetOutPort( 'Gate' )
     
-    MakeFuse = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+    MakeFuse = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
     MakeFuse.SetName( 'MakeFuse' )
     MakeFuse.SetAuthor( '' )
     MakeFuse.SetContainer( 'localhost/FactoryServer' )
@@ -101,7 +101,7 @@ def DefaNewDataFlow_1() :
     OMakeFusereturn = MakeFuse.GetOutPort( 'return' )
     OMakeFuseGate = MakeFuse.GetOutPort( 'Gate' )
     
-    MakeFuse_1 = aNewDataFlow_1.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
+    MakeFuse_1 = GeomGraph.FNode( 'GEOM_Superv' , 'GEOM_Superv' , 'MakeFuse' )
     MakeFuse_1.SetName( 'MakeFuse_1' )
     MakeFuse_1.SetAuthor( '' )
     MakeFuse_1.SetContainer( 'localhost/FactoryServer' )
@@ -114,23 +114,23 @@ def DefaNewDataFlow_1() :
     OMakeFuse_1Gate = MakeFuse_1.GetOutPort( 'Gate' )
     
     # Creation of Links
-    LSetStudyIDGateMakeBoxGate = aNewDataFlow_1.Link( OSetStudyIDGate , IMakeBoxGate )
+    LSetStudyIDGateMakeBoxGate = GeomGraph.Link( OSetStudyIDGate , IMakeBoxGate )
     
-    LSetStudyIDGateMakeSphere_1Gate = aNewDataFlow_1.Link( OSetStudyIDGate , IMakeSphere_1Gate )
+    LSetStudyIDGateMakeSphere_1Gate = GeomGraph.Link( OSetStudyIDGate , IMakeSphere_1Gate )
     
-    LMakeBoxreturnMakeCopytheOriginal = aNewDataFlow_1.Link( OMakeBoxreturn , IMakeCopytheOriginal )
+    LMakeBoxreturnMakeCopytheOriginal = GeomGraph.Link( OMakeBoxreturn , IMakeCopytheOriginal )
     
-    LMakeBoxreturnMakeCopy_1theOriginal = aNewDataFlow_1.Link( OMakeBoxreturn , IMakeCopy_1theOriginal )
+    LMakeBoxreturnMakeCopy_1theOriginal = GeomGraph.Link( OMakeBoxreturn , IMakeCopy_1theOriginal )
     
-    LMakeCopyreturnTranslateDXDYDZtheObject = aNewDataFlow_1.Link( OMakeCopyreturn , ITranslateDXDYDZtheObject )
+    LMakeCopyreturnTranslateDXDYDZtheObject = GeomGraph.Link( OMakeCopyreturn , ITranslateDXDYDZtheObject )
     
-    LTranslateDXDYDZreturnMakeFusetheShape1 = aNewDataFlow_1.Link( OTranslateDXDYDZreturn , IMakeFusetheShape1 )
+    LTranslateDXDYDZreturnMakeFusetheShape1 = GeomGraph.Link( OTranslateDXDYDZreturn , IMakeFusetheShape1 )
     
-    LMakeCopy_1returnMakeFusetheShape2 = aNewDataFlow_1.Link( OMakeCopy_1return , IMakeFusetheShape2 )
+    LMakeCopy_1returnMakeFusetheShape2 = GeomGraph.Link( OMakeCopy_1return , IMakeFusetheShape2 )
     
-    LMakeSphere_1returnMakeFuse_1theShape2 = aNewDataFlow_1.Link( OMakeSphere_1return , IMakeFuse_1theShape2 )
+    LMakeSphere_1returnMakeFuse_1theShape2 = GeomGraph.Link( OMakeSphere_1return , IMakeFuse_1theShape2 )
     
-    LMakeFusereturnMakeFuse_1theShape1 = aNewDataFlow_1.Link( OMakeFusereturn , IMakeFuse_1theShape1 )
+    LMakeFusereturnMakeFuse_1theShape1 = GeomGraph.Link( OMakeFusereturn , IMakeFuse_1theShape1 )
     
     # Input datas
     ISetStudyIDtheStudyID.Input( 1 )
@@ -150,7 +150,7 @@ def DefaNewDataFlow_1() :
     
     # Output Ports of the graph
     #OMakeFuse_1return = MakeFuse_1.GetOutPort( 'return' )
-    return aNewDataFlow_1
+    return GeomGraph
 
 
-aNewDataFlow_1 = DefaNewDataFlow_1()
+GeomGraph = DefGeomGraph()
index 663002d1323dd558129f62df5226b301b1f37f5a..f56de4313046b3d1a9a6dbdbe0aee07b789faf32 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>aNewDataFlow_1</node-name>
+    <node-name>GeomGraph</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>aNewDataFlow_1</service-name>
+<service-name>GeomGraph</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -60,7 +60,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>29/10/2004 - 10:52:34</creation-date>
-    <lastmodification-date>11/11/2004 - 11:41:31</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
@@ -83,8 +83,8 @@
      <outParameter-list/>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:16:35</creation-date>
-    <lastmodification-date>11/11/2004 - 11:16:35</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:17:44</creation-date>
-    <lastmodification-date>11/11/2004 - 11:17:44</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:36:29</creation-date>
-    <lastmodification-date>11/11/2004 - 11:36:29</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:37:10</creation-date>
-    <lastmodification-date>11/11/2004 - 11:37:10</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:38:45</creation-date>
-    <lastmodification-date>11/11/2004 - 11:38:45</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:38:54</creation-date>
-    <lastmodification-date>11/11/2004 - 11:38:54</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:39:55</creation-date>
-    <lastmodification-date>11/11/2004 - 11:39:55</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/11/2004 - 11:40:15</creation-date>
-    <lastmodification-date>11/11/2004 - 11:40:15</lastmodification-date>
+    <creation-date>6/6/2005 - 10:39:55</creation-date>
+    <lastmodification-date>6/6/2005 - 10:39:55</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>SetStudyID__theStudyID</fromserviceparameter-name>
     <tonode-name>SetStudyID</tonode-name>
     <toserviceparameter-name>theStudyID</toserviceparameter-name>
      <value>1</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theX1</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theX1</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theY1</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theY1</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theZ1</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theZ1</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theX2</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theX2</toserviceparameter-name>
      <value>50</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theY2</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theY2</toserviceparameter-name>
      <value>50</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeBox__theZ2</fromserviceparameter-name>
     <tonode-name>MakeBox</tonode-name>
     <toserviceparameter-name>theZ2</toserviceparameter-name>
      <value>50</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>TranslateDXDYDZ__theDX</fromserviceparameter-name>
     <tonode-name>TranslateDXDYDZ</tonode-name>
     <toserviceparameter-name>theDX</toserviceparameter-name>
      <value>10</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>TranslateDXDYDZ__theDY</fromserviceparameter-name>
     <tonode-name>TranslateDXDYDZ</tonode-name>
     <toserviceparameter-name>theDY</toserviceparameter-name>
      <value>10</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>TranslateDXDYDZ__theDZ</fromserviceparameter-name>
     <tonode-name>TranslateDXDYDZ</tonode-name>
     <toserviceparameter-name>theDZ</toserviceparameter-name>
      <value>10</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeSphere_1__theX</fromserviceparameter-name>
     <tonode-name>MakeSphere_1</tonode-name>
     <toserviceparameter-name>theX</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeSphere_1__theY</fromserviceparameter-name>
     <tonode-name>MakeSphere_1</tonode-name>
     <toserviceparameter-name>theY</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeSphere_1__theZ</fromserviceparameter-name>
     <tonode-name>MakeSphere_1</tonode-name>
     <toserviceparameter-name>theZ</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow_1</fromnode-name>
+<fromnode-name>GeomGraph</fromnode-name>
     <fromserviceparameter-name>MakeSphere_1__theRadius</fromserviceparameter-name>
     <tonode-name>MakeSphere_1</tonode-name>
     <toserviceparameter-name>theRadius</toserviceparameter-name>
index f8c17e3a19878b2374e9c139229e9625ad91ca39..dd1a2c9ea767b37507c98db5095a5c30b4bfaa75 100755 (executable)
@@ -1,32 +1,31 @@
 
-# Generated python file of Graph GraphBadInputInLoop
+# Generated python file of Graph GraphBadInputInLoop_1
 
 from SuperV import *
 
-# Graph creation of GraphBadInputInLoop
-def DefGraphBadInputInLoop() :
-    GraphBadInputInLoop = Graph( 'GraphBadInputInLoop' )
-    GraphBadInputInLoop.SetName( 'GraphBadInputInLoop' )
-    GraphBadInputInLoop.SetAuthor( '' )
-    GraphBadInputInLoop.SetComment( '' )
-    GraphBadInputInLoop.Coords( 0 , 0 )
+# Graph creation of GraphBadInputInLoop_1
+def DefGraphBadInputInLoop_1() :
+    GraphBadInputInLoop_1 = Graph( 'GraphBadInputInLoop_1' )
+    GraphBadInputInLoop_1.SetName( 'GraphBadInputInLoop_1' )
+    GraphBadInputInLoop_1.SetAuthor( '' )
+    GraphBadInputInLoop_1.SetComment( '' )
+    GraphBadInputInLoop_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *    ' )
-    PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"       ' )
-    PyIsOdd.append( '    sleep( 1 )    ' )
-    PyIsOdd.append( '    return a      ' )
-    IsOdd = GraphBadInputInLoop.INode( 'IsOdd' , PyIsOdd )
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphBadInputInLoop_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
@@ -35,13 +34,13 @@ def DefGraphBadInputInLoop() :
     PyBadInputOfLoop.append( 'def BadInputOfLoop() : ' )
     PyBadInputOfLoop.append( ' return 1 ' )
     PyBadInputOfLoop.append( '' )
-    BadInputOfLoop = GraphBadInputInLoop.INode( 'BadInputOfLoop' , PyBadInputOfLoop )
+    BadInputOfLoop = GraphBadInputInLoop_1.INode( 'BadInputOfLoop' , PyBadInputOfLoop )
     BadInputOfLoop.SetName( 'BadInputOfLoop' )
     BadInputOfLoop.SetAuthor( '' )
     BadInputOfLoop.SetComment( 'Compute Node' )
     BadInputOfLoop.Coords( 15 , 307 )
     IBadInputOfLoopGate = BadInputOfLoop.GetInPort( 'Gate' )
-    OBadInputOfLoopInputInLoop = BadInputOfLoop.OutPort( 'InputInLoop' , 'boolean' )
+    OBadInputOfLoopInputInLoop = BadInputOfLoop.OutPort( 'InputInLoop' , 'long' )
     OBadInputOfLoopGate = BadInputOfLoop.GetOutPort( 'Gate' )
     
     # Creation of Loop Nodes
@@ -50,7 +49,7 @@ def DefGraphBadInputInLoop() :
     PyMoreInitLoop.append( '' )
     PyNextInitLoop = []
     PyNextInitLoop.append( '' )
-    InitLoop,EndOfInitLoop = GraphBadInputInLoop.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    InitLoop,EndOfInitLoop = GraphBadInputInLoop_1.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
     EndOfInitLoop.SetName( 'EndOfInitLoop' )
     EndOfInitLoop.SetAuthor( '' )
     EndOfInitLoop.SetComment( 'Compute Node' )
@@ -64,7 +63,7 @@ def DefGraphBadInputInLoop() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -82,6 +81,7 @@ def DefGraphBadInputInLoop() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -94,7 +94,7 @@ def DefGraphBadInputInLoop() :
     PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
     PySwitch.append( '        sleep(1)  ' )
     PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-    Switch,EndSwitch = GraphBadInputInLoop.SNode( 'Switch' , PySwitch )
+    Switch,EndSwitch = GraphBadInputInLoop_1.SNode( 'Switch' , PySwitch )
     EndSwitch.SetName( 'EndSwitch' )
     EndSwitch.SetAuthor( '' )
     EndSwitch.SetComment( 'Compute Node' )
@@ -114,6 +114,7 @@ def DefGraphBadInputInLoop() :
     Switch.SetComment( 'Compute Node' )
     Switch.Coords( 194 , 109 )
     ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchInputInLoop = Switch.InPort( 'InputInLoop' , 'long' )
     ISwitchGate = Switch.GetInPort( 'Gate' )
     OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
     OSwitchEven = Switch.OutPort( 'Even' , 'int' )
@@ -121,42 +122,31 @@ def DefGraphBadInputInLoop() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndSwitcha = GraphBadInputInLoop.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
+    LIsOddaEndSwitcha = GraphBadInputInLoop_1.Link( OIsOdda , IEndSwitcha )
     
-    LInitLoopIndexSwitcha = GraphBadInputInLoop.Link( OInitLoopIndex , ISwitcha )
+    LInitLoopIndexSwitcha = GraphBadInputInLoop_1.Link( OInitLoopIndex , ISwitcha )
     
-    LInitLoopMinEndOfInitLoopMin = GraphBadInputInLoop.Link( OInitLoopMin , IEndOfInitLoopMin )
+    LInitLoopMinEndOfInitLoopMin = GraphBadInputInLoop_1.Link( OInitLoopMin , IEndOfInitLoopMin )
     
-    LSwitchOddIsOddGate = GraphBadInputInLoop.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphBadInputInLoop_1.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchEvenEndSwitchDefault = GraphBadInputInLoop.Link( OSwitchEven , IEndSwitchDefault )
+    LSwitchaIsOdda = GraphBadInputInLoop_1.Link( OSwitcha , IIsOdda )
     
-    LSwitchEvenIsOddEven = GraphBadInputInLoop.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
+    LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
-    LSwitchaIsOdda = GraphBadInputInLoop.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
-    
-    LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop.Link( OEndSwitcha , IEndOfInitLoopIndex )
-    
-    LBadInputOfLoopInputInLoopSwitchGate = GraphBadInputInLoop.Link( OBadInputOfLoopInputInLoop , ISwitchGate )
+    LBadInputOfLoopInputInLoopSwitchInputInLoop = GraphBadInputInLoop_1.Link( OBadInputOfLoopInputInLoop , ISwitchInputInLoop )
     
     # Input datas
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-    return GraphBadInputInLoop
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphBadInputInLoop_1
 
 
-GraphBadInputInLoop = DefGraphBadInputInLoop()
+GraphBadInputInLoop_1 = DefGraphBadInputInLoop_1()
index ccec62451ab28ad6698cef88cc0dce6bfce4a532..e546f45fcac817340ac7bc7271325be4da7c8845 100755 (executable)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphBadInputInLoop</node-name>
+    <node-name>GraphBadInputInLoop_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphBadInputInLoop</service-name>
+<service-name>GraphBadInputInLoop_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
        <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
       <outParameter>
 <outParameter-type>long</outParameter-type>
-       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <lastmodification-date>17/6/2005 - 15:31:43</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"       ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list/>
      <outParameter-list>
 <outParameter>
-<outParameter-type>boolean</outParameter-type>
+<outParameter-type>long</outParameter-type>
        <outParameter-name>InputInLoop</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list>
       <PyFunc><![CDATA[def BadInputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:56:35</creation-date>
-    <lastmodification-date>14/12/2004 - 15:56:35</lastmodification-date>
+    <creation-date>17/6/2005 - 15:25:34</creation-date>
+    <lastmodification-date>17/6/2005 - 15:25:34</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>EndSwitch</tonode-name>
-    <toserviceparameter-name>Default</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
 <fromnode-name>BadInputOfLoop</fromnode-name>
     <fromserviceparameter-name>InputInLoop</fromserviceparameter-name>
     <tonode-name>Switch</tonode-name>
-    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <toserviceparameter-name>InputInLoop</toserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphBadInputInLoop</fromnode-name>
+<fromnode-name>GraphBadInputInLoop_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphBadInputInLoop</fromnode-name>
+<fromnode-name>GraphBadInputInLoop_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphBadInputInLoop</fromnode-name>
+<fromnode-name>GraphBadInputInLoop_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadInputInLoop</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index d5d1da883829d41809a4aeafe6319a6638ceb666..bf1e47e308278cfee21bf8ba89c81886bd0f23f4 100755 (executable)
@@ -1,32 +1,31 @@
 
-# Generated python file of Graph GraphBadInputInLoop1
+# Generated python file of Graph GraphBadInputInLoop1_1
 
 from SuperV import *
 
-# Graph creation of GraphBadInputInLoop1
-def DefGraphBadInputInLoop1() :
-    GraphBadInputInLoop1 = Graph( 'GraphBadInputInLoop1' )
-    GraphBadInputInLoop1.SetName( 'GraphBadInputInLoop1' )
-    GraphBadInputInLoop1.SetAuthor( '' )
-    GraphBadInputInLoop1.SetComment( '' )
-    GraphBadInputInLoop1.Coords( 0 , 0 )
+# Graph creation of GraphBadInputInLoop1_1
+def DefGraphBadInputInLoop1_1() :
+    GraphBadInputInLoop1_1 = Graph( 'GraphBadInputInLoop1_1' )
+    GraphBadInputInLoop1_1.SetName( 'GraphBadInputInLoop1_1' )
+    GraphBadInputInLoop1_1.SetAuthor( '' )
+    GraphBadInputInLoop1_1.SetComment( '' )
+    GraphBadInputInLoop1_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *    ' )
-    PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"       ' )
-    PyIsOdd.append( '    sleep( 1 )    ' )
-    PyIsOdd.append( '    return a      ' )
-    IsOdd = GraphBadInputInLoop1.INode( 'IsOdd' , PyIsOdd )
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphBadInputInLoop1_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
@@ -35,7 +34,7 @@ def DefGraphBadInputInLoop1() :
     PyBadInputOfLoop.append( 'def BadInputOfLoop() : ' )
     PyBadInputOfLoop.append( ' return 1 ' )
     PyBadInputOfLoop.append( '' )
-    BadInputOfLoop = GraphBadInputInLoop1.INode( 'BadInputOfLoop' , PyBadInputOfLoop )
+    BadInputOfLoop = GraphBadInputInLoop1_1.INode( 'BadInputOfLoop' , PyBadInputOfLoop )
     BadInputOfLoop.SetName( 'BadInputOfLoop' )
     BadInputOfLoop.SetAuthor( '' )
     BadInputOfLoop.SetComment( 'Compute Node' )
@@ -50,7 +49,7 @@ def DefGraphBadInputInLoop1() :
     PyMoreInitLoop.append( '' )
     PyNextInitLoop = []
     PyNextInitLoop.append( '' )
-    InitLoop,EndOfInitLoop = GraphBadInputInLoop1.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    InitLoop,EndOfInitLoop = GraphBadInputInLoop1_1.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
     EndOfInitLoop.SetName( 'EndOfInitLoop' )
     EndOfInitLoop.SetAuthor( '' )
     EndOfInitLoop.SetComment( 'Compute Node' )
@@ -64,7 +63,7 @@ def DefGraphBadInputInLoop1() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -82,6 +81,7 @@ def DefGraphBadInputInLoop1() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -94,7 +94,7 @@ def DefGraphBadInputInLoop1() :
     PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
     PySwitch.append( '        sleep(1)  ' )
     PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-    Switch,EndSwitch = GraphBadInputInLoop1.SNode( 'Switch' , PySwitch )
+    Switch,EndSwitch = GraphBadInputInLoop1_1.SNode( 'Switch' , PySwitch )
     EndSwitch.SetName( 'EndSwitch' )
     EndSwitch.SetAuthor( '' )
     EndSwitch.SetComment( 'Compute Node' )
@@ -121,42 +121,32 @@ def DefGraphBadInputInLoop1() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndSwitcha = GraphBadInputInLoop1.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
+    LIsOddaEndSwitcha = GraphBadInputInLoop1_1.Link( OIsOdda , IEndSwitcha )
     
-    LInitLoopIndexSwitcha = GraphBadInputInLoop1.Link( OInitLoopIndex , ISwitcha )
+    LInitLoopIndexSwitcha = GraphBadInputInLoop1_1.Link( OInitLoopIndex , ISwitcha )
     
-    LInitLoopMinEndOfInitLoopMin = GraphBadInputInLoop1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    LInitLoopMinEndOfInitLoopMin = GraphBadInputInLoop1_1.Link( OInitLoopMin , IEndOfInitLoopMin )
     
-    LSwitchOddIsOddGate = GraphBadInputInLoop1.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphBadInputInLoop1_1.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchEvenEndSwitchDefault = GraphBadInputInLoop1.Link( OSwitchEven , IEndSwitchDefault )
+    LSwitchEvenEndSwitchDefault = GraphBadInputInLoop1_1.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadInputInLoop1.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
+    LSwitchaIsOdda = GraphBadInputInLoop1_1.Link( OSwitcha , IIsOdda )
     
-    LSwitchaIsOdda = GraphBadInputInLoop1.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
+    LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop1_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
-    LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop1.Link( OEndSwitcha , IEndOfInitLoopIndex )
-    
-    LBadInputOfLoopInputInLoopEndOfInitLoopGate = GraphBadInputInLoop1.Link( OBadInputOfLoopInputInLoop , IEndOfInitLoopGate )
+    LBadInputOfLoopInputInLoopEndOfInitLoopMax = GraphBadInputInLoop1_1.Link( OBadInputOfLoopInputInLoop , IEndOfInitLoopMax )
     
     # Input datas
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-    return GraphBadInputInLoop1
+    return GraphBadInputInLoop1_1
 
 
-GraphBadInputInLoop1 = DefGraphBadInputInLoop1()
+GraphBadInputInLoop1_1 = DefGraphBadInputInLoop1_1()
index 5efd5ef3465d01b7cac8906b10bbf366951406ba..b632f69fa30c507d12dfbbc438cfa6768de75817 100755 (executable)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphBadInputInLoop1</node-name>
+    <node-name>GraphBadInputInLoop1_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphBadInputInLoop1</service-name>
+<service-name>GraphBadInputInLoop1_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -39,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <lastmodification-date>17/6/2005 - 16:4:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"       ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadInputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:27</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:27</lastmodification-date>
+    <creation-date>17/6/2005 - 16:4:37</creation-date>
+    <lastmodification-date>17/6/2005 - 16:4:37</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
 <fromnode-name>BadInputOfLoop</fromnode-name>
     <fromserviceparameter-name>InputInLoop</fromserviceparameter-name>
     <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphBadInputInLoop1</fromnode-name>
+<fromnode-name>GraphBadInputInLoop1_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphBadInputInLoop1</fromnode-name>
+<fromnode-name>GraphBadInputInLoop1_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphBadInputInLoop1</fromnode-name>
+<fromnode-name>GraphBadInputInLoop1_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadInputInLoop1</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index eea51de8eefd13f9a54151072efd47b1e65d8c39..52e8ec14f2fab6979ba1a158e9b3df713ee557a6 100755 (executable)
@@ -15,18 +15,17 @@ def DefGraphBadInputInLoop2() :
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *     ' )
-    PyIsOdd.append( 'def IsOdd(a,Even,InputInLoop) :         ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
-    PyIsOdd.append( '    sleep( 1 )     ' )
-    PyIsOdd.append( '    return a       ' )
+    PyIsOdd.append( 'from time import *      ' )
+    PyIsOdd.append( 'def IsOdd(a,InputInLoop) :          ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"         ' )
+    PyIsOdd.append( '    sleep( 1 )      ' )
+    PyIsOdd.append( '    return a        ' )
     IsOdd = GraphBadInputInLoop2.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddInputInLoop = IsOdd.InPort( 'InputInLoop' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
@@ -65,7 +64,7 @@ def DefGraphBadInputInLoop2() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -83,6 +82,7 @@ def DefGraphBadInputInLoop2() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -123,8 +123,6 @@ def DefGraphBadInputInLoop2() :
     
     # Creation of Links
     LIsOddaEndSwitcha = GraphBadInputInLoop2.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
     
     LInitLoopIndexSwitcha = GraphBadInputInLoop2.Link( OInitLoopIndex , ISwitcha )
     
@@ -134,13 +132,7 @@ def DefGraphBadInputInLoop2() :
     
     LSwitchEvenEndSwitchDefault = GraphBadInputInLoop2.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadInputInLoop2.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
-    
     LSwitchaIsOdda = GraphBadInputInLoop2.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
     
     LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop2.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
@@ -150,10 +142,8 @@ def DefGraphBadInputInLoop2() :
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
index 3e5ec3cde8243cadf5c9edff7f90a03e3893212e..e531167ca3c6a8da7a9095f6747df604e1080298 100755 (executable)
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -39,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 11:9:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -60,9 +54,6 @@
 <inParameter-type>long</inParameter-type>
        <inParameter-name>a</inParameter-name>      </inParameter>
       <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>
-      <inParameter>
 <inParameter-type>boolean</inParameter-type>
        <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even,InputInLoop) :         ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
-      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a,InputInLoop) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"         ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
+      <PyFunc><![CDATA[    return a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadInputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:57:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:57:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:9:7</creation-date>
+    <lastmodification-date>6/6/2005 - 11:9:7</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadInputInLoop2</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 71c7c77971924ed89ec4f3e9639bd2c57de1db5f..0297578871f8fc175292cbff5a68a834c506e219 100755 (executable)
@@ -15,18 +15,17 @@ def DefGraphBadInputInLoop3() :
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *     ' )
-    PyIsOdd.append( 'def IsOdd(a,Even,InputInLoop) :         ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
-    PyIsOdd.append( '    sleep( 1 )     ' )
-    PyIsOdd.append( '    return a       ' )
+    PyIsOdd.append( 'from time import *      ' )
+    PyIsOdd.append( 'def IsOdd(a,InputInLoop) :          ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"         ' )
+    PyIsOdd.append( '    sleep( 1 )      ' )
+    PyIsOdd.append( '    return a        ' )
     IsOdd = GraphBadInputInLoop3.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddInputInLoop = IsOdd.InPort( 'InputInLoop' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
@@ -65,7 +64,7 @@ def DefGraphBadInputInLoop3() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -83,6 +82,7 @@ def DefGraphBadInputInLoop3() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -123,8 +123,6 @@ def DefGraphBadInputInLoop3() :
     
     # Creation of Links
     LIsOddaEndSwitcha = GraphBadInputInLoop3.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
     
     LInitLoopIndexSwitcha = GraphBadInputInLoop3.Link( OInitLoopIndex , ISwitcha )
     
@@ -134,13 +132,7 @@ def DefGraphBadInputInLoop3() :
     
     LSwitchEvenEndSwitchDefault = GraphBadInputInLoop3.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadInputInLoop3.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
-    
     LSwitchaIsOdda = GraphBadInputInLoop3.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
     
     LEndSwitchaEndOfInitLoopIndex = GraphBadInputInLoop3.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
@@ -150,13 +142,11 @@ def DefGraphBadInputInLoop3() :
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Input Ports of the graph
     #IIsOddInputInLoop = IsOdd.GetInPort( 'InputInLoop' )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
index 46199ef460372916e6355fcac639ed7f1111d627..c0f38ffc45367c86379776ef9c235918a0e7bf5b 100755 (executable)
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -45,7 +39,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 11:13:36</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -66,9 +60,6 @@
 <inParameter-type>long</inParameter-type>
        <inParameter-name>a</inParameter-name>      </inParameter>
       <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>
-      <inParameter>
 <inParameter-type>boolean</inParameter-type>
        <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even,InputInLoop) :         ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
-      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a,InputInLoop) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"         ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
+      <PyFunc><![CDATA[    return a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadInputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:23</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:23</lastmodification-date>
+    <creation-date>6/6/2005 - 11:11:59</creation-date>
+    <lastmodification-date>6/6/2005 - 11:11:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadInputInLoop3</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 28c91d9ab21be2c53d700d968cf16a8677ee4938..f6478a7613112fab6e7a2cca078bbc48d2ce7300 100755 (executable)
@@ -15,18 +15,17 @@ def DefGraphBadOutputOfLoop() :
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *     ' )
-    PyIsOdd.append( 'def IsOdd(a,Even,InputInLoop) :         ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
-    PyIsOdd.append( '    sleep( 1 )     ' )
-    PyIsOdd.append( '    return a       ' )
+    PyIsOdd.append( 'from time import *      ' )
+    PyIsOdd.append( 'def IsOdd(a,InputInLoop) :          ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"         ' )
+    PyIsOdd.append( '    sleep( 1 )      ' )
+    PyIsOdd.append( '    return a        ' )
     IsOdd = GraphBadOutputOfLoop.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddInputInLoop = IsOdd.InPort( 'InputInLoop' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
@@ -65,7 +64,7 @@ def DefGraphBadOutputOfLoop() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -83,6 +82,7 @@ def DefGraphBadOutputOfLoop() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -123,8 +123,6 @@ def DefGraphBadOutputOfLoop() :
     
     # Creation of Links
     LIsOddaEndSwitcha = GraphBadOutputOfLoop.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
     
     LInitLoopIndexSwitcha = GraphBadOutputOfLoop.Link( OInitLoopIndex , ISwitcha )
     
@@ -134,27 +132,21 @@ def DefGraphBadOutputOfLoop() :
     
     LSwitchEvenEndSwitchDefault = GraphBadOutputOfLoop.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadOutputOfLoop.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
-    
     LSwitchaIsOdda = GraphBadOutputOfLoop.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
     
     LEndSwitchaEndOfInitLoopIndex = GraphBadOutputOfLoop.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
     LEndSwitchaBadOutputOfLoopOutputOfLoop = GraphBadOutputOfLoop.Link( OEndSwitcha , IBadOutputOfLoopOutputOfLoop )
     
     # Input datas
-    IIsOddInputInLoop.Input( 136306160 )
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
+    
+    # Input Ports of the graph
+    #IIsOddInputInLoop = IsOdd.GetInPort( 'InputInLoop' )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
index 1965e84db99edcd783be5205615e7fcadcc37b72..92424d7f69b85410dd8390adbac0672f616ab90d 100755 (executable)
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -42,7 +36,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 11:19:39</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -63,9 +57,6 @@
 <inParameter-type>long</inParameter-type>
        <inParameter-name>a</inParameter-name>      </inParameter>
       <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>
-      <inParameter>
 <inParameter-type>boolean</inParameter-type>
        <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even,InputInLoop) :         ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
-      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a,InputInLoop) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"         ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
+      <PyFunc><![CDATA[    return a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadOutputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:58:56</creation-date>
-    <lastmodification-date>14/12/2004 - 15:58:56</lastmodification-date>
+    <creation-date>6/6/2005 - 11:18:37</creation-date>
+    <lastmodification-date>6/6/2005 - 11:18:37</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphBadOutputOfLoop</fromnode-name>
-    <fromserviceparameter-name>IsOdd__InputInLoop</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>InputInLoop</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136306160</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
 <fromnode-name>GraphBadOutputOfLoop</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadOutputOfLoop</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 3405c93a7f01d829cd9a57ed1fde9a9384562d70..700af331c4a681f2789c6d58fa0e87bd4d8645af 100755 (executable)
@@ -15,19 +15,17 @@ def DefGraphBadOutputOfLoop1() :
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *     ' )
-    PyIsOdd.append( 'def IsOdd(a,Even,InputInLoop) :         ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
-    PyIsOdd.append( '    sleep( 1 )     ' )
-    PyIsOdd.append( '    return a       ' )
+    PyIsOdd.append( 'from time import *       ' )
+    PyIsOdd.append( 'def IsOdd(a) :           ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"          ' )
+    PyIsOdd.append( '    sleep( 1 )       ' )
+    PyIsOdd.append( '    return a         ' )
     IsOdd = GraphBadOutputOfLoop1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
-    IIsOddInputInLoop = IsOdd.InPort( 'InputInLoop' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
@@ -65,7 +63,7 @@ def DefGraphBadOutputOfLoop1() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -83,6 +81,7 @@ def DefGraphBadOutputOfLoop1() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -123,8 +122,6 @@ def DefGraphBadOutputOfLoop1() :
     
     # Creation of Links
     LIsOddaEndSwitcha = GraphBadOutputOfLoop1.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
     
     LInitLoopIndexSwitcha = GraphBadOutputOfLoop1.Link( OInitLoopIndex , ISwitcha )
     
@@ -136,22 +133,14 @@ def DefGraphBadOutputOfLoop1() :
     
     LSwitchEvenEndSwitchDefault = GraphBadOutputOfLoop1.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadOutputOfLoop1.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
-    
     LSwitchaIsOdda = GraphBadOutputOfLoop1.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
     
     LEndSwitchaEndOfInitLoopIndex = GraphBadOutputOfLoop1.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
     # Input datas
-    IIsOddInputInLoop.Input( 136306160 )
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Output Ports of the graph
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
index 6f0ed9468246782325122e4fd11dfe90b4fd8b5c..8c6419cc24c54e33d9a4c920da96bfb785540a38 100755 (executable)
@@ -12,9 +12,6 @@
 <service-name>GraphBadOutputOfLoop1</service-name>
      <inParameter-list>
 <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>IsOdd__InputInLoop</inParameter-name>      </inParameter>
-      <inParameter>
 <inParameter-type>long</inParameter-type>
        <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
       <inParameter>
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
@@ -39,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 11:25:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even,InputInLoop) :         ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
-      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+      <PyFunc><![CDATA[from time import *       ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :           ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"          ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )       ]]></PyFunc>
+      <PyFunc><![CDATA[    return a         ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadOutputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:22</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:22</lastmodification-date>
+    <creation-date>6/6/2005 - 11:23:48</creation-date>
+    <lastmodification-date>6/6/2005 - 11:23:48</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphBadOutputOfLoop1</fromnode-name>
-    <fromserviceparameter-name>IsOdd__InputInLoop</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>InputInLoop</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136306160</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
 <fromnode-name>GraphBadOutputOfLoop1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadOutputOfLoop1</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index a0a71f11c0f89733f0480982945d545ac84477e1..6beae230356ee55398f6f681116cc96e9ae48862 100755 (executable)
@@ -15,19 +15,17 @@ def DefGraphBadOutputOfLoop2() :
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *     ' )
-    PyIsOdd.append( 'def IsOdd(a,Even,InputInLoop) :         ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
-    PyIsOdd.append( '    sleep( 1 )     ' )
-    PyIsOdd.append( '    return a       ' )
+    PyIsOdd.append( 'from time import *      ' )
+    PyIsOdd.append( 'def IsOdd(a) :          ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"         ' )
+    PyIsOdd.append( '    sleep( 1 )      ' )
+    PyIsOdd.append( '    return a        ' )
     IsOdd = GraphBadOutputOfLoop2.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
-    IIsOddInputInLoop = IsOdd.InPort( 'InputInLoop' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
@@ -65,7 +63,7 @@ def DefGraphBadOutputOfLoop2() :
     PyEndOfInitLoop.append( '          DoLoop = 0     ' )
     PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
     EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-    IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
     IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
     IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
     IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
@@ -83,6 +81,7 @@ def DefGraphBadOutputOfLoop2() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -123,8 +122,6 @@ def DefGraphBadOutputOfLoop2() :
     
     # Creation of Links
     LIsOddaEndSwitcha = GraphBadOutputOfLoop2.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
     
     LInitLoopIndexSwitcha = GraphBadOutputOfLoop2.Link( OInitLoopIndex , ISwitcha )
     
@@ -134,27 +131,18 @@ def DefGraphBadOutputOfLoop2() :
     
     LSwitchEvenEndSwitchDefault = GraphBadOutputOfLoop2.Link( OSwitchEven , IEndSwitchDefault )
     
-    LSwitchEvenIsOddEven = GraphBadOutputOfLoop2.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
+    LSwitchaBadOutputOfLoopOutputOfLoop = GraphBadOutputOfLoop2.Link( OSwitcha , IBadOutputOfLoopOutputOfLoop )
     
     LSwitchaIsOdda = GraphBadOutputOfLoop2.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
-    
-    LSwitchaBadOutputOfLoopOutputOfLoop = GraphBadOutputOfLoop2.Link( OSwitcha , IBadOutputOfLoopOutputOfLoop )
     
     LEndSwitchaEndOfInitLoopIndex = GraphBadOutputOfLoop2.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
     # Input datas
-    IIsOddInputInLoop.Input( 136306160 )
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
     IInitLoopMax.Input( 100 )
-    IEndOfInitLoopMax.Input( 136221856 )
     
     # Output Ports of the graph
-    #OInitLoopMax = InitLoop.GetOutPort( 'Max' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
index 83617b08fd1716d78debc4788b62b00bdd0eb8c0..b9c3e241d6c29474bd67bbc5a91ba63d3cef8d81 100755 (executable)
@@ -12,9 +12,6 @@
 <service-name>GraphBadOutputOfLoop2</service-name>
      <inParameter-list>
 <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>IsOdd__InputInLoop</inParameter-name>      </inParameter>
-      <inParameter>
 <inParameter-type>long</inParameter-type>
        <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
       <inParameter>
        <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>EndOfInitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>InitLoop__Max</outParameter-name>      </outParameter>
-      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -42,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 11:27:14</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>InputInLoop</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even,InputInLoop) :         ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
-      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"         ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
+      <PyFunc><![CDATA[    return a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def BadOutputOfLoop() : ]]></PyFunc>
       <PyFunc><![CDATA[        return 1 ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>14/12/2004 - 15:59:49</creation-date>
-    <lastmodification-date>14/12/2004 - 15:59:49</lastmodification-date>
+    <creation-date>6/6/2005 - 11:26:44</creation-date>
+    <lastmodification-date>6/6/2005 - 11:26:44</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
 <fromnode-name>EndOfInitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
-    <toserviceparameter-name>InitLoop</toserviceparameter-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>BadOutputOfLoop</tonode-name>
+    <toserviceparameter-name>OutputOfLoop</toserviceparameter-name>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
-   <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>a</fromserviceparameter-name>
-    <tonode-name>BadOutputOfLoop</tonode-name>
-    <toserviceparameter-name>OutputOfLoop</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphBadOutputOfLoop2</fromnode-name>
-    <fromserviceparameter-name>IsOdd__InputInLoop</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>InputInLoop</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136306160</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
 <fromnode-name>GraphBadOutputOfLoop2</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <data-value>
 <value-type>3</value-type>
      <value>100</value>    </data-value>
-    <coord-list/>   </data>
-   <data>
-<fromnode-name>GraphBadOutputOfLoop2</fromnode-name>
-    <fromserviceparameter-name>EndOfInitLoop__Max</fromserviceparameter-name>
-    <tonode-name>EndOfInitLoop</tonode-name>
-    <toserviceparameter-name>Max</toserviceparameter-name>
-    <data-value>
-<value-type>3</value-type>
-     <value>136221856</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphBugEditor.py b/examples/GraphBugEditor.py
new file mode 100644 (file)
index 0000000..14c339e
--- /dev/null
@@ -0,0 +1,97 @@
+
+# Generated python file of Graph GraphBugEditor
+
+from SuperV import *
+
+# Graph creation of GraphBugEditor
+def DefGraphBugEditor() :
+    GraphBugEditor = Graph( 'GraphBugEditor' )
+    GraphBugEditor.SetName( 'GraphBugEditor' )
+    GraphBugEditor.SetAuthor( 'Nicolas Crouzet & JR' )
+    GraphBugEditor.SetComment( '' )
+    GraphBugEditor.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    Pycompute_power_1 = []
+    Pycompute_power_1.append( 'def compute_power(nitermax,eosflux,espeigenval) : ' )
+    Pycompute_power_1.append( '    return 1 ' )
+    compute_power_1 = GraphBugEditor.INode( 'compute_power' , Pycompute_power_1 )
+    compute_power_1.SetName( 'compute_power_1' )
+    compute_power_1.SetAuthor( '' )
+    compute_power_1.SetComment( 'Compute Node' )
+    compute_power_1.Coords( 226 , 103 )
+    Icompute_power_1nitermax = compute_power_1.InPort( 'nitermax' , 'long' )
+    Icompute_power_1epsflux = compute_power_1.InPort( 'epsflux' , 'long' )
+    Icompute_power_1espeigenval = compute_power_1.InPort( 'espeigenval' , 'long' )
+    Icompute_power_1Gate = compute_power_1.GetInPort( 'Gate' )
+    Ocompute_power_1return = compute_power_1.OutPort( 'return' , 'long' )
+    Ocompute_power_1Gate = compute_power_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def Loop(it,itMax):         ' )
+    PyLoop.append( '    return it,itMax           ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def More(it,itMax): ' )
+    PyMoreLoop.append( '    if it<=itMax : ' )
+    PyMoreLoop.append( '        DoLoop=1 ' )
+    PyMoreLoop.append( '    else: ' )
+    PyMoreLoop.append( '        DoLoop=0         ' )
+    PyMoreLoop.append( '    return DoLoop,it,itMax           ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def Next(it,itMax): ' )
+    PyNextLoop.append( '    it+=1         ' )
+    PyNextLoop.append( '    return it,itMax           ' )
+    Loop,EndLoop = GraphBugEditor.LNode( 'Loop' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
+    EndLoop.SetName( 'EndLoop' )
+    EndLoop.SetAuthor( '' )
+    EndLoop.SetComment( 'Compute Node' )
+    EndLoop.Coords( 426 , 161 )
+    PyEndLoop = []
+    EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopit = Loop.InPort( 'it' , 'int' )
+    ILoopitMax = Loop.InPort( 'itMax' , 'int' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopit = Loop.GetOutPort( 'it' )
+    OLoopitMax = Loop.GetOutPort( 'itMax' )
+    IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+    IEndLoopit = EndLoop.GetInPort( 'it' )
+    IEndLoopitMax = EndLoop.GetInPort( 'itMax' )
+    IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+    OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+    OEndLoopit = EndLoop.GetOutPort( 'it' )
+    OEndLoopitMax = EndLoop.GetOutPort( 'itMax' )
+    OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 21 , 161 )
+    
+    # Creation of Links
+    LLoopitEndLoopit = GraphBugEditor.Link( OLoopit , IEndLoopit )
+    
+    LLoopitMaxEndLoopitMax = GraphBugEditor.Link( OLoopitMax , IEndLoopitMax )
+    
+    LLoopGatecompute_power_1Gate = GraphBugEditor.Link( OLoopGate , Icompute_power_1Gate )
+    
+    # Input datas
+    ILoopit.Input( 1 )
+    ILoopitMax.Input( 5 )
+    
+    # Input Ports of the graph
+    #Icompute_power_1nitermax = compute_power_1.GetInPort( 'nitermax' )
+    #Icompute_power_1epsflux = compute_power_1.GetInPort( 'epsflux' )
+    #Icompute_power_1espeigenval = compute_power_1.GetInPort( 'espeigenval' )
+    
+    # Output Ports of the graph
+    #OEndLoopit = EndLoop.GetOutPort( 'it' )
+    #OEndLoopitMax = EndLoop.GetOutPort( 'itMax' )
+    #Ocompute_power_1return = compute_power_1.GetOutPort( 'return' )
+    return GraphBugEditor
+
+
+GraphBugEditor = DefGraphBugEditor()
diff --git a/examples/GraphBugEditor.xml b/examples/GraphBugEditor.xml
new file mode 100644 (file)
index 0000000..a2c82ca
--- /dev/null
@@ -0,0 +1,207 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphBugEditor</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphBugEditor</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>Loop__it</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>Loop__itMax</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>compute_power_1__nitermax</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>compute_power_1__epsflux</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>compute_power_1__espeigenval</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>EndLoop__it</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>EndLoop__itMax</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>compute_power_1__return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>10/6/2005 - 11:33:49</creation-date>
+    <lastmodification-date>7/7/2005 - 11:39:27</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>Nicolas Crouzet &amp; 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>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoop</coupled-node>
+    <service>
+<service-name>Loop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>it</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>itMax</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>it</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>itMax</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Loop</FuncName>
+      <PyFunc><![CDATA[def Loop(it,itMax):         ]]></PyFunc>
+      <PyFunc><![CDATA[    return it,itMax           ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(it,itMax): ]]></PyFunc>
+      <PyFunc><![CDATA[    if it<=itMax : ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop=1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else: ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop=0         ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,it,itMax           ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(it,itMax): ]]></PyFunc>
+      <PyFunc><![CDATA[    it+=1         ]]></PyFunc>
+      <PyFunc><![CDATA[    return it,itMax           ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/7/2005 - 11:37:23</creation-date>
+    <lastmodification-date>7/7/2005 - 11:37:23</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>21</x-position>
+    <y-position>161</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndLoop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>it</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>itMax</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>it</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>itMax</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoop</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/7/2005 - 11:37:23</creation-date>
+    <lastmodification-date>7/7/2005 - 11:37:23</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>426</x-position>
+    <y-position>161</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>compute_power_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>compute_power_1</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>compute_power</FuncName>
+      <PyFunc><![CDATA[def compute_power(nitermax,eosflux,espeigenval) : ]]></PyFunc>
+      <PyFunc><![CDATA[    return 1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>7/7/2005 - 11:38:24</creation-date>
+    <lastmodification-date>7/7/2005 - 11:38:24</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>226</x-position>
+    <y-position>103</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>it</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>it</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>itMax</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>itMax</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>compute_power_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphBugEditor</fromnode-name>
+    <fromserviceparameter-name>Loop__it</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>it</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphBugEditor</fromnode-name>
+    <fromserviceparameter-name>Loop__itMax</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>itMax</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>5</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphConvertObjRefCheckNotCompatible.py b/examples/GraphConvertObjRefCheckNotCompatible.py
new file mode 100644 (file)
index 0000000..e81c268
--- /dev/null
@@ -0,0 +1,112 @@
+
+# Generated python file of Graph GraphConvertObjRefCheckNotCompatible
+
+from SuperV import *
+
+# Graph creation of GraphConvertObjRefCheckNotCompatible
+def DefGraphConvertObjRefCheckNotCompatible() :
+    GraphConvertObjRefCheckNotCompatible = Graph( 'GraphConvertObjRefCheckNotCompatible' )
+    GraphConvertObjRefCheckNotCompatible.SetName( 'GraphConvertObjRefCheckNotCompatible' )
+    GraphConvertObjRefCheckNotCompatible.SetAuthor( 'JR' )
+    GraphConvertObjRefCheckNotCompatible.SetComment( 'Check conversions of ObjRef' )
+    GraphConvertObjRefCheckNotCompatible.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    MiscTypes = GraphConvertObjRefCheckNotCompatible.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+    MiscTypes.SetName( 'MiscTypes' )
+    MiscTypes.SetAuthor( '' )
+    MiscTypes.SetContainer( 'localhost/FactoryServer' )
+    MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+    MiscTypes.Coords( 284 , 28 )
+    IMiscTypesInString = MiscTypes.GetInPort( 'InString' )
+    IMiscTypesInBool = MiscTypes.GetInPort( 'InBool' )
+    IMiscTypesInChar = MiscTypes.GetInPort( 'InChar' )
+    IMiscTypesInShort = MiscTypes.GetInPort( 'InShort' )
+    IMiscTypesInLong = MiscTypes.GetInPort( 'InLong' )
+    IMiscTypesInFloat = MiscTypes.GetInPort( 'InFloat' )
+    IMiscTypesInDouble = MiscTypes.GetInPort( 'InDouble' )
+    IMiscTypesInObjRef = MiscTypes.GetInPort( 'InObjRef' )
+    IMiscTypesGate = MiscTypes.GetInPort( 'Gate' )
+    OMiscTypesOutString = MiscTypes.GetOutPort( 'OutString' )
+    OMiscTypesOutBool = MiscTypes.GetOutPort( 'OutBool' )
+    OMiscTypesOutChar = MiscTypes.GetOutPort( 'OutChar' )
+    OMiscTypesOutShort = MiscTypes.GetOutPort( 'OutShort' )
+    OMiscTypesOutLong = MiscTypes.GetOutPort( 'OutLong' )
+    OMiscTypesOutFloat = MiscTypes.GetOutPort( 'OutFloat' )
+    OMiscTypesOutDouble = MiscTypes.GetOutPort( 'OutDouble' )
+    OMiscTypesOutObjRef = MiscTypes.GetOutPort( 'OutObjRef' )
+    OMiscTypesGate = MiscTypes.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PySyrComponent = []
+    PySyrComponent.append( 'from LifeCycleCORBA import *     ' )
+    PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :     ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+    PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ' )
+    PySyrComponent.append( '    print "SyrComponent orb",orb   ' )
+    PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)     ' )
+    PySyrComponent.append( '    print "SyrComponent lcc",lcc   ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+    PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ' )
+    PySyrComponent.append( '    return ComponentRef    ' )
+    PySyrComponent.append( '' )
+    SyrComponent = GraphConvertObjRefCheckNotCompatible.INode( 'SyrComponent' , PySyrComponent )
+    SyrComponent.SetName( 'SyrComponent' )
+    SyrComponent.SetAuthor( 'JR' )
+    SyrComponent.SetComment( 'InLine Node' )
+    SyrComponent.Coords( 14 , 114 )
+    ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
+    ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
+    ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
+    OSyrComponentanObjRef = SyrComponent.OutPort( 'anObjRef' , 'objref' )
+    OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
+    
+    PyObjRefToInline = []
+    PyObjRefToInline.append( 'def ObjRefToInline(objRef): ' )
+    PyObjRefToInline.append( '    return objRef ' )
+    ObjRefToInline = GraphConvertObjRefCheckNotCompatible.INode( 'ObjRefToInline' , PyObjRefToInline )
+    ObjRefToInline.SetName( 'ObjRefToInline' )
+    ObjRefToInline.SetAuthor( '' )
+    ObjRefToInline.SetComment( 'Compute Node' )
+    ObjRefToInline.Coords( 496 , 168 )
+    IObjRefToInlinetoInLine = ObjRefToInline.InPort( 'toInLine' , 'int' )
+    IObjRefToInlineGate = ObjRefToInline.GetInPort( 'Gate' )
+    OObjRefToInlineGate = ObjRefToInline.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LSyrComponentanObjRefMiscTypesInObjRef = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInObjRef )
+    
+    LSyrComponentanObjRefMiscTypesInString = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInString )
+    
+    LSyrComponentanObjRefMiscTypesInBool = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInBool )
+    
+    LSyrComponentanObjRefMiscTypesInChar = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInChar )
+    
+    LSyrComponentanObjRefMiscTypesInShort = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInShort )
+    
+    LSyrComponentanObjRefMiscTypesInLong = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInLong )
+    
+    LSyrComponentanObjRefMiscTypesInFloat = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInFloat )
+    
+    LSyrComponentanObjRefMiscTypesInDouble = GraphConvertObjRefCheckNotCompatible.Link( OSyrComponentanObjRef , IMiscTypesInDouble )
+    
+    LMiscTypesOutObjRefObjRefToInlinetoInLine = GraphConvertObjRefCheckNotCompatible.Link( OMiscTypesOutObjRef , IObjRefToInlinetoInLine )
+    
+    # Input datas
+    ISyrComponentaContainer.Input( 'FactoryServerPy' )
+    ISyrComponentaComponent.Input( 'SyrControlComponent' )
+    
+    # Output Ports of the graph
+    #OMiscTypesOutString = MiscTypes.GetOutPort( 'OutString' )
+    #OMiscTypesOutBool = MiscTypes.GetOutPort( 'OutBool' )
+    #OMiscTypesOutChar = MiscTypes.GetOutPort( 'OutChar' )
+    #OMiscTypesOutShort = MiscTypes.GetOutPort( 'OutShort' )
+    #OMiscTypesOutLong = MiscTypes.GetOutPort( 'OutLong' )
+    #OMiscTypesOutFloat = MiscTypes.GetOutPort( 'OutFloat' )
+    #OMiscTypesOutDouble = MiscTypes.GetOutPort( 'OutDouble' )
+    return GraphConvertObjRefCheckNotCompatible
+
+
+GraphConvertObjRefCheckNotCompatible = DefGraphConvertObjRefCheckNotCompatible()
diff --git a/examples/GraphConvertObjRefCheckNotCompatible.xml b/examples/GraphConvertObjRefCheckNotCompatible.xml
new file mode 100644 (file)
index 0000000..4299d4e
--- /dev/null
@@ -0,0 +1,264 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphConvertObjRefCheckNotCompatible</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphConvertObjRefCheckNotCompatible</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>SyrComponent__aContainer</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>SyrComponent__aComponent</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>MiscTypes__OutString</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>MiscTypes__OutBool</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>char</outParameter-type>
+       <outParameter-name>MiscTypes__OutChar</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>short</outParameter-type>
+       <outParameter-name>MiscTypes__OutShort</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MiscTypes__OutLong</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>float</outParameter-type>
+       <outParameter-name>MiscTypes__OutFloat</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>MiscTypes__OutDouble</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>30/7/2003 - 14:23:52</creation-date>
+    <lastmodification-date>20/6/2005 - 11:34:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Check conversions of ObjRef</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>SyrComponent</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SyrComponent</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>aContainer</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>aComponent</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+       <outParameter-name>anObjRef</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SyrComponent</FuncName>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent orb",orb   ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent lcc",lcc   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+      <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ]]></PyFunc>
+      <PyFunc><![CDATA[    return ComponentRef    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>20/6/2005 - 11:31:43</creation-date>
+    <lastmodification-date>20/6/2005 - 11:31:43</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>InLine Node</comment>
+    <x-position>14</x-position>
+    <y-position>114</y-position>   </node>
+   <node>
+<component-name>TypesCheck</component-name>
+    <interface-name>TypesCheck</interface-name>
+    <node-name>MiscTypes</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>MiscTypes</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>InString</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>InBool</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>char</inParameter-type>
+       <inParameter-name>InChar</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>short</inParameter-type>
+       <inParameter-name>InShort</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InLong</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>float</inParameter-type>
+       <inParameter-name>InFloat</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>InDouble</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+       <inParameter-name>InObjRef</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OutString</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>OutBool</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>char</outParameter-type>
+       <outParameter-name>OutChar</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>short</outParameter-type>
+       <outParameter-name>OutShort</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>OutLong</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>float</outParameter-type>
+       <outParameter-name>OutFloat</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>OutDouble</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+       <outParameter-name>OutObjRef</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>20/6/2005 - 11:31:43</creation-date>
+    <lastmodification-date>20/6/2005 - 11:31:43</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>MiscTypes from TypesCheck</comment>
+    <x-position>284</x-position>
+    <y-position>28</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>ObjRefToInline</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>ObjRefToInline</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+       <inParameter-name>toInLine</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ObjRefToInline</FuncName>
+      <PyFunc><![CDATA[def ObjRefToInline(objRef): ]]></PyFunc>
+      <PyFunc><![CDATA[    return objRef ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>20/6/2005 - 11:31:43</creation-date>
+    <lastmodification-date>20/6/2005 - 11:31:43</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>496</x-position>
+    <y-position>168</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InObjRef</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InString</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InBool</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InChar</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InShort</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InLong</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InFloat</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>MiscTypes</tonode-name>
+    <toserviceparameter-name>InDouble</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>MiscTypes</fromnode-name>
+    <fromserviceparameter-name>OutObjRef</fromserviceparameter-name>
+    <tonode-name>ObjRefToInline</tonode-name>
+    <toserviceparameter-name>toInLine</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphConvertObjRefCheckNotCompatible</fromnode-name>
+    <fromserviceparameter-name>SyrComponent__aContainer</fromserviceparameter-name>
+    <tonode-name>SyrComponent</tonode-name>
+    <toserviceparameter-name>aContainer</toserviceparameter-name>
+    <data-value>
+<value-type>18</value-type>
+     <value><![CDATA[FactoryServerPy]]></value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphConvertObjRefCheckNotCompatible</fromnode-name>
+    <fromserviceparameter-name>SyrComponent__aComponent</fromserviceparameter-name>
+    <tonode-name>SyrComponent</tonode-name>
+    <toserviceparameter-name>aComponent</toserviceparameter-name>
+    <data-value>
+<value-type>18</value-type>
+     <value><![CDATA[SyrControlComponent]]></value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphEditGraphSwitchs.py b/examples/GraphEditGraphSwitchs.py
new file mode 100644 (file)
index 0000000..9dff962
--- /dev/null
@@ -0,0 +1,61 @@
+
+from GraphSwitchs import *
+
+GraphSwitchs.SetName('GraphEditSwitchs')
+GraphEditSwitchs = GraphSwitchs
+
+exec GraphEditSwitchs.ListNodes()
+InitLoopSwitch.destroy()
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_1.py')
+
+exec InitLoop.ListPorts()
+exec Switch.ListPorts()
+
+GraphEditSwitchs.Link( OInitLoopIndex , ISwitcha )
+
+exec EndOfInitLoop.ListPorts()
+IEndOfInitLoopIndex.Link().destroy()
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_2.py')
+
+exec EndOfSwitch.ListPorts()
+GraphEditSwitchs.Link(OEndOfSwitcha,IEndOfInitLoopIndex)
+
+exec EndSwitch.ListPorts()
+GraphEditSwitchs.Link(OEndSwitchGate,IEndOfInitLoopGate)
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_3.py')
+
+IsOdd_1.SetName('IsEven')
+IsEven = IsOdd_1
+
+exec IsEven.ListPorts()
+IIsEvena.Link().destroy()
+
+IIsEvenGate.Link().destroy()
+
+exec Switch_1.ListPorts()
+GraphEditSwitchs.Link(OSwitch_1Even,IIsEvenGate)
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_4.py')
+
+GraphEditSwitchs.PrintLinks()
+
+L = GraphEditSwitchs.Link(OSwitch_1Even,IEndSwitchDefault)
+L.destroy()
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_5.py')
+
+GraphEditSwitchs.Link(OSwitch_1Default,IEndSwitchDefault)
+
+GraphEditSwitchs.Link(OSwitch_1a,IIsEvena)
+
+GraphEditSwitchs.Export('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_5.py')
+
+Switch_1.SetName('')
+
+from SuperV import *
+
+GraphEditSwitchs = Graph('/sal_01/salome/SalomePALHead_15_11_2004/SUPERV_SRC/examples/GraphEditGraphSwitchs_3.xml')
+
diff --git a/examples/GraphEditGraphSwitchs_1.py b/examples/GraphEditGraphSwitchs_1.py
new file mode 100644 (file)
index 0000000..d848151
--- /dev/null
@@ -0,0 +1,204 @@
+
+# Generated python file of Graph GraphEditSwitchs
+
+from SuperV import *
+
+# Graph creation of GraphEditSwitchs
+def DefGraphEditSwitchs() :
+    GraphEditSwitchs = Graph( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetName( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetAuthor( '' )
+    GraphEditSwitchs.SetComment( '' )
+    GraphEditSwitchs.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 388 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *   ' )
+    PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+    PyIsOdd_1.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+    PyIsOdd_1.append( '    sleep( 1 )   ' )
+    PyIsOdd_1.append( '    return a     ' )
+    IsOdd_1 = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 419 , 308 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphEditSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 783 , 381 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 388 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 605 , 382 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 193 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphEditSwitchs.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 573 , 160 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 572 , 130 )
+    
+    LIsOdd_1aEndSwitcha = GraphEditSwitchs.Link( OIsOdd_1a , IEndSwitcha )
+    LIsOdd_1aEndSwitcha.AddCoord( 1 , 599 , 416 )
+    LIsOdd_1aEndSwitcha.AddCoord( 2 , 598 , 389 )
+    
+    LInitLoopIndexSwitch_1a = GraphEditSwitchs.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphEditSwitchs.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphEditSwitchs.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphEditSwitchs.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphEditSwitchs.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 365 , 129 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 222 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphEditSwitchs.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+    
+    LSwitch_1OddIsOdd_1Gate = GraphEditSwitchs.Link( OSwitch_1Odd , IIsOdd_1Gate )
+    
+    LSwitch_1EvenEndSwitchDefault = GraphEditSwitchs.Link( OSwitch_1Even , IEndSwitchDefault )
+    
+    LSwitch_1aIsOdd_1a = GraphEditSwitchs.Link( OSwitch_1a , IIsOdd_1a )
+    LSwitch_1aIsOdd_1a.AddCoord( 1 , 379 , 387 )
+    LSwitch_1aIsOdd_1a.AddCoord( 2 , 378 , 481 )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphEditSwitchs.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Input Ports of the graph
+    #ISwitcha = Switch.GetInPort( 'a' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndOfSwitcha = EndOfSwitch.GetOutPort( 'a' )
+    return GraphEditSwitchs
+
+
+GraphEditSwitchs = DefGraphEditSwitchs()
diff --git a/examples/GraphEditGraphSwitchs_1.xml b/examples/GraphEditGraphSwitchs_1.xml
new file mode 100644 (file)
index 0000000..3cad031
--- /dev/null
@@ -0,0 +1,493 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEditSwitchs</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEditSwitchs</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Switch__a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfSwitch__a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>388</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>419</x-position>
+    <y-position>308</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>783</x-position>
+    <y-position>381</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>193</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>605</x-position>
+    <y-position>382</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>573</x>
+      <y>160</y>     </coord>
+     <coord>
+<x>572</x>
+      <y>130</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>599</x>
+      <y>416</y>     </coord>
+     <coord>
+<x>598</x>
+      <y>389</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>365</x>
+      <y>129</y>     </coord>
+     <coord>
+<x>365</x>
+      <y>222</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>572</x>
+      <y>194</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>257</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>379</x>
+      <y>387</y>     </coord>
+     <coord>
+<x>378</x>
+      <y>481</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphEditGraphSwitchs_2.py b/examples/GraphEditGraphSwitchs_2.py
new file mode 100644 (file)
index 0000000..df8833b
--- /dev/null
@@ -0,0 +1,205 @@
+
+# Generated python file of Graph GraphEditSwitchs
+
+from SuperV import *
+
+# Graph creation of GraphEditSwitchs
+def DefGraphEditSwitchs() :
+    GraphEditSwitchs = Graph( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetName( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetAuthor( '' )
+    GraphEditSwitchs.SetComment( '' )
+    GraphEditSwitchs.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 388 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *   ' )
+    PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+    PyIsOdd_1.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+    PyIsOdd_1.append( '    sleep( 1 )   ' )
+    PyIsOdd_1.append( '    return a     ' )
+    IsOdd_1 = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 419 , 308 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphEditSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 783 , 381 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 388 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 605 , 382 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 193 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphEditSwitchs.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 573 , 160 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 572 , 130 )
+    
+    LIsOdd_1aEndSwitcha = GraphEditSwitchs.Link( OIsOdd_1a , IEndSwitcha )
+    LIsOdd_1aEndSwitcha.AddCoord( 1 , 599 , 416 )
+    LIsOdd_1aEndSwitcha.AddCoord( 2 , 598 , 389 )
+    
+    LInitLoopIndexSwitch_1a = GraphEditSwitchs.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopIndexSwitcha = GraphEditSwitchs.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphEditSwitchs.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphEditSwitchs.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphEditSwitchs.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphEditSwitchs.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 365 , 129 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 222 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphEditSwitchs.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+    
+    LSwitch_1OddIsOdd_1Gate = GraphEditSwitchs.Link( OSwitch_1Odd , IIsOdd_1Gate )
+    
+    LSwitch_1EvenEndSwitchDefault = GraphEditSwitchs.Link( OSwitch_1Even , IEndSwitchDefault )
+    
+    LSwitch_1aIsOdd_1a = GraphEditSwitchs.Link( OSwitch_1a , IIsOdd_1a )
+    LSwitch_1aIsOdd_1a.AddCoord( 1 , 379 , 387 )
+    LSwitch_1aIsOdd_1a.AddCoord( 2 , 378 , 481 )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Input Ports of the graph
+    #IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndOfSwitcha = EndOfSwitch.GetOutPort( 'a' )
+    #OEndSwitcha = EndSwitch.GetOutPort( 'a' )
+    return GraphEditSwitchs
+
+
+GraphEditSwitchs = DefGraphEditSwitchs()
diff --git a/examples/GraphEditGraphSwitchs_2.xml b/examples/GraphEditGraphSwitchs_2.xml
new file mode 100644 (file)
index 0000000..6932cd9
--- /dev/null
@@ -0,0 +1,496 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEditSwitchs</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEditSwitchs</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfInitLoop__Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfSwitch__a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch__a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:12</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>388</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>419</x-position>
+    <y-position>308</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>783</x-position>
+    <y-position>381</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>193</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>605</x-position>
+    <y-position>382</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>573</x>
+      <y>160</y>     </coord>
+     <coord>
+<x>572</x>
+      <y>130</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>599</x>
+      <y>416</y>     </coord>
+     <coord>
+<x>598</x>
+      <y>389</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>365</x>
+      <y>129</y>     </coord>
+     <coord>
+<x>365</x>
+      <y>222</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>572</x>
+      <y>194</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>257</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>379</x>
+      <y>387</y>     </coord>
+     <coord>
+<x>378</x>
+      <y>481</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphEditGraphSwitchs_3.py b/examples/GraphEditGraphSwitchs_3.py
new file mode 100644 (file)
index 0000000..1189ba0
--- /dev/null
@@ -0,0 +1,205 @@
+
+# Generated python file of Graph GraphEditSwitchs
+
+from SuperV import *
+
+# Graph creation of GraphEditSwitchs
+def DefGraphEditSwitchs() :
+    GraphEditSwitchs = Graph( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetName( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetAuthor( '' )
+    GraphEditSwitchs.SetComment( '' )
+    GraphEditSwitchs.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 388 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *   ' )
+    PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+    PyIsOdd_1.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+    PyIsOdd_1.append( '    sleep( 1 )   ' )
+    PyIsOdd_1.append( '    return a     ' )
+    IsOdd_1 = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 419 , 308 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphEditSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 783 , 381 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 388 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 605 , 382 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 193 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphEditSwitchs.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 573 , 160 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 572 , 130 )
+    
+    LIsOdd_1aEndSwitcha = GraphEditSwitchs.Link( OIsOdd_1a , IEndSwitcha )
+    LIsOdd_1aEndSwitcha.AddCoord( 1 , 599 , 416 )
+    LIsOdd_1aEndSwitcha.AddCoord( 2 , 598 , 389 )
+    
+    LInitLoopIndexSwitch_1a = GraphEditSwitchs.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopIndexSwitcha = GraphEditSwitchs.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphEditSwitchs.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphEditSwitchs.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphEditSwitchs.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphEditSwitchs.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 365 , 129 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 222 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphEditSwitchs.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphEditSwitchs.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    LSwitch_1OddIsOdd_1Gate = GraphEditSwitchs.Link( OSwitch_1Odd , IIsOdd_1Gate )
+    
+    LSwitch_1EvenEndSwitchDefault = GraphEditSwitchs.Link( OSwitch_1Even , IEndSwitchDefault )
+    
+    LSwitch_1aIsOdd_1a = GraphEditSwitchs.Link( OSwitch_1a , IIsOdd_1a )
+    LSwitch_1aIsOdd_1a.AddCoord( 1 , 379 , 387 )
+    LSwitch_1aIsOdd_1a.AddCoord( 2 , 378 , 481 )
+    
+    LEndSwitchGateEndOfInitLoopGate = GraphEditSwitchs.Link( OEndSwitchGate , IEndOfInitLoopGate )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndSwitcha = EndSwitch.GetOutPort( 'a' )
+    return GraphEditSwitchs
+
+
+GraphEditSwitchs = DefGraphEditSwitchs()
diff --git a/examples/GraphEditGraphSwitchs_3.xml b/examples/GraphEditGraphSwitchs_3.xml
new file mode 100644 (file)
index 0000000..cd21fd0
--- /dev/null
@@ -0,0 +1,502 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEditSwitchs</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEditSwitchs</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch__a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:12</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>388</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>419</x-position>
+    <y-position>308</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>783</x-position>
+    <y-position>381</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>193</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:14:11</creation-date>
+    <lastmodification-date>3/2/2005 - 16:14:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>605</x-position>
+    <y-position>382</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>573</x>
+      <y>160</y>     </coord>
+     <coord>
+<x>572</x>
+      <y>130</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>599</x>
+      <y>416</y>     </coord>
+     <coord>
+<x>598</x>
+      <y>389</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>365</x>
+      <y>129</y>     </coord>
+     <coord>
+<x>365</x>
+      <y>222</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>572</x>
+      <y>194</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>257</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>379</x>
+      <y>387</y>     </coord>
+     <coord>
+<x>378</x>
+      <y>481</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphEditGraphSwitchs_4.py b/examples/GraphEditGraphSwitchs_4.py
new file mode 100644 (file)
index 0000000..57ad2ad
--- /dev/null
@@ -0,0 +1,206 @@
+
+# Generated python file of Graph GraphEditSwitchs
+
+from SuperV import *
+
+# Graph creation of GraphEditSwitchs
+def DefGraphEditSwitchs() :
+    GraphEditSwitchs = Graph( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetName( 'GraphEditSwitchs' )
+    GraphEditSwitchs.SetAuthor( '' )
+    GraphEditSwitchs.SetComment( '' )
+    GraphEditSwitchs.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphEditSwitchs.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 388 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *   ' )
+    PyIsEven.append( 'def IsOdd(a) :       ' )
+    PyIsEven.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+    PyIsEven.append( '    sleep( 1 )   ' )
+    PyIsEven.append( '    return a     ' )
+    IsEven = GraphEditSwitchs.INode( 'IsOdd' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 419 , 308 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphEditSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 783 , 381 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 388 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphEditSwitchs.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 605 , 382 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 193 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphEditSwitchs.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 573 , 160 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 572 , 130 )
+    
+    LIsEvenaEndSwitcha = GraphEditSwitchs.Link( OIsEvena , IEndSwitcha )
+    LIsEvenaEndSwitcha.AddCoord( 1 , 599 , 416 )
+    LIsEvenaEndSwitcha.AddCoord( 2 , 598 , 389 )
+    
+    LInitLoopIndexSwitch_1a = GraphEditSwitchs.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopIndexSwitcha = GraphEditSwitchs.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphEditSwitchs.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphEditSwitchs.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphEditSwitchs.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphEditSwitchs.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 365 , 129 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 222 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphEditSwitchs.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphEditSwitchs.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    LSwitch_1EvenEndSwitchDefault = GraphEditSwitchs.Link( OSwitch_1Even , IEndSwitchDefault )
+    
+    LSwitch_1EvenIsEvenGate = GraphEditSwitchs.Link( OSwitch_1Even , IIsEvenGate )
+    
+    LEndSwitchGateEndOfInitLoopGate = GraphEditSwitchs.Link( OEndSwitchGate , IEndOfInitLoopGate )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Input Ports of the graph
+    #IIsEvena = IsEven.GetInPort( 'a' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OSwitch_1Odd = Switch_1.GetOutPort( 'Odd' )
+    #OSwitch_1a = Switch_1.GetOutPort( 'a' )
+    #OEndSwitcha = EndSwitch.GetOutPort( 'a' )
+    return GraphEditSwitchs
+
+
+GraphEditSwitchs = DefGraphEditSwitchs()
diff --git a/examples/GraphEditGraphSwitchs_4.xml b/examples/GraphEditGraphSwitchs_4.xml
new file mode 100644 (file)
index 0000000..c1157a0
--- /dev/null
@@ -0,0 +1,499 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEditSwitchs</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEditSwitchs</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>IsEven__a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch_1__Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch_1__a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch__a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>3/2/2005 - 16:56:34</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>388</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>419</x-position>
+    <y-position>308</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>783</x-position>
+    <y-position>381</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>193</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>3/2/2005 - 16:54:2</creation-date>
+    <lastmodification-date>3/2/2005 - 16:54:2</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>605</x-position>
+    <y-position>382</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>573</x>
+      <y>160</y>     </coord>
+     <coord>
+<x>572</x>
+      <y>130</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>599</x>
+      <y>416</y>     </coord>
+     <coord>
+<x>598</x>
+      <y>389</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>365</x>
+      <y>129</y>     </coord>
+     <coord>
+<x>365</x>
+      <y>222</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>572</x>
+      <y>194</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>257</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphEditSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphEditGraphSwitchs_5.py b/examples/GraphEditGraphSwitchs_5.py
new file mode 100644 (file)
index 0000000..8bd31d4
--- /dev/null
@@ -0,0 +1,196 @@
+
+# Generated python file of Graph GraphEditSwitchs_5
+
+from SuperV import *
+
+# Graph creation of GraphEditSwitchs_5
+def DefGraphEditSwitchs_5() :
+    GraphEditSwitchs_5 = Graph( 'GraphEditSwitchs_5' )
+    GraphEditSwitchs_5.SetName( 'GraphEditSwitchs_5' )
+    GraphEditSwitchs_5.SetAuthor( '' )
+    GraphEditSwitchs_5.SetComment( '' )
+    GraphEditSwitchs_5.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphEditSwitchs_5.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 393 , 67 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphEditSwitchs_5.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 408 , 343 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphEditSwitchs_5.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 823 , 259 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 248 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphEditSwitchs_5.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 584 , 172 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 199 , 132 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphEditSwitchs_5.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 608 , 430 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 201 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphEditSwitchs_5.Link( OIsOdda , IEndOfSwitcha )
+    
+    LIsEvenaEndSwitcha = GraphEditSwitchs_5.Link( OIsEvena , IEndSwitcha )
+    
+    LInitLoopIndexSwitch_1a = GraphEditSwitchs_5.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopIndexSwitcha = GraphEditSwitchs_5.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphEditSwitchs_5.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphEditSwitchs_5.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphEditSwitchs_5.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphEditSwitchs_5.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphEditSwitchs_5.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphEditSwitchs_5.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    LSwitch_1EvenIsEvenGate = GraphEditSwitchs_5.Link( OSwitch_1Even , IIsEvenGate )
+    
+    LSwitch_1aIsEvena = GraphEditSwitchs_5.Link( OSwitch_1a , IIsEvena )
+    
+    LSwitch_1DefaultEndSwitchDefault = GraphEditSwitchs_5.Link( OSwitch_1Default , IEndSwitchDefault )
+    
+    LEndSwitchGateEndOfInitLoopGate = GraphEditSwitchs_5.Link( OEndSwitchGate , IEndOfInitLoopGate )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OSwitch_1Odd = Switch_1.GetOutPort( 'Odd' )
+    #OEndSwitcha = EndSwitch.GetOutPort( 'a' )
+    return GraphEditSwitchs_5
+
+
+GraphEditSwitchs_5 = DefGraphEditSwitchs_5()
diff --git a/examples/GraphEditGraphSwitchs_5.xml b/examples/GraphEditGraphSwitchs_5.xml
new file mode 100644 (file)
index 0000000..a90ad55
--- /dev/null
@@ -0,0 +1,475 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEditSwitchs_5</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEditSwitchs_5</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch_1__Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch__a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/2/2005 - 16:14:10</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>393</x-position>
+    <y-position>67</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>408</x-position>
+    <y-position>343</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>248</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>823</x-position>
+    <y-position>259</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>199</x-position>
+    <y-position>132</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>584</x-position>
+    <y-position>172</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>201</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>24/2/2005 - 14:34:28</creation-date>
+    <lastmodification-date>24/2/2005 - 14:34:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>608</x-position>
+    <y-position>430</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphEditSwitchs_5</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphEditSwitchs_5</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphEditSwitchs_5</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 01ac324e0410846f732626b2c212cce799a30779..40827a22c3cebf13769df93a7ef9e10c6c2cf3f8 100644 (file)
@@ -1,19 +1,19 @@
 
-# Generated python file of Graph GraphEssai3
+# Generated python file of Graph GraphEmbeddedComponents
 
 from SuperV import *
 
-# Graph creation of GraphEssai3
-def DefGraphEssai3() :
-    GraphEssai3 = Graph( 'GraphEssai3' )
-    GraphEssai3.SetName( 'GraphEssai3' )
-    GraphEssai3.SetAuthor( '' )
-    GraphEssai3.SetComment( '' )
-    GraphEssai3.Coords( 0 , 0 )
+# Graph creation of GraphEmbeddedComponents
+def DefGraphEmbeddedComponents() :
+    GraphEmbeddedComponents = Graph( 'GraphEmbeddedComponents' )
+    GraphEmbeddedComponents.SetName( 'GraphEmbeddedComponents' )
+    GraphEmbeddedComponents.SetAuthor( '' )
+    GraphEmbeddedComponents.SetComment( '' )
+    GraphEmbeddedComponents.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
-    Add = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add = GraphEmbeddedComponents.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
     Add.SetName( 'Add' )
     Add.SetAuthor( '' )
     Add.SetContainer( 'localhost/FactoryServer' )
@@ -26,7 +26,7 @@ def DefGraphEssai3() :
     OAddz = Add.GetOutPort( 'z' )
     OAddGate = Add.GetOutPort( 'Gate' )
     
-    Sub = GraphEssai3.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub = GraphEmbeddedComponents.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
     Sub.SetName( 'Sub' )
     Sub.SetAuthor( '' )
     Sub.SetContainer( 'localhost/FactoryServer' )
@@ -38,7 +38,7 @@ def DefGraphEssai3() :
     OSubz = Sub.GetOutPort( 'z' )
     OSubGate = Sub.GetOutPort( 'Gate' )
     
-    Mul = GraphEssai3.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+    Mul = GraphEmbeddedComponents.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
     Mul.SetName( 'Mul' )
     Mul.SetAuthor( '' )
     Mul.SetContainer( 'localhost/FactoryServer' )
@@ -50,7 +50,7 @@ def DefGraphEssai3() :
     OMulz = Mul.GetOutPort( 'z' )
     OMulGate = Mul.GetOutPort( 'Gate' )
     
-    Div = GraphEssai3.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+    Div = GraphEmbeddedComponents.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
     Div.SetName( 'Div' )
     Div.SetAuthor( '' )
     Div.SetContainer( 'localhost/FactoryServer' )
@@ -62,7 +62,7 @@ def DefGraphEssai3() :
     ODivz = Div.GetOutPort( 'z' )
     ODivGate = Div.GetOutPort( 'Gate' )
     
-    Addition = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition = GraphEmbeddedComponents.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
     Addition.SetName( 'Addition' )
     Addition.SetAuthor( '' )
     Addition.SetContainer( 'localhost/AdditionServer' )
@@ -72,7 +72,7 @@ def DefGraphEssai3() :
     OAdditionAdder = Addition.GetOutPort( 'Adder' )
     OAdditionGate = Addition.GetOutPort( 'Gate' )
     
-    Addition_1 = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition_1 = GraphEmbeddedComponents.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
     Addition_1.SetName( 'Addition_1' )
     Addition_1.SetAuthor( '' )
     Addition_1.SetContainer( 'localhost/Addition_1Server' )
@@ -94,7 +94,7 @@ def DefGraphEssai3() :
     AddAndCompare_ServiceinStreamParameter = []
     AddAndCompare_ServiceoutStreamParameter = []
     AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , AddAndCompare_ServiceinStreamParameter , AddAndCompare_ServiceoutStreamParameter , 0 , 0 )
-    AddAndCompare = GraphEssai3.CNode( AddAndCompare_Service )
+    AddAndCompare = GraphEmbeddedComponents.CNode( AddAndCompare_Service )
     AddAndCompare.SetName( 'AddAndCompare' )
     AddAndCompare.SetAuthor( '' )
     AddAndCompare.SetComment( 'Python function' )
@@ -109,29 +109,29 @@ def DefGraphEssai3() :
     OAddAndCompareGate = AddAndCompare.GetOutPort( 'Gate' )
     
     # Creation of Links
-    LAddFuncValueMulx = GraphEssai3.Link( OAddFuncValue , IMulx )
+    LAddFuncValueMulx = GraphEmbeddedComponents.Link( OAddFuncValue , IMulx )
     
-    LAddFuncValueAddAndComparex = GraphEssai3.Link( OAddFuncValue , IAddAndComparex )
+    LAddFuncValueAddAndComparex = GraphEmbeddedComponents.Link( OAddFuncValue , IAddAndComparex )
     LAddFuncValueAddAndComparex.AddCoord( 1 , 195 , 108 )
     LAddFuncValueAddAndComparex.AddCoord( 2 , 195 , 233 )
     
-    LAddzSubx = GraphEssai3.Link( OAddz , ISubx )
+    LAddzSubx = GraphEmbeddedComponents.Link( OAddz , ISubx )
     LAddzSubx.AddCoord( 1 , 187 , 459 )
     LAddzSubx.AddCoord( 2 , 186 , 262 )
     
-    LAddzAddAndComparey = GraphEssai3.Link( OAddz , IAddAndComparey )
+    LAddzAddAndComparey = GraphEmbeddedComponents.Link( OAddz , IAddAndComparey )
     LAddzAddAndComparey.AddCoord( 1 , 187 , 139 )
     LAddzAddAndComparey.AddCoord( 2 , 186 , 261 )
     
-    LSubzDivx = GraphEssai3.Link( OSubz , IDivx )
+    LSubzDivx = GraphEmbeddedComponents.Link( OSubz , IDivx )
     LSubzDivx.AddCoord( 1 , 598 , 203 )
     LSubzDivx.AddCoord( 2 , 598 , 457 )
     
-    LMulzDivy = GraphEssai3.Link( OMulz , IDivy )
+    LMulzDivy = GraphEmbeddedComponents.Link( OMulz , IDivy )
     
-    LAdditionAdderAddAndCompareAdder = GraphEssai3.Link( OAdditionAdder , IAddAndCompareAdder )
+    LAdditionAdderAddAndCompareAdder = GraphEmbeddedComponents.Link( OAdditionAdder , IAddAndCompareAdder )
     
-    LAddition_1AdderAddAndCompareanOtherAdder = GraphEssai3.Link( OAddition_1Adder , IAddAndCompareanOtherAdder )
+    LAddition_1AdderAddAndCompareanOtherAdder = GraphEmbeddedComponents.Link( OAddition_1Adder , IAddAndCompareanOtherAdder )
     LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 1 , 215 , 168 )
     LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 2 , 214 , 407 )
     
@@ -145,7 +145,7 @@ def DefGraphEssai3() :
     #ODivz = Div.GetOutPort( 'z' )
     #OAddAndCompareFuncValue = AddAndCompare.GetOutPort( 'FuncValue' )
     #OAddAndComparez = AddAndCompare.GetOutPort( 'z' )
-    return GraphEssai3
+    return GraphEmbeddedComponents
 
 
-GraphEssai3 = DefGraphEssai3()
+GraphEmbeddedComponents = DefGraphEmbeddedComponents()
index ab9c1512fb70ba0314cf8607cbb36ab0cceaec93..5a2f962ec629e1e89347ea9a3f382db395dfe4ff 100644 (file)
 <!DOCTYPE SuperGraph>
 <supergraph>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphEssai3</node-name>
+    <node-name>GraphEmbeddedComponents</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphEssai3</service-name>
+     <service-name>GraphEmbeddedComponents</service-name>
      <inParameter-list>
-<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-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>Sub__y</inParameter-name>      </inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub__y</inParameter-name>
+      </inParameter>
       <inParameter>
-<inParameter-type>double</inParameter-type>
-       <inParameter-name>Mul__y</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>Mul__y</inParameter-name>
+      </inParameter>
+     </inParameter-list>
      <outParameter-list>
-<outParameter>
-<outParameter-type>double</outParameter-type>
-       <outParameter-name>Div__z</outParameter-name>      </outParameter>
       <outParameter>
-<outParameter-type>double</outParameter-type>
-       <outParameter-name>AddAndCompare__FuncValue</outParameter-name>      </outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>Div__z</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__FuncValue</outParameter-name>
+      </outParameter>
       <outParameter>
-<outParameter-type>double</outParameter-type>
-       <outParameter-name>AddAndCompare__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>11/3/2003 - 10:59:37</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>?</comment>
     <x-position>0</x-position>
-    <y-position>0</y-position>   </node>  </info-list>
+    <y-position>0</y-position>
+   </node>
+  </info-list>
   <node-list>
-<node>
-<component-name>AddComponent</component-name>
+   <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>
+     <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>
+       <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>
+       <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>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>Add from AddComponent</comment>
     <x-position>1</x-position>
-    <y-position>152</y-position>   </node>
+    <y-position>152</y-position>
+   </node>
    <node>
-<component-name>SubComponent</component-name>
+    <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>
+     <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>
+       <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>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>Sub from SubComponent</comment>
     <x-position>412</x-position>
-    <y-position>377</y-position>   </node>
+    <y-position>377</y-position>
+   </node>
    <node>
-<component-name>MulComponent</component-name>
+    <component-name>MulComponent</component-name>
     <interface-name>MulComponent</interface-name>
     <node-name>Mul</node-name>
     <kind>0</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>Mul</service-name>
+     <service-name>Mul</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>
+       <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>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>Mul from MulComponent</comment>
     <x-position>412</x-position>
-    <y-position>152</y-position>   </node>
+    <y-position>152</y-position>
+   </node>
    <node>
-<component-name>DivComponent</component-name>
+    <component-name>DivComponent</component-name>
     <interface-name>DivComponent</interface-name>
     <node-name>Div</node-name>
     <kind>0</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>Div</service-name>
+     <service-name>Div</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>
+       <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>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>Div from DivComponent</comment>
     <x-position>622</x-position>
-    <y-position>124</y-position>   </node>
+    <y-position>124</y-position>
+   </node>
    <node>
-<component-name>AddComponent</component-name>
+    <component-name>AddComponent</component-name>
     <interface-name>AddComponent</interface-name>
     <node-name>Addition</node-name>
     <kind>0</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>Addition</service-name>
+     <service-name>Addition</service-name>
      <inParameter-list/>
      <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
-       <outParameter-name>Adder</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/AdditionServer</container>
     <comment>Addition from AddComponent</comment>
     <x-position>0</x-position>
-    <y-position>0</y-position>   </node>
+    <y-position>0</y-position>
+   </node>
    <node>
-<component-name>AddComponent</component-name>
+    <component-name>AddComponent</component-name>
     <interface-name>AddComponent</interface-name>
     <node-name>Addition_1</node-name>
     <kind>0</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>Addition</service-name>
+     <service-name>Addition</service-name>
      <inParameter-list/>
      <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
-       <outParameter-name>Adder</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/Addition_1Server</container>
     <comment>Addition from AddComponent</comment>
     <x-position>4</x-position>
-    <y-position>327</y-position>   </node>
+    <y-position>327</y-position>
+   </node>
    <node>
-<component-name>?</component-name>
+    <component-name>?</component-name>
     <interface-name>?</interface-name>
     <node-name>AddAndCompare</node-name>
     <kind>2</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>AddAndCompare</service-name>
+     <service-name>AddAndCompare</service-name>
      <inParameter-list>
-<inParameter>
-<inParameter-type>Adder</inParameter-type>
-       <inParameter-name>Adder</inParameter-name>      </inParameter>
       <inParameter>
-<inParameter-type>double</inParameter-type>
-       <inParameter-name>x</inParameter-name>      </inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder</inParameter-name>
+      </inParameter>
+      <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-type>double</inParameter-type>
+       <inParameter-name>y</inParameter-name>
+      </inParameter>
       <inParameter>
-<inParameter-type>Adder</inParameter-type>
-       <inParameter-name>anOtherAdder</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>anOtherAdder</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>
+       <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>11/1/2005 - 16:42:5</creation-date>
-    <lastmodification-date>11/1/2005 - 16:42:5</lastmodification-date>
+    <creation-date>3/8/2005 - 14:58:47</creation-date>
+    <lastmodification-date>3/8/2005 - 14:58:47</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Python function</comment>
     <x-position>233</x-position>
-    <y-position>0</y-position>   </node>  </node-list>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
   <link-list>
-<link>
-<fromnode-name>Add</fromnode-name>
+   <link>
+    <fromnode-name>Add</fromnode-name>
     <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
     <tonode-name>Mul</tonode-name>
     <toserviceparameter-name>x</toserviceparameter-name>
-    <coord-list/>   </link>
+    <coord-list/>
+   </link>
    <link>
-<fromnode-name>Add</fromnode-name>
+    <fromnode-name>Add</fromnode-name>
     <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
     <tonode-name>AddAndCompare</tonode-name>
     <toserviceparameter-name>x</toserviceparameter-name>
     <coord-list>
-<coord>
-<x>195</x>
-      <y>108</y>     </coord>
      <coord>
-<x>195</x>
-      <y>233</y>     </coord>    </coord-list>   </link>
+      <x>195</x>
+      <y>108</y>
+     </coord>
+     <coord>
+      <x>195</x>
+      <y>233</y>
+     </coord>
+    </coord-list>
+   </link>
    <link>
-<fromnode-name>Add</fromnode-name>
+    <fromnode-name>Add</fromnode-name>
     <fromserviceparameter-name>z</fromserviceparameter-name>
     <tonode-name>Sub</tonode-name>
     <toserviceparameter-name>x</toserviceparameter-name>
     <coord-list>
-<coord>
-<x>187</x>
-      <y>459</y>     </coord>
      <coord>
-<x>186</x>
-      <y>262</y>     </coord>    </coord-list>   </link>
+      <x>187</x>
+      <y>459</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>262</y>
+     </coord>
+    </coord-list>
+   </link>
    <link>
-<fromnode-name>Add</fromnode-name>
+    <fromnode-name>Add</fromnode-name>
     <fromserviceparameter-name>z</fromserviceparameter-name>
     <tonode-name>AddAndCompare</tonode-name>
     <toserviceparameter-name>y</toserviceparameter-name>
     <coord-list>
-<coord>
-<x>187</x>
-      <y>139</y>     </coord>
      <coord>
-<x>186</x>
-      <y>261</y>     </coord>    </coord-list>   </link>
+      <x>187</x>
+      <y>139</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>261</y>
+     </coord>
+    </coord-list>
+   </link>
    <link>
-<fromnode-name>Sub</fromnode-name>
+    <fromnode-name>Sub</fromnode-name>
     <fromserviceparameter-name>z</fromserviceparameter-name>
     <tonode-name>Div</tonode-name>
     <toserviceparameter-name>x</toserviceparameter-name>
     <coord-list>
-<coord>
-<x>598</x>
-      <y>203</y>     </coord>
      <coord>
-<x>598</x>
-      <y>457</y>     </coord>    </coord-list>   </link>
+      <x>598</x>
+      <y>203</y>
+     </coord>
+     <coord>
+      <x>598</x>
+      <y>457</y>
+     </coord>
+    </coord-list>
+   </link>
    <link>
-<fromnode-name>Mul</fromnode-name>
+    <fromnode-name>Mul</fromnode-name>
     <fromserviceparameter-name>z</fromserviceparameter-name>
     <tonode-name>Div</tonode-name>
     <toserviceparameter-name>y</toserviceparameter-name>
-    <coord-list/>   </link>
+    <coord-list/>
+   </link>
    <link>
-<fromnode-name>Addition</fromnode-name>
+    <fromnode-name>Addition</fromnode-name>
     <fromserviceparameter-name>Adder</fromserviceparameter-name>
     <tonode-name>AddAndCompare</tonode-name>
     <toserviceparameter-name>Adder</toserviceparameter-name>
-    <coord-list/>   </link>
+    <coord-list/>
+   </link>
    <link>
-<fromnode-name>Addition_1</fromnode-name>
+    <fromnode-name>Addition_1</fromnode-name>
     <fromserviceparameter-name>Adder</fromserviceparameter-name>
     <tonode-name>AddAndCompare</tonode-name>
     <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
     <coord-list>
-<coord>
-<x>215</x>
-      <y>168</y>     </coord>
      <coord>
-<x>214</x>
-      <y>407</y>     </coord>    </coord-list>   </link>  </link-list>
+      <x>215</x>
+      <y>168</y>
+     </coord>
+     <coord>
+      <x>214</x>
+      <y>407</y>
+     </coord>
+    </coord-list>
+   </link>
+  </link-list>
   <data-list>
-<data>
-<fromnode-name>GraphEssai3</fromnode-name>
+   <data>
+    <fromnode-name>GraphEmbeddedComponents</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>
+     <value-type>7</value-type>
+     <value>1</value>
+    </data-value>
+    <coord-list/>
+   </data>
    <data>
-<fromnode-name>GraphEssai3</fromnode-name>
+    <fromnode-name>GraphEmbeddedComponents</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>
+     <value-type>7</value-type>
+     <value>2</value>
+    </data-value>
+    <coord-list/>
+   </data>
    <data>
-<fromnode-name>GraphEssai3</fromnode-name>
+    <fromnode-name>GraphEmbeddedComponents</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>3</value>    </data-value>
-    <coord-list/>   </data>
+     <value-type>7</value-type>
+     <value>3</value>
+    </data-value>
+    <coord-list/>
+   </data>
    <data>
-<fromnode-name>GraphEssai3</fromnode-name>
+    <fromnode-name>GraphEmbeddedComponents</fromnode-name>
     <fromserviceparameter-name>Mul__y</fromserviceparameter-name>
     <tonode-name>Mul</tonode-name>
     <toserviceparameter-name>y</toserviceparameter-name>
     <data-value>
-<value-type>7</value-type>
-     <value>4</value>    </data-value>
-    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
+     <value-type>7</value-type>
+     <value>4</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphEmbeddedComponentsCrash.py b/examples/GraphEmbeddedComponentsCrash.py
new file mode 100644 (file)
index 0000000..13662ea
--- /dev/null
@@ -0,0 +1,155 @@
+
+# Generated python file of Graph GraphEmbeddedComponentsCrash
+
+from SuperV import *
+
+# Graph creation of GraphEmbeddedComponentsCrash
+def DefGraphEmbeddedComponentsCrash() :
+    GraphEmbeddedComponentsCrash = Graph( 'GraphEmbeddedComponentsCrash' )
+    GraphEmbeddedComponentsCrash.SetName( 'GraphEmbeddedComponentsCrash' )
+    GraphEmbeddedComponentsCrash.SetAuthor( '' )
+    GraphEmbeddedComponentsCrash.SetComment( '' )
+    GraphEmbeddedComponentsCrash.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphEmbeddedComponentsCrash.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'localhost/FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 1 , 152 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Sub = GraphEmbeddedComponentsCrash.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'localhost/FactoryServer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 477 , 381 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    Mul = GraphEmbeddedComponentsCrash.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+    Mul.SetName( 'Mul' )
+    Mul.SetAuthor( '' )
+    Mul.SetContainer( 'localhost/FactoryServer' )
+    Mul.SetComment( 'Mul from MulComponent' )
+    Mul.Coords( 480 , 152 )
+    IMulx = Mul.GetInPort( 'x' )
+    IMuly = Mul.GetInPort( 'y' )
+    IMulGate = Mul.GetInPort( 'Gate' )
+    OMulz = Mul.GetOutPort( 'z' )
+    OMulGate = Mul.GetOutPort( 'Gate' )
+    
+    Div = GraphEmbeddedComponentsCrash.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+    Div.SetName( 'Div' )
+    Div.SetAuthor( '' )
+    Div.SetContainer( 'localhost/FactoryServer' )
+    Div.SetComment( 'Div from DivComponent' )
+    Div.Coords( 714 , 136 )
+    IDivx = Div.GetInPort( 'x' )
+    IDivy = Div.GetInPort( 'y' )
+    IDivGate = Div.GetInPort( 'Gate' )
+    ODivz = Div.GetOutPort( 'z' )
+    ODivGate = Div.GetOutPort( 'Gate' )
+    
+    Addition = GraphEmbeddedComponentsCrash.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition.SetName( 'Addition' )
+    Addition.SetAuthor( '' )
+    Addition.SetContainer( 'localhost/AdditionServer' )
+    Addition.SetComment( 'Addition from AddComponent' )
+    Addition.Coords( 0 , 0 )
+    IAdditionGate = Addition.GetInPort( 'Gate' )
+    OAdditionAdder = Addition.GetOutPort( 'Adder' )
+    OAdditionGate = Addition.GetOutPort( 'Gate' )
+    
+    Addition_1 = GraphEmbeddedComponentsCrash.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition_1.SetName( 'Addition_1' )
+    Addition_1.SetAuthor( '' )
+    Addition_1.SetContainer( 'localhost/Addition_1Server' )
+    Addition_1.SetComment( 'Addition from AddComponent' )
+    Addition_1.Coords( 4 , 327 )
+    IAddition_1Gate = Addition_1.GetInPort( 'Gate' )
+    OAddition_1Adder = Addition_1.GetOutPort( 'Adder' )
+    OAddition_1Gate = Addition_1.GetOutPort( 'Gate' )
+    
+    # Creation of Computing Nodes
+    AddAndCompare_ServiceinParameter = []
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'anOtherAdder' ) )
+    AddAndCompare_ServiceoutParameter = []
+    AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
+    AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
+    AddAndCompare_ServiceinStreamParameter = []
+    AddAndCompare_ServiceoutStreamParameter = []
+    AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , AddAndCompare_ServiceinStreamParameter , AddAndCompare_ServiceoutStreamParameter , 0 , 0 )
+    AddAndCompare = GraphEmbeddedComponentsCrash.CNode( AddAndCompare_Service )
+    AddAndCompare.SetName( 'AddAndCompare' )
+    AddAndCompare.SetAuthor( '' )
+    AddAndCompare.SetComment( 'Python function' )
+    AddAndCompare.Coords( 233 , 0 )
+    IAddAndCompareAdder = AddAndCompare.GetInPort( 'Adder' )
+    IAddAndComparex = AddAndCompare.GetInPort( 'x' )
+    IAddAndComparey = AddAndCompare.GetInPort( 'y' )
+    IAddAndCompareanOtherAdder = AddAndCompare.GetInPort( 'anOtherAdder' )
+    IAddAndCompareGate = AddAndCompare.GetInPort( 'Gate' )
+    OAddAndCompareFuncValue = AddAndCompare.GetOutPort( 'FuncValue' )
+    OAddAndComparez = AddAndCompare.GetOutPort( 'z' )
+    OAddAndCompareGate = AddAndCompare.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LAddFuncValueMulx = GraphEmbeddedComponentsCrash.Link( OAddFuncValue , IMulx )
+    
+    LAddFuncValueAddAndComparex = GraphEmbeddedComponentsCrash.Link( OAddFuncValue , IAddAndComparex )
+    LAddFuncValueAddAndComparex.AddCoord( 1 , 195 , 108 )
+    LAddFuncValueAddAndComparex.AddCoord( 2 , 195 , 233 )
+    
+    LAddzSubx = GraphEmbeddedComponentsCrash.Link( OAddz , ISubx )
+    LAddzSubx.AddCoord( 1 , 187 , 459 )
+    LAddzSubx.AddCoord( 2 , 186 , 262 )
+    
+    LAddzAddAndComparey = GraphEmbeddedComponentsCrash.Link( OAddz , IAddAndComparey )
+    LAddzAddAndComparey.AddCoord( 1 , 187 , 139 )
+    LAddzAddAndComparey.AddCoord( 2 , 186 , 261 )
+    
+    LSubzDivx = GraphEmbeddedComponentsCrash.Link( OSubz , IDivx )
+    LSubzDivx.AddCoord( 1 , 670 , 206 )
+    LSubzDivx.AddCoord( 2 , 680 , 447 )
+    
+    LMulzDivy = GraphEmbeddedComponentsCrash.Link( OMulz , IDivy )
+    
+    LAdditionAdderAddAndCompareAdder = GraphEmbeddedComponentsCrash.Link( OAdditionAdder , IAddAndCompareAdder )
+    
+    LAddition_1AdderAddAndCompareanOtherAdder = GraphEmbeddedComponentsCrash.Link( OAddition_1Adder , IAddAndCompareanOtherAdder )
+    LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 1 , 215 , 168 )
+    LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 2 , 214 , 407 )
+    
+    LAddAndCompareGateMulGate = GraphEmbeddedComponentsCrash.Link( OAddAndCompareGate , IMulGate )
+    
+    LAddAndCompareGateSubGate = GraphEmbeddedComponentsCrash.Link( OAddAndCompareGate , ISubGate )
+    
+    # Input datas
+    IAddx.Input( 1 )
+    IAddy.Input( 2 )
+    ISuby.Input( 3 )
+    IMuly.Input( 4 )
+    
+    # Output Ports of the graph
+    #ODivz = Div.GetOutPort( 'z' )
+    #OAddAndCompareFuncValue = AddAndCompare.GetOutPort( 'FuncValue' )
+    #OAddAndComparez = AddAndCompare.GetOutPort( 'z' )
+    return GraphEmbeddedComponentsCrash
+
+
+GraphEmbeddedComponentsCrash = DefGraphEmbeddedComponentsCrash()
diff --git a/examples/GraphEmbeddedComponentsCrash.xml b/examples/GraphEmbeddedComponentsCrash.xml
new file mode 100644 (file)
index 0000000..5d752af
--- /dev/null
@@ -0,0 +1,475 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEmbeddedComponentsCrash</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphEmbeddedComponentsCrash</service-name>
+     <inParameter-list>
+      <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>Sub__y</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>Mul__y</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>Div__z</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__FuncValue</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>11/3/2003 - 10:59:37</creation-date>
+    <lastmodification-date>3/8/2005 - 15:53:13</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>?</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </info-list>
+  <node-list>
+   <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>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>1</x-position>
+    <y-position>152</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>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>477</x-position>
+    <y-position>381</y-position>
+   </node>
+   <node>
+    <component-name>MulComponent</component-name>
+    <interface-name>MulComponent</interface-name>
+    <node-name>Mul</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Mul</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>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Mul from MulComponent</comment>
+    <x-position>480</x-position>
+    <y-position>152</y-position>
+   </node>
+   <node>
+    <component-name>DivComponent</component-name>
+    <interface-name>DivComponent</interface-name>
+    <node-name>Div</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Div</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>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Div from DivComponent</comment>
+    <x-position>714</x-position>
+    <y-position>136</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/AdditionServer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/Addition_1Server</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>4</x-position>
+    <y-position>327</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>AddAndCompare</node-name>
+    <kind>2</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>AddAndCompare</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder</inParameter-name>
+      </inParameter>
+      <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>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>anOtherAdder</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>3/8/2005 - 15:52:50</creation-date>
+    <lastmodification-date>3/8/2005 - 15:52:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>233</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>195</x>
+      <y>108</y>
+     </coord>
+     <coord>
+      <x>195</x>
+      <y>233</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>187</x>
+      <y>459</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>262</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>187</x>
+      <y>139</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>261</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Sub</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>670</x>
+      <y>206</y>
+     </coord>
+     <coord>
+      <x>680</x>
+      <y>447</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Mul</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Addition</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>Adder</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Addition_1</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>215</x>
+      <y>168</y>
+     </coord>
+     <coord>
+      <x>214</x>
+      <y>407</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>AddAndCompare</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>AddAndCompare</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphEmbeddedComponentsCrash</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>GraphEmbeddedComponentsCrash</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>GraphEmbeddedComponentsCrash</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>3</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphEmbeddedComponentsCrash</fromnode-name>
+    <fromserviceparameter-name>Mul__y</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+     <value-type>7</value-type>
+     <value>4</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphEmbeddedComponentsCrash1.py b/examples/GraphEmbeddedComponentsCrash1.py
new file mode 100644 (file)
index 0000000..fddabda
--- /dev/null
@@ -0,0 +1,151 @@
+
+# Generated python file of Graph GraphEmbeddedComponentsCrash1
+
+from SuperV import *
+
+# Graph creation of GraphEmbeddedComponentsCrash1
+def DefGraphEmbeddedComponentsCrash1() :
+    GraphEmbeddedComponentsCrash1 = Graph( 'GraphEmbeddedComponentsCrash1' )
+    GraphEmbeddedComponentsCrash1.SetName( 'GraphEmbeddedComponentsCrash1' )
+    GraphEmbeddedComponentsCrash1.SetAuthor( '' )
+    GraphEmbeddedComponentsCrash1.SetComment( '' )
+    GraphEmbeddedComponentsCrash1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphEmbeddedComponentsCrash1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'localhost/SuperVisionContainer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 1 , 152 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Sub = GraphEmbeddedComponentsCrash1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'localhost/SuperVisionContainer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 477 , 381 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    Mul = GraphEmbeddedComponentsCrash1.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+    Mul.SetName( 'Mul' )
+    Mul.SetAuthor( '' )
+    Mul.SetContainer( 'localhost/SuperVisionContainer' )
+    Mul.SetComment( 'Mul from MulComponent' )
+    Mul.Coords( 480 , 152 )
+    IMulx = Mul.GetInPort( 'x' )
+    IMuly = Mul.GetInPort( 'y' )
+    IMulGate = Mul.GetInPort( 'Gate' )
+    OMulz = Mul.GetOutPort( 'z' )
+    OMulGate = Mul.GetOutPort( 'Gate' )
+    
+    Div = GraphEmbeddedComponentsCrash1.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+    Div.SetName( 'Div' )
+    Div.SetAuthor( '' )
+    Div.SetContainer( 'localhost/SuperVisionContainer' )
+    Div.SetComment( 'Div from DivComponent' )
+    Div.Coords( 714 , 136 )
+    IDivx = Div.GetInPort( 'x' )
+    IDivy = Div.GetInPort( 'y' )
+    IDivGate = Div.GetInPort( 'Gate' )
+    ODivz = Div.GetOutPort( 'z' )
+    ODivGate = Div.GetOutPort( 'Gate' )
+    
+    Addition = GraphEmbeddedComponentsCrash1.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition.SetName( 'Addition' )
+    Addition.SetAuthor( '' )
+    Addition.SetContainer( 'localhost/SuperVisionContainer' )
+    Addition.SetComment( 'Addition from AddComponent' )
+    Addition.Coords( 0 , 0 )
+    IAdditionGate = Addition.GetInPort( 'Gate' )
+    OAdditionAdder = Addition.GetOutPort( 'Adder' )
+    OAdditionGate = Addition.GetOutPort( 'Gate' )
+    
+    Addition_1 = GraphEmbeddedComponentsCrash1.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition_1.SetName( 'Addition_1' )
+    Addition_1.SetAuthor( '' )
+    Addition_1.SetContainer( 'localhost/SuperVisionContainer' )
+    Addition_1.SetComment( 'Addition from AddComponent' )
+    Addition_1.Coords( 4 , 327 )
+    IAddition_1Gate = Addition_1.GetInPort( 'Gate' )
+    OAddition_1Adder = Addition_1.GetOutPort( 'Adder' )
+    OAddition_1Gate = Addition_1.GetOutPort( 'Gate' )
+    
+    # Creation of Computing Nodes
+    AddAndCompare_ServiceinParameter = []
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
+    AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'anOtherAdder' ) )
+    AddAndCompare_ServiceoutParameter = []
+    AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
+    AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
+    AddAndCompare_ServiceinStreamParameter = []
+    AddAndCompare_ServiceoutStreamParameter = []
+    AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , AddAndCompare_ServiceinStreamParameter , AddAndCompare_ServiceoutStreamParameter , 0 , 0 )
+    AddAndCompare = GraphEmbeddedComponentsCrash1.CNode( AddAndCompare_Service )
+    AddAndCompare.SetName( 'AddAndCompare' )
+    AddAndCompare.SetAuthor( '' )
+    AddAndCompare.SetComment( 'Python function' )
+    AddAndCompare.Coords( 233 , 0 )
+    IAddAndCompareAdder = AddAndCompare.GetInPort( 'Adder' )
+    IAddAndComparex = AddAndCompare.GetInPort( 'x' )
+    IAddAndComparey = AddAndCompare.GetInPort( 'y' )
+    IAddAndCompareanOtherAdder = AddAndCompare.GetInPort( 'anOtherAdder' )
+    IAddAndCompareGate = AddAndCompare.GetInPort( 'Gate' )
+    OAddAndCompareFuncValue = AddAndCompare.GetOutPort( 'FuncValue' )
+    OAddAndComparez = AddAndCompare.GetOutPort( 'z' )
+    OAddAndCompareGate = AddAndCompare.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LAddFuncValueMulx = GraphEmbeddedComponentsCrash1.Link( OAddFuncValue , IMulx )
+    
+    LAddFuncValueAddAndComparex = GraphEmbeddedComponentsCrash1.Link( OAddFuncValue , IAddAndComparex )
+    LAddFuncValueAddAndComparex.AddCoord( 1 , 195 , 108 )
+    LAddFuncValueAddAndComparex.AddCoord( 2 , 195 , 233 )
+    
+    LAddzSubx = GraphEmbeddedComponentsCrash1.Link( OAddz , ISubx )
+    LAddzSubx.AddCoord( 1 , 187 , 459 )
+    LAddzSubx.AddCoord( 2 , 186 , 262 )
+    
+    LAddzAddAndComparey = GraphEmbeddedComponentsCrash1.Link( OAddz , IAddAndComparey )
+    LAddzAddAndComparey.AddCoord( 1 , 187 , 139 )
+    LAddzAddAndComparey.AddCoord( 2 , 186 , 261 )
+    
+    LSubzDivx = GraphEmbeddedComponentsCrash1.Link( OSubz , IDivx )
+    LSubzDivx.AddCoord( 1 , 670 , 206 )
+    LSubzDivx.AddCoord( 2 , 680 , 447 )
+    
+    LMulzDivy = GraphEmbeddedComponentsCrash1.Link( OMulz , IDivy )
+    
+    LAdditionAdderAddAndCompareAdder = GraphEmbeddedComponentsCrash1.Link( OAdditionAdder , IAddAndCompareAdder )
+    
+    LAddition_1AdderAddAndCompareanOtherAdder = GraphEmbeddedComponentsCrash1.Link( OAddition_1Adder , IAddAndCompareanOtherAdder )
+    LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 1 , 215 , 168 )
+    LAddition_1AdderAddAndCompareanOtherAdder.AddCoord( 2 , 214 , 407 )
+    
+    # Input datas
+    IAddx.Input( 1 )
+    IAddy.Input( 2 )
+    ISuby.Input( 3 )
+    IMuly.Input( 4 )
+    
+    # Output Ports of the graph
+    #ODivz = Div.GetOutPort( 'z' )
+    #OAddAndCompareFuncValue = AddAndCompare.GetOutPort( 'FuncValue' )
+    #OAddAndComparez = AddAndCompare.GetOutPort( 'z' )
+    return GraphEmbeddedComponentsCrash1
+
+
+GraphEmbeddedComponentsCrash1 = DefGraphEmbeddedComponentsCrash1()
diff --git a/examples/GraphEmbeddedComponentsCrash1.xml b/examples/GraphEmbeddedComponentsCrash1.xml
new file mode 100644 (file)
index 0000000..97b63f2
--- /dev/null
@@ -0,0 +1,461 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphEmbeddedComponentsCrash1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphEmbeddedComponentsCrash1</service-name>
+     <inParameter-list>
+      <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>Sub__y</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>double</inParameter-type>
+       <inParameter-name>Mul__y</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>Div__z</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__FuncValue</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>double</outParameter-type>
+       <outParameter-name>AddAndCompare__z</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>11/3/2003 - 10:59:37</creation-date>
+    <lastmodification-date>5/8/2005 - 11:41:6</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>?</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </info-list>
+  <node-list>
+   <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>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>1</x-position>
+    <y-position>152</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>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>477</x-position>
+    <y-position>381</y-position>
+   </node>
+   <node>
+    <component-name>MulComponent</component-name>
+    <interface-name>MulComponent</interface-name>
+    <node-name>Mul</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Mul</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>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Mul from MulComponent</comment>
+    <x-position>480</x-position>
+    <y-position>152</y-position>
+   </node>
+   <node>
+    <component-name>DivComponent</component-name>
+    <interface-name>DivComponent</interface-name>
+    <node-name>Div</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Div</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>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Div from DivComponent</comment>
+    <x-position>714</x-position>
+    <y-position>136</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>4</x-position>
+    <y-position>327</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>AddAndCompare</node-name>
+    <kind>2</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>AddAndCompare</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder</inParameter-name>
+      </inParameter>
+      <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>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>anOtherAdder</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>5/8/2005 - 11:40:48</creation-date>
+    <lastmodification-date>5/8/2005 - 11:40:48</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>233</x-position>
+    <y-position>0</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>195</x>
+      <y>108</y>
+     </coord>
+     <coord>
+      <x>195</x>
+      <y>233</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>187</x>
+      <y>459</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>262</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Add</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>187</x>
+      <y>139</y>
+     </coord>
+     <coord>
+      <x>186</x>
+      <y>261</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Sub</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>670</x>
+      <y>206</y>
+     </coord>
+     <coord>
+      <x>680</x>
+      <y>447</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>Mul</fromnode-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Addition</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>Adder</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Addition_1</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>AddAndCompare</tonode-name>
+    <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>215</x>
+      <y>168</y>
+     </coord>
+     <coord>
+      <x>214</x>
+      <y>407</y>
+     </coord>
+    </coord-list>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphEmbeddedComponentsCrash1</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>GraphEmbeddedComponentsCrash1</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>GraphEmbeddedComponentsCrash1</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>3</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphEmbeddedComponentsCrash1</fromnode-name>
+    <fromserviceparameter-name>Mul__y</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+     <value-type>7</value-type>
+     <value>4</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphErrMsgs.py b/examples/GraphErrMsgs.py
new file mode 100644 (file)
index 0000000..f1075b3
--- /dev/null
@@ -0,0 +1,1234 @@
+from SuperV import *
+
+GraphErrMsgs = Graph( "GraphErrMsgs" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/SyrStruct.xml'
+
+GraphErrMsgs.Import( anXmlFile )
+
+exec GraphErrMsgs.ListNodes( 'GraphErrMsgs' )
+# ==> m3,m3incr,incra,div2,incrb,SyrComponent,forN,whileNotOne,fori,whileEven,EndOfforN,EndOfwhileNotOne,EndOffori,EndOfwhileEven,ifNotEven,EndOfifNotEven
+
+exec ifNotEven.ListPorts()
+# ==> IifNotEvenSyrComponent,IifNotEvenN,IifNotEvenK,IifNotEvenGate,OifNotEvenOdd,OifNotEvenEven,OifNotEvenSyrComponent,OifNotEvenN,OifNotEvenK,OifNotEvenDefault
+
+exec EndOfifNotEven.ListPorts()
+# ==> IEndOfifNotEvenN,IEndOfifNotEvenK,IEndOfifNotEvenDefault,OEndOfifNotEvenN,OEndOfifNotEvenK,OEndOfifNotEvenGate
+
+aLink = GraphErrMsgs.Link( OifNotEvenEven , IEndOfifNotEvenN )
+if aLink != None :
+    print "Error link from OifNotEvenEven to IEndOfifNotEvenN was created"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+exec EndOfwhileEven.ListPorts()
+# ==> IEndOfwhileEvenSyrComponent,IEndOfwhileEvenN,IEndOfwhileEvenK,IEndOfwhileEvenGate,OEndOfwhileEvenSyrComponent,OEndOfwhileEvenN,OEndOfwhileEvenK,OEndOfwhileEvenGate
+
+exec EndOffori.ListPorts()
+# ==> IEndOfforii,IEndOfforiK,IEndOfforiGate,OEndOfforii,OEndOfforiK,OEndOfforiGate
+
+aLink = GraphErrMsgs.Link( OEndOfwhileEvenK , IEndOfifNotEvenK )
+aLink.destroy()
+
+aLink = GraphErrMsgs.Link( OEndOfforiK , IEndOfifNotEvenK )
+aLink.destroy()
+
+aLink = GraphErrMsgs.Link( OifNotEvenN , IEndOfifNotEvenK )
+if aLink == None :
+    print "Error link from OifNotEvenN to IEndOfifNotEvenK was not created"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+exec whileEven.ListPorts()
+# ==>IwhileEvenSyrComponent,IwhileEvenN,IwhileEvenK,IwhileEvenGate,OwhileEvenSyrComponent,OwhileEvenN,OwhileEvenK,OwhileEvenGate
+
+aLink = GraphErrMsgs.Link( OifNotEvenK , IwhileEvenK )
+aLink.destroy()
+
+aLink = GraphErrMsgs.Link( OifNotEvenOdd , IwhileEvenK )
+if aLink != None :
+    print "Error link from OifNotEvenOdd to IwhileEvenK was created"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+aLink = GraphErrMsgs.Link( OifNotEvenDefault , IwhileEvenK )
+if aLink != None :
+    print "Error link from OifNotEvenDefault to IwhileEvenK was created"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+exec div2.ListPorts()
+# ==> Idiv2anEvenInteger,Idiv2Gate,Odiv2anInteger,Odiv2Gate
+
+aLink = GraphErrMsgs.Link( OwhileEvenN , Idiv2Gate )
+if aLink != None :
+    print "Error link from OwhileEvenN to Idiv2Gate was created"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+print "GraphErrMsgs Errors Messages :"
+print GraphErrMsgs.Messages()
+
+RunOk = GraphErrMsgs.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphErrMsgs test failed"
+    sys.exit(1)
+
+GraphErrMsgs.DoneW()
+
+print "GraphErrMsgs Errors Messages :"
+print GraphErrMsgs.Messages()
+
+
+from SuperV import *
+
+# GraphBadInputInLoop
+GraphBadInputInLoop = Graph( "GraphBadInputInLoop" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadInputInLoop.xml'
+
+GraphBadInputInLoop.Import( anXmlFile )
+
+RunOk = GraphBadInputInLoop.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadInputInLoop test failed"
+    sys.exit(1)
+
+GraphBadInputInLoop.DoneW()
+
+print "GraphBadInputInLoop Errors Messages :"
+print GraphBadInputInLoop.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadInputInLoop1
+GraphBadInputInLoop1 = Graph( "GraphBadInputInLoop1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadInputInLoop1.xml'
+
+GraphBadInputInLoop1.Import( anXmlFile )
+
+RunOk = GraphBadInputInLoop1.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadInputInLoop1 test failed"
+    sys.exit(1)
+
+GraphBadInputInLoop1.DoneW()
+
+print "GraphBadInputInLoop1 Errors Messages :"
+print GraphBadInputInLoop1.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadInputInLoop2
+GraphBadInputInLoop2 = Graph( "GraphBadInputInLoop2" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadInputInLoop2.xml'
+
+GraphBadInputInLoop2.Import( anXmlFile )
+
+RunOk = GraphBadInputInLoop2.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadInputInLoop2 test failed"
+    sys.exit(1)
+
+GraphBadInputInLoop2.DoneW()
+
+print "GraphBadInputInLoop2 Errors Messages :"
+print GraphBadInputInLoop2.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadInputInLoop3
+GraphBadInputInLoop3 = Graph( "GraphBadInputInLoop3" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadInputInLoop3.xml'
+
+GraphBadInputInLoop3.Import( anXmlFile )
+
+RunOk = GraphBadInputInLoop3.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadInputInLoop3 test failed"
+    sys.exit(1)
+
+GraphBadInputInLoop3.DoneW()
+
+print "GraphBadInputInLoop3 Errors Messages :"
+print GraphBadInputInLoop3.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadOutputOfLoop
+GraphBadOutputOfLoop = Graph( "GraphBadOutputOfLoop" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadOutputOfLoop.xml'
+
+GraphBadOutputOfLoop.Import( anXmlFile )
+
+RunOk = GraphBadOutputOfLoop.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadOutputOfLoop test failed"
+    sys.exit(1)
+
+GraphBadOutputOfLoop.DoneW()
+
+print "GraphBadOutputOfLoop Errors Messages :"
+print GraphBadOutputOfLoop.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadOutputOfLoop1
+GraphBadOutputOfLoop1 = Graph( "GraphBadOutputOfLoop1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadOutputOfLoop1.xml'
+
+GraphBadOutputOfLoop1.Import( anXmlFile )
+
+RunOk = GraphBadOutputOfLoop1.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadOutputOfLoop1 test failed"
+    sys.exit(1)
+
+GraphBadOutputOfLoop1.DoneW()
+
+print "GraphBadOutputOfLoop1 Errors Messages :"
+print GraphBadOutputOfLoop1.Messages()
+
+
+
+from SuperV import *
+
+# GraphBadOutputOfLoop2
+GraphBadOutputOfLoop2 = Graph( "GraphBadOutputOfLoop2" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphBadOutputOfLoop2.xml'
+
+GraphBadOutputOfLoop2.Import( anXmlFile )
+
+RunOk = GraphBadOutputOfLoop2.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphBadOutputOfLoop2 test failed"
+    sys.exit(1)
+
+GraphBadOutputOfLoop2.DoneW()
+
+print "GraphBadOutputOfLoop2 Errors Messages :"
+print GraphBadOutputOfLoop2.Messages()
+
+
+
+from SuperV import *
+
+# GraphConvertObjRefCheckNotCompatible
+GraphConvertObjRefCheckNotCompatible = Graph( "GraphConvertObjRefCheckNotCompatible" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphConvertObjRefCheckNotCompatible.xml'
+
+GraphConvertObjRefCheckNotCompatible.Import( anXmlFile )
+
+RunOk = GraphConvertObjRefCheckNotCompatible.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphConvertObjRefCheckNotCompatible test failed"
+    sys.exit(1)
+
+GraphConvertObjRefCheckNotCompatible.DoneW()
+
+print "GraphConvertObjRefCheckNotCompatible Errors Messages :"
+print GraphConvertObjRefCheckNotCompatible.Messages()
+
+
+
+
+from SuperV import *
+
+# GraphWrongPythonFunctions
+GraphWrongPythonFunctions = Graph( "GraphWrongPythonFunctions" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphWrongPythonFunctions.xml'
+
+GraphWrongPythonFunctions.Import( anXmlFile )
+
+RunOk = GraphWrongPythonFunctions.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphWrongPythonFunctions test failed"
+    sys.exit(1)
+
+GraphWrongPythonFunctions.DoneW()
+
+print "GraphWrongPythonFunctions Errors Messages :"
+print GraphWrongPythonFunctions.Messages()
+
+
+
+from SuperV import *
+
+# GraphWrongContainerOrComponent
+GraphWrongContainerOrComponent = Graph( "GraphWrongContainerOrComponent" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphWrongContainerOrComponent.xml'
+
+GraphWrongContainerOrComponent.Import( anXmlFile )
+
+RunOk = GraphWrongContainerOrComponent.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphWrongContainerOrComponent test failed"
+    sys.exit(1)
+
+GraphWrongContainerOrComponent.DoneW()
+
+print "GraphWrongContainerOrComponent Errors Messages :"
+print GraphWrongContainerOrComponent.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchDefaultAborted
+GraphLoopSwitchDefaultAborted = Graph( "GraphLoopSwitchDefaultAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchDefaultAborted.xml'
+
+GraphLoopSwitchDefaultAborted.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchDefaultAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitchDefaultAborted test failed"
+    sys.exit(1)
+
+GraphLoopSwitchDefaultAborted.DoneW()
+
+print "GraphLoopSwitchDefaultAborted Errors Messages :"
+print GraphLoopSwitchDefaultAborted.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchOfSwitchAborted
+GraphLoopSwitchOfSwitchAborted = Graph( "GraphLoopSwitchOfSwitchAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchOfSwitchAborted.xml'
+
+GraphLoopSwitchOfSwitchAborted.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchOfSwitchAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitchOfSwitchAborted test failed"
+    sys.exit(1)
+
+GraphLoopSwitchOfSwitchAborted.DoneW()
+
+print "GraphLoopSwitchOfSwitchAborted Errors Messages :"
+print GraphLoopSwitchOfSwitchAborted.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchOfSwitchNOTValid
+GraphLoopSwitchOfSwitchNOTValid = Graph( "GraphLoopSwitchOfSwitchNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchOfSwitchNOTValid.xml'
+
+GraphLoopSwitchOfSwitchNOTValid.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchOfSwitchNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphLoopSwitchOfSwitchNOTValid test failed"
+    sys.exit(1)
+
+GraphLoopSwitchOfSwitchNOTValid.DoneW()
+
+print "GraphLoopSwitchOfSwitchNOTValid Errors Messages :"
+print GraphLoopSwitchOfSwitchNOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphLoopSwitchsAborted
+GraphLoopSwitchsAborted = Graph( "GraphLoopSwitchsAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchsAborted.xml'
+
+GraphLoopSwitchsAborted.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchsAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitchsAborted test failed"
+    sys.exit(1)
+
+GraphLoopSwitchsAborted.DoneW()
+
+print "GraphLoopSwitchsAborted Errors Messages :"
+print GraphLoopSwitchsAborted.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchsBranchesDefaultAborted
+GraphLoopSwitchsBranchesDefaultAborted = Graph( "GraphLoopSwitchsBranchesDefaultAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchsBranchesDefaultAborted.xml'
+
+GraphLoopSwitchsBranchesDefaultAborted.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchsBranchesDefaultAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitchsBranchesDefaultAborted test failed"
+    sys.exit(1)
+
+GraphLoopSwitchsBranchesDefaultAborted.DoneW()
+
+print "GraphLoopSwitchsBranchesDefaultAborted Errors Messages :"
+print GraphLoopSwitchsBranchesDefaultAborted.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchsNOTValid
+GraphLoopSwitchsNOTValid = Graph( "GraphLoopSwitchsNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchsNOTValid.xml'
+
+GraphLoopSwitchsNOTValid.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchsNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphLoopSwitchsNOTValid test failed"
+    sys.exit(1)
+
+GraphLoopSwitchsNOTValid.DoneW()
+
+print "GraphLoopSwitchsNOTValid Errors Messages :"
+print GraphLoopSwitchsNOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckBranch2NOTValid
+GraphSwitchCheckBranch2NOTValid = Graph( "GraphSwitchCheckBranch2NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckBranch2NOTValid.xml'
+
+GraphSwitchCheckBranch2NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckBranch2NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckBranch2NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckBranch2NOTValid.DoneW()
+
+print "GraphSwitchCheckBranch2NOTValid Errors Messages :"
+print GraphSwitchCheckBranch2NOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault1NOTValid
+GraphSwitchCheckDefault1NOTValid = Graph( "GraphSwitchCheckDefault1NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault1NOTValid.xml'
+
+GraphSwitchCheckDefault1NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault1NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault1NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault1NOTValid.DoneW()
+
+print "GraphSwitchCheckDefault1NOTValid Errors Messages :"
+print GraphSwitchCheckDefault1NOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid
+GraphSwitchCheckDefault2NOTValid = Graph( "GraphSwitchCheckDefault2NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid.xml'
+
+GraphSwitchCheckDefault2NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid1
+GraphSwitchCheckDefault2NOTValid1 = Graph( "GraphSwitchCheckDefault2NOTValid1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid1.xml'
+
+GraphSwitchCheckDefault2NOTValid1.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid1.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid1 test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid1.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid1 Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid1.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid2
+GraphSwitchCheckDefault2NOTValid2 = Graph( "GraphSwitchCheckDefault2NOTValid2" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid2.xml'
+
+GraphSwitchCheckDefault2NOTValid2.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid2.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid2 test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid2.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid2 Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid2.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCrash
+GraphSwitchCrash = Graph( "GraphSwitchCrash" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCrash.xml'
+
+GraphSwitchCrash.Import( anXmlFile )
+
+RunOk = GraphSwitchCrash.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitchCrash test failed"
+    sys.exit(1)
+
+GraphSwitchCrash.DoneW()
+
+print "GraphSwitchCrash Errors Messages :"
+print GraphSwitchCrash.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchErrExec
+GraphSwitchErrExec = Graph( "GraphSwitchErrExec" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchErrExec.xml'
+
+GraphSwitchErrExec.Import( anXmlFile )
+
+RunOk = GraphSwitchErrExec.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitchErrExec test failed"
+    sys.exit(1)
+
+GraphSwitchErrExec.DoneW()
+
+print "GraphSwitchErrExec Errors Messages :"
+print GraphSwitchErrExec.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchGatesNoDefaultAborted
+GraphSwitchGatesNoDefaultAborted = Graph( "GraphSwitchGatesNoDefaultAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchGatesNoDefaultAborted.xml'
+
+GraphSwitchGatesNoDefaultAborted.Import( anXmlFile )
+
+RunOk = GraphSwitchGatesNoDefaultAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitchGatesNoDefaultAborted test failed"
+    sys.exit(1)
+
+GraphSwitchGatesNoDefaultAborted.DoneW()
+
+print "GraphSwitchGatesNoDefaultAborted Errors Messages :"
+print GraphSwitchGatesNoDefaultAborted.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchOutputNOTValid
+GraphSwitchOutputNOTValid = Graph( "GraphSwitchOutputNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchOutputNOTValid.xml'
+
+GraphSwitchOutputNOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchOutputNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchOutputNOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchOutputNOTValid.DoneW()
+
+print "GraphSwitchOutputNOTValid Errors Messages :"
+print GraphSwitchOutputNOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSyrControlAborted
+GraphSyrControlAborted = Graph( "GraphSyrControlAborted" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAborted.xml'
+
+GraphSyrControlAborted.Import( anXmlFile )
+
+RunOk = GraphSyrControlAborted.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSyrControlAborted test failed"
+    sys.exit(1)
+
+GraphSyrControlAborted.DoneW()
+
+print "GraphSyrControlAborted Errors Messages :"
+print GraphSyrControlAborted.Messages()
+
+
+from SuperV import *
+
+# GraphSyrControlAve
+GraphSyrControlAve = Graph( "GraphSyrControlAve" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAve.xml'
+
+GraphSyrControlAve.Import( anXmlFile )
+
+RunOk = GraphSyrControlAve.Run()
+if RunOk == 0 :
+    print "Error : Success call to Run"
+    print "GraphSyrControlAve test failed"
+    sys.exit(1)
+
+GraphSyrControlAve.DoneW()
+
+Messages = GraphSyrControlAve.Messages()
+if Messages != "" :
+    print "Error GraphSyrControlAve has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphSyrControlAveValid
+GraphSyrControlAveValid = Graph( "GraphSyrControlAveValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAveValid.xml'
+
+GraphSyrControlAveValid.Import( anXmlFile )
+
+RunOk = GraphSyrControlAveValid.Run()
+if RunOk == 0 :
+    print "Error : Success call to Run"
+    print "GraphSyrControlAveValid test failed"
+    sys.exit(1)
+
+GraphSyrControlAveValid.DoneW()
+
+Messages = GraphSyrControlAveValid.Messages()
+if Messages != "" :
+    print "Error GraphSyrControlAveValid has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphSyrControlAveExecutable
+GraphSyrControlAveExecutable = Graph( "GraphSyrControlAveExecutable" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAveExecutable.xml'
+
+GraphSyrControlAveExecutable.Import( anXmlFile )
+
+RunOk = GraphSyrControlAveExecutable.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSyrControlAveExecutable test failed"
+    sys.exit(1)
+
+GraphSyrControlAveExecutable.DoneW()
+
+Messages = GraphSyrControlAveExecutable.Messages()
+if Messages != "" :
+    print "Error GraphSyrControlAveExecutable has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphSyrControlAveNOTValid
+GraphSyrControlAveNOTValid = Graph( "GraphSyrControlAveNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAveNOTValid.xml'
+
+GraphSyrControlAveNOTValid.Import( anXmlFile )
+
+RunOk = GraphSyrControlAveNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSyrControlAveNOTValid test failed"
+    sys.exit(1)
+
+GraphSyrControlAveNOTValid.DoneW()
+
+print "GraphSyrControlAveNOTValid Errors Messages :"
+print GraphSyrControlAveNOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSyrControlAveNOTValid1
+GraphSyrControlAveNOTValid1 = Graph( "GraphSyrControlAveNOTValid1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSyrControlAveNOTValid1.xml'
+
+GraphSyrControlAveNOTValid1.Import( anXmlFile )
+
+RunOk = GraphSyrControlAveNOTValid1.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSyrControlAveNOTValid1 test failed"
+    sys.exit(1)
+
+GraphSyrControlAveNOTValid1.DoneW()
+
+print "GraphSyrControlAveNOTValid1 Errors Messages :"
+print GraphSyrControlAveNOTValid1.Messages()
+
+
+from SuperV import *
+
+# GraphSwitch
+GraphSwitch = Graph( "GraphSwitch" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitch.xml'
+
+GraphSwitch.Import( anXmlFile )
+
+RunOk = GraphSwitch.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitch test failed"
+    sys.exit(1)
+
+GraphSwitch.DoneW()
+
+Messages = GraphSwitch.Messages()
+if Messages != "" :
+    print "Error GraphSwitch has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphSwitchExecutable
+GraphSwitchExecutable = Graph( "GraphSwitchExecutable" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchExecutable.xml'
+
+GraphSwitchExecutable.Import( anXmlFile )
+
+RunOk = GraphSwitchExecutable.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitchExecutable test failed"
+    sys.exit(1)
+
+GraphSwitchExecutable.DoneW()
+
+Messages = GraphSwitchExecutable.Messages()
+if Messages != "" :
+    print "Error GraphSwitchExecutable has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphSwitchNOTExecutable
+GraphSwitchNOTExecutable = Graph( "GraphSwitchNOTExecutable" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchNOTExecutable.xml'
+
+GraphSwitchNOTExecutable.Import( anXmlFile )
+
+RunOk = GraphSwitchNOTExecutable.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchNOTExecutable test failed"
+    sys.exit(1)
+
+GraphSwitchNOTExecutable.DoneW()
+
+print "GraphSwitchNOTExecutable Errors Messages :"
+print GraphSwitchNOTExecutable.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchNOTExecutable1
+GraphSwitchNOTExecutable1 = Graph( "GraphSwitchNOTExecutable1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchNOTExecutable1.xml'
+
+GraphSwitchNOTExecutable1.Import( anXmlFile )
+
+RunOk = GraphSwitchNOTExecutable1.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchNOTExecutable1 test failed"
+    sys.exit(1)
+
+GraphSwitchNOTExecutable1.DoneW()
+
+print "GraphSwitchNOTExecutable1 Errors Messages :"
+print GraphSwitchNOTExecutable1.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchNOTExecutable2
+GraphSwitchNOTExecutable2 = Graph( "GraphSwitchNOTExecutable2" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchNOTExecutable2.xml'
+
+GraphSwitchNOTExecutable2.Import( anXmlFile )
+
+RunOk = GraphSwitchNOTExecutable2.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchNOTExecutable2 test failed"
+    sys.exit(1)
+
+GraphSwitchNOTExecutable2.DoneW()
+
+print "GraphSwitchNOTExecutable2 Errors Messages :"
+print GraphSwitchNOTExecutable2.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchBranchGates
+GraphSwitchBranchGates = Graph( "GraphSwitchBranchGates" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchBranchGates.xml'
+
+GraphSwitchBranchGates.Import( anXmlFile )
+
+RunOk = GraphSwitchBranchGates.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphSwitchBranchGates test failed"
+    sys.exit(1)
+
+GraphSwitchBranchGates.DoneW()
+
+Messages = GraphSwitchBranchGates.Messages()
+if Messages != "" :
+    print "Error GraphSwitchBranchGates has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphInLinesUnValid
+GraphInLinesUnValid = Graph( "GraphInLinesUnValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphInLinesUnValid.xml'
+
+GraphInLinesUnValid.Import( anXmlFile )
+
+RunOk = GraphInLinesUnValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphInLinesUnValid test failed"
+    sys.exit(1)
+
+GraphInLinesUnValid.DoneW()
+
+print "GraphInLinesUnValid Errors Messages :"
+print GraphInLinesUnValid.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchCheckBranch2NOTValid
+GraphSwitchCheckBranch2NOTValid = Graph( "GraphSwitchCheckBranch2NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckBranch2NOTValid.xml'
+
+GraphSwitchCheckBranch2NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckBranch2NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckBranch2NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckBranch2NOTValid.DoneW()
+
+print "GraphSwitchCheckBranch2NOTValid Errors Messages :"
+print GraphSwitchCheckBranch2NOTValid.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault1NOTValid
+GraphSwitchCheckDefault1NOTValid = Graph( "GraphSwitchCheckDefault1NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault1NOTValid.xml'
+
+GraphSwitchCheckDefault1NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault1NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault1NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault1NOTValid.DoneW()
+
+print "GraphSwitchCheckDefault1NOTValid Errors Messages :"
+print GraphSwitchCheckDefault1NOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid
+GraphSwitchCheckDefault2NOTValid = Graph( "GraphSwitchCheckDefault2NOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid.xml'
+
+GraphSwitchCheckDefault2NOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid.Messages()
+
+
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid1
+GraphSwitchCheckDefault2NOTValid1 = Graph( "GraphSwitchCheckDefault2NOTValid1" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid1.xml'
+
+GraphSwitchCheckDefault2NOTValid1.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid1.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid1 test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid1.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid1 Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid1.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchCheckDefault2NOTValid2
+GraphSwitchCheckDefault2NOTValid2 = Graph( "GraphSwitchCheckDefault2NOTValid2" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchCheckDefault2NOTValid2.xml'
+
+GraphSwitchCheckDefault2NOTValid2.Import( anXmlFile )
+
+RunOk = GraphSwitchCheckDefault2NOTValid2.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchCheckDefault2NOTValid2 test failed"
+    sys.exit(1)
+
+GraphSwitchCheckDefault2NOTValid2.DoneW()
+
+print "GraphSwitchCheckDefault2NOTValid2 Errors Messages :"
+print GraphSwitchCheckDefault2NOTValid2.Messages()
+
+
+from SuperV import *
+
+# GraphLoopsCoupled
+GraphLoopsCoupled = Graph( "GraphLoopsCoupled" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopsCoupled.xml'
+
+GraphLoopsCoupled.Import( anXmlFile )
+
+RunOk = GraphLoopsCoupled.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphLoopsCoupled test failed"
+    sys.exit(1)
+
+GraphLoopsCoupled.DoneW()
+
+print "GraphLoopsCoupled Errors Messages :"
+print GraphLoopsCoupled.Messages()
+
+
+from SuperV import *
+
+# GraphLoopGates
+GraphLoopGates = Graph( "GraphLoopGates" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopGates.xml'
+
+GraphLoopGates.Import( anXmlFile )
+
+RunOk = GraphLoopGates.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopGates test failed"
+    sys.exit(1)
+
+GraphLoopGates.DoneW()
+
+Messages = GraphSwitchBranchGates.Messages()
+if Messages != "" :
+    print "Error GraphSwitchBranchGates has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+
+from SuperV import *
+
+# GraphLoopGatesNOTValid
+GraphLoopGatesNOTValid = Graph( "GraphLoopGatesNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopGatesNOTValid.xml'
+
+GraphLoopGatesNOTValid.Import( anXmlFile )
+
+RunOk = GraphLoopGatesNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphLoopGatesNOTValid test failed"
+    sys.exit(1)
+
+GraphLoopGatesNOTValid.DoneW()
+
+print "GraphLoopGatesNOTValid Errors Messages :"
+print GraphLoopGatesNOTValid.Messages()
+
+
+from SuperV import *
+
+# GraphSwitchManyCases
+GraphSwitchManyCases = Graph( "GraphSwitchManyCases" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchManyCases.xml'
+
+GraphSwitchManyCases.Import( anXmlFile )
+
+RunOk = GraphSwitchManyCases.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchManyCases test failed"
+    sys.exit(1)
+
+GraphSwitchManyCases.DoneW()
+
+print "GraphSwitchManyCases Errors Messages :"
+print GraphSwitchManyCases.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopTwoBranches
+GraphLoopTwoBranches = Graph( "GraphLoopTwoBranches" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopTwoBranches.xml'
+
+GraphLoopTwoBranches.Import( anXmlFile )
+
+RunOk = GraphLoopTwoBranches.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopTwoBranches test failed"
+    sys.exit(1)
+
+GraphLoopTwoBranches.DoneW()
+
+print "GraphLoopTwoBranches Errors Messages :"
+print GraphLoopTwoBranches.Messages()
+
+
+
+from SuperV import *
+
+# GraphSwitchOutputNOTValid
+GraphSwitchOutputNOTValid = Graph( "GraphSwitchOutputNOTValid" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphSwitchOutputNOTValid.xml'
+
+GraphSwitchOutputNOTValid.Import( anXmlFile )
+
+RunOk = GraphSwitchOutputNOTValid.Run()
+if RunOk != 0 :
+    print "Error : Success call to Run"
+    print "GraphSwitchOutputNOTValid test failed"
+    sys.exit(1)
+
+GraphSwitchOutputNOTValid.DoneW()
+
+print "GraphSwitchOutputNOTValid Errors Messages :"
+print GraphSwitchOutputNOTValid.Messages()
+
+
+
+from SuperV import *
+
+# GraphLoopSwitch
+GraphLoopSwitch = Graph( "GraphLoopSwitch" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitch.xml'
+
+GraphLoopSwitch.Import( anXmlFile )
+
+RunOk = GraphLoopSwitch.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitch test failed"
+    sys.exit(1)
+
+GraphLoopSwitch.DoneW()
+
+Messages = GraphLoopSwitch.Messages()
+if Messages != "" :
+    print "Error GraphLoopSwitch has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+
+from SuperV import *
+
+# GraphLoopSwitchGateDefault
+GraphLoopSwitchGateDefault = Graph( "GraphLoopSwitchGateDefault" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchGateDefault.xml'
+
+GraphLoopSwitchGateDefault.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchGateDefault.Run()
+if RunOk == 0 :
+    print "Error : UnSuccess call to Run"
+    print "GraphLoopSwitchGateDefault test failed"
+    sys.exit(1)
+
+GraphLoopSwitchGateDefault.DoneW()
+
+Messages = GraphLoopSwitchGateDefault.Messages()
+if Messages != "" :
+    print "Error GraphLoopSwitchGateDefault has Messages :"
+    print Messages
+    sys.exit(1)
+
+
+from SuperV import *
+
+# GraphLoopSwitchGatesDefault
+GraphLoopSwitchGatesDefault = Graph( "GraphLoopSwitchGatesDefault" )
+
+anXmlFile = os.getenv('SUPERV_ROOT_DIR') + '/examples/GraphLoopSwitchGatesDefault.xml'
+
+GraphLoopSwitchGatesDefault.Import( anXmlFile )
+
+RunOk = GraphLoopSwitchGatesDefault.Run()
+if RunOk == 1 :
+    print "Error : Success call to Run"
+    print "GraphLoopSwitchGatesDefault test failed"
+    sys.exit(1)
+
+GraphLoopSwitchGatesDefault.DoneW()
+
+print "GraphLoopSwitchGatesDefault Errors Messages :"
+print GraphLoopSwitchGatesDefault.Messages()
+
+
+
+
+
+sys.exit(0)
+
index 7201a440b1141a5cd70deb9c08f84a2c6c93376e..6731b6b9caad4085eea71bef7d6adb9e5d011c9e 100755 (executable)
@@ -1,19 +1,19 @@
 
-# Generated python file of Graph GraphGOTO_2_2
+# Generated python file of Graph GraphGOTO1
 
 from SuperV import *
 
-# Graph creation of GraphGOTO_2_2
-def DefGraphGOTO_2_2() :
-    GraphGOTO_2_2 = Graph( 'GraphGOTO_2_2' )
-    GraphGOTO_2_2.SetName( 'GraphGOTO_2_2' )
-    GraphGOTO_2_2.SetAuthor( 'JR' )
-    GraphGOTO_2_2.SetComment( 'Syracuse algorithm' )
-    GraphGOTO_2_2.Coords( 0 , 0 )
+# Graph creation of GraphGOTO1
+def DefGraphGOTO1() :
+    GraphGOTO1 = Graph( 'GraphGOTO1' )
+    GraphGOTO1.SetName( 'GraphGOTO1' )
+    GraphGOTO1.SetAuthor( 'JR' )
+    GraphGOTO1.SetComment( 'Syracuse algorithm' )
+    GraphGOTO1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
-    test_ISEVEN = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN = GraphGOTO1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
     test_ISEVEN.SetName( 'test_ISEVEN' )
     test_ISEVEN.SetAuthor( '' )
     test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
@@ -24,7 +24,7 @@ def DefGraphGOTO_2_2() :
     Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
     Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
     
-    test_ISONE = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE = GraphGOTO1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
     test_ISONE.SetName( 'test_ISONE' )
     test_ISONE.SetAuthor( '' )
     test_ISONE.SetContainer( 'localhost/FactoryServer' )
@@ -35,7 +35,7 @@ def DefGraphGOTO_2_2() :
     Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
     Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
     
-    m3p1 = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1 = GraphGOTO1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
     m3p1.SetName( 'm3p1' )
     m3p1.SetAuthor( '' )
     m3p1.SetContainer( 'localhost/FactoryServer' )
@@ -46,7 +46,7 @@ def DefGraphGOTO_2_2() :
     Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
     Om3p1Gate = m3p1.GetOutPort( 'Gate' )
     
-    div2 = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2 = GraphGOTO1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
     div2.SetName( 'div2' )
     div2.SetAuthor( '' )
     div2.SetContainer( 'localhost/FactoryServer' )
@@ -57,7 +57,7 @@ def DefGraphGOTO_2_2() :
     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
     Odiv2Gate = div2.GetOutPort( 'Gate' )
     
-    incr = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr = GraphGOTO1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
     incr.SetName( 'incr' )
     incr.SetAuthor( '' )
     incr.SetContainer( 'localhost/FactoryServer' )
@@ -73,7 +73,7 @@ def DefGraphGOTO_2_2() :
     Pylabel_begin.append( 'def label_begin( NB , KB ):' )
     Pylabel_begin.append( '    print "label_begin",NB,KB' )
     Pylabel_begin.append( '    return NB,KB' )
-    label_begin = GraphGOTO_2_2.INode( 'label_begin' , Pylabel_begin )
+    label_begin = GraphGOTO1.INode( 'label_begin' , Pylabel_begin )
     label_begin.SetName( 'label_begin' )
     label_begin.SetAuthor( '' )
     label_begin.SetComment( 'Python function' )
@@ -89,7 +89,7 @@ def DefGraphGOTO_2_2() :
     Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
     Pylabel_test.append( '    print "label_begin",ValEven,ValOne,NB,KB' )
     Pylabel_test.append( '    return ValEven,ValOne,NB,KB' )
-    label_test = GraphGOTO_2_2.INode( 'label_test' , Pylabel_test )
+    label_test = GraphGOTO1.INode( 'label_test' , Pylabel_test )
     label_test.SetName( 'label_test' )
     label_test.SetAuthor( '' )
     label_test.SetComment( 'Python function' )
@@ -122,7 +122,7 @@ def DefGraphGOTO_2_2() :
     Pytest.append( '        Odd = 0' )
     Pytest.append( '    Even = ValEven' )
     Pytest.append( '    return Finished,Incr,Even,Odd,NT,KT' )
-    test,EndSwitch_OneEven = GraphGOTO_2_2.SNode( 'Switch_OneEven' , Pytest )
+    test,EndSwitch_OneEven = GraphGOTO1.SNode( 'Switch_OneEven' , Pytest )
     EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
     EndSwitch_OneEven.SetAuthor( '' )
     EndSwitch_OneEven.SetComment( 'Compute Node' )
@@ -159,7 +159,7 @@ def DefGraphGOTO_2_2() :
     Pycontrol_m3p1 = []
     Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
     Pycontrol_m3p1.append( '    return 0,1,N,K' )
-    control_m3p1 = GraphGOTO_2_2.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1 = GraphGOTO1.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
     control_m3p1.SetName( 'control_m3p1' )
     control_m3p1.SetAuthor( '' )
     control_m3p1.SetComment( 'Compute Node' )
@@ -176,7 +176,7 @@ def DefGraphGOTO_2_2() :
     Pycontrol_div2 = []
     Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
     Pycontrol_div2.append( '    return N,NB' )
-    control_div2 = GraphGOTO_2_2.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2 = GraphGOTO1.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
     control_div2.SetName( 'control_div2' )
     control_div2.SetAuthor( '' )
     control_div2.SetComment( 'Compute Node' )
@@ -189,81 +189,81 @@ def DefGraphGOTO_2_2() :
     Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
     
     # Creation of Links
-    Ltest_ISEVENBoolEvenlabel_testValEven = GraphGOTO_2_2.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphGOTO1.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 369 , 273 )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 370 , 498 )
     
-    Ltest_ISONEBoolOnelabel_testValOne = GraphGOTO_2_2.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne = GraphGOTO1.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
     Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 384 , 281 )
     Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 384 , 225 )
     
-    Lm3p1anEvenIntegercontrol_m3p1N = GraphGOTO_2_2.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphGOTO1.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
     
-    Ldiv2anIntegercontrol_div2N = GraphGOTO_2_2.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N = GraphGOTO1.Link( Odiv2anInteger , Icontrol_div2N )
     
-    LincraNewCountcontrol_m3p1K = GraphGOTO_2_2.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K = GraphGOTO1.Link( OincraNewCount , Icontrol_m3p1K )
     LincraNewCountcontrol_m3p1K.AddCoord( 1 , 1048 , 139 )
     LincraNewCountcontrol_m3p1K.AddCoord( 2 , 1048 , 241 )
     
-    LincraNewCountcontrol_div2K = GraphGOTO_2_2.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K = GraphGOTO1.Link( OincraNewCount , Icontrol_div2K )
     LincraNewCountcontrol_div2K.AddCoord( 1 , 1052 , 504 )
     LincraNewCountcontrol_div2K.AddCoord( 2 , 1049 , 239 )
     
-    Llabel_beginNTlabel_testNT = GraphGOTO_2_2.Link( Olabel_beginNT , Ilabel_testNT )
+    Llabel_beginNTlabel_testNT = GraphGOTO1.Link( Olabel_beginNT , Ilabel_testNT )
     
-    Llabel_beginNTtest_ISONEanInteger = GraphGOTO_2_2.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger = GraphGOTO1.Link( Olabel_beginNT , Itest_ISONEanInteger )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 192 , 226 )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 191 , 331 )
     
-    Llabel_beginNTtest_ISEVENanInteger = GraphGOTO_2_2.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger = GraphGOTO1.Link( Olabel_beginNT , Itest_ISEVENanInteger )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 191 , 494 )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 192 , 331 )
     
-    Llabel_beginKTlabel_testKT = GraphGOTO_2_2.Link( Olabel_beginKT , Ilabel_testKT )
+    Llabel_beginKTlabel_testKT = GraphGOTO1.Link( Olabel_beginKT , Ilabel_testKT )
     
-    Llabel_testValEventestValEven = GraphGOTO_2_2.Link( Olabel_testValEven , ItestValEven )
+    Llabel_testValEventestValEven = GraphGOTO1.Link( Olabel_testValEven , ItestValEven )
     
-    Llabel_testValOnetestValOne = GraphGOTO_2_2.Link( Olabel_testValOne , ItestValOne )
+    Llabel_testValOnetestValOne = GraphGOTO1.Link( Olabel_testValOne , ItestValOne )
     
-    Llabel_testNTtestNT = GraphGOTO_2_2.Link( Olabel_testNT , ItestNT )
+    Llabel_testNTtestNT = GraphGOTO1.Link( Olabel_testNT , ItestNT )
     
-    Llabel_testKTtestKT = GraphGOTO_2_2.Link( Olabel_testKT , ItestKT )
+    Llabel_testKTtestKT = GraphGOTO1.Link( Olabel_testKT , ItestKT )
     
-    LtestFinishedEndSwitch_OneEvenFinished = GraphGOTO_2_2.Link( OtestFinished , IEndSwitch_OneEvenFinished )
+    LtestFinishedEndSwitch_OneEvenFinished = GraphGOTO1.Link( OtestFinished , IEndSwitch_OneEvenFinished )
     
-    LtestEvendiv2Gate = GraphGOTO_2_2.Link( OtestEven , Idiv2Gate )
+    LtestEvendiv2Gate = GraphGOTO1.Link( OtestEven , Idiv2Gate )
     LtestEvendiv2Gate.AddCoord( 1 , 793 , 561 )
     LtestEvendiv2Gate.AddCoord( 2 , 794 , 310 )
     
-    LtestOddm3p1Gate = GraphGOTO_2_2.Link( OtestOdd , Im3p1Gate )
+    LtestOddm3p1Gate = GraphGOTO1.Link( OtestOdd , Im3p1Gate )
     LtestOddm3p1Gate.AddCoord( 1 , 778 , 138 )
     LtestOddm3p1Gate.AddCoord( 2 , 780 , 328 )
     
-    LtestNm3p1anOddInteger = GraphGOTO_2_2.Link( OtestN , Im3p1anOddInteger )
+    LtestNm3p1anOddInteger = GraphGOTO1.Link( OtestN , Im3p1anOddInteger )
     LtestNm3p1anOddInteger.AddCoord( 1 , 808 , 113 )
     LtestNm3p1anOddInteger.AddCoord( 2 , 807 , 352 )
     
-    LtestNdiv2anEvenInteger = GraphGOTO_2_2.Link( OtestN , Idiv2anEvenInteger )
+    LtestNdiv2anEvenInteger = GraphGOTO1.Link( OtestN , Idiv2anEvenInteger )
     LtestNdiv2anEvenInteger.AddCoord( 1 , 806 , 537 )
     LtestNdiv2anEvenInteger.AddCoord( 2 , 807 , 351 )
     
-    LtestKEndSwitch_OneEvenK = GraphGOTO_2_2.Link( OtestK , IEndSwitch_OneEvenK )
+    LtestKEndSwitch_OneEvenK = GraphGOTO1.Link( OtestK , IEndSwitch_OneEvenK )
     
-    LtestKincraCount = GraphGOTO_2_2.Link( OtestK , IincraCount )
+    LtestKincraCount = GraphGOTO1.Link( OtestK , IincraCount )
     LtestKincraCount.AddCoord( 1 , 773 , 236 )
     LtestKincraCount.AddCoord( 2 , 773 , 370 )
     
-    LtestDefaultEndSwitch_OneEvenDefault = GraphGOTO_2_2.Link( OtestDefault , IEndSwitch_OneEvenDefault )
+    LtestDefaultEndSwitch_OneEvenDefault = GraphGOTO1.Link( OtestDefault , IEndSwitch_OneEvenDefault )
     LtestDefaultEndSwitch_OneEvenDefault.AddCoord( 1 , 840 , 381 )
     LtestDefaultEndSwitch_OneEvenDefault.AddCoord( 2 , 839 , 394 )
     
-    Lcontrol_m3p1Gatelabel_testGate = GraphGOTO_2_2.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate = GraphGOTO1.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 388 , 388 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 389 , 597 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1441 , 604 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1441 , 199 )
     
-    Lcontrol_div2Gatelabel_beginGate = GraphGOTO_2_2.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate = GraphGOTO1.Link( Ocontrol_div2Gate , Ilabel_beginGate )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 4 , 388 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 3 , 587 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1307 , 586 )
@@ -277,7 +277,7 @@ def DefGraphGOTO_2_2() :
     #OtestIncr = test.GetOutPort( 'Incr' )
     #OEndSwitch_OneEvenFinished = EndSwitch_OneEven.GetOutPort( 'Finished' )
     #OEndSwitch_OneEvenK = EndSwitch_OneEven.GetOutPort( 'K' )
-    return GraphGOTO_2_2
+    return GraphGOTO1
 
 
-GraphGOTO_2_2 = DefGraphGOTO_2_2()
+GraphGOTO1 = DefGraphGOTO1()
index 7aa0df21770bb4f85b461d21e1ae980c4fd2a274..620e0dbd7b404634446852413b3dbebc7e2362c9 100755 (executable)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphGOTO_2_2</node-name>
+    <node-name>GraphGOTO1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphGOTO_2_2</service-name>
+<service-name>GraphGOTO_2_2_3</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -30,7 +30,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>17/1/2005 - 13:44:46</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -56,8 +56,8 @@
        <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
@@ -82,8 +82,8 @@
        <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return ValEven,ValOne,NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
       <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",Finished,K]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_m3p1</FuncName>
       <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
       <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_div2</FuncName>
       <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
       <PyFunc><![CDATA[    return N,NB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>18/1/2005 - 16:18:56</creation-date>
-    <lastmodification-date>18/1/2005 - 16:18:56</lastmodification-date>
+    <creation-date>6/6/2005 - 14:54:25</creation-date>
+    <lastmodification-date>6/6/2005 - 14:54:25</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <y>528</y>     </coord>    </coord-list>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphGOTO_2_2</fromnode-name>
+<fromnode-name>GraphGOTO1</fromnode-name>
     <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>NB</toserviceparameter-name>
      <value>7</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphGOTO_2_2</fromnode-name>
+<fromnode-name>GraphGOTO1</fromnode-name>
     <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>KB</toserviceparameter-name>
index 95519b97bde9b95cc2212cb2e3207b4bb54ff0ec..f9dc8b3f352b4c484a17024ed4c3b8fe72da67a4 100644 (file)
@@ -1,19 +1,19 @@
 
-# Generated python file of Graph GraphGOTO_2_2
+# Generated python file of Graph GraphGOTOAborted
 
 from SuperV import *
 
-# Graph creation of GraphGOTO_2_2
-def DefGraphGOTO_2_2() :
-    GraphGOTO_2_2 = Graph( 'GraphGOTO_2_2' )
-    GraphGOTO_2_2.SetName( 'GraphGOTO_2_2' )
-    GraphGOTO_2_2.SetAuthor( 'JR' )
-    GraphGOTO_2_2.SetComment( 'Syracuse algorithm' )
-    GraphGOTO_2_2.Coords( 0 , 0 )
+# Graph creation of GraphGOTOAborted
+def DefGraphGOTOAborted() :
+    GraphGOTOAborted = Graph( 'GraphGOTOAborted' )
+    GraphGOTOAborted.SetName( 'GraphGOTOAborted' )
+    GraphGOTOAborted.SetAuthor( 'JR' )
+    GraphGOTOAborted.SetComment( 'Syracuse algorithm' )
+    GraphGOTOAborted.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
-    test_ISEVEN = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN = GraphGOTOAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
     test_ISEVEN.SetName( 'test_ISEVEN' )
     test_ISEVEN.SetAuthor( '' )
     test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
@@ -24,7 +24,7 @@ def DefGraphGOTO_2_2() :
     Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
     Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
     
-    test_ISONE = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE = GraphGOTOAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
     test_ISONE.SetName( 'test_ISONE' )
     test_ISONE.SetAuthor( '' )
     test_ISONE.SetContainer( 'localhost/FactoryServer' )
@@ -35,7 +35,7 @@ def DefGraphGOTO_2_2() :
     Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
     Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
     
-    m3p1 = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1 = GraphGOTOAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
     m3p1.SetName( 'm3p1' )
     m3p1.SetAuthor( '' )
     m3p1.SetContainer( 'localhost/FactoryServer' )
@@ -46,7 +46,7 @@ def DefGraphGOTO_2_2() :
     Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
     Om3p1Gate = m3p1.GetOutPort( 'Gate' )
     
-    div2 = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2 = GraphGOTOAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
     div2.SetName( 'div2' )
     div2.SetAuthor( '' )
     div2.SetContainer( 'localhost/FactoryServer' )
@@ -57,7 +57,7 @@ def DefGraphGOTO_2_2() :
     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
     Odiv2Gate = div2.GetOutPort( 'Gate' )
     
-    incr = GraphGOTO_2_2.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr = GraphGOTOAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
     incr.SetName( 'incr' )
     incr.SetAuthor( '' )
     incr.SetContainer( 'localhost/FactoryServer' )
@@ -73,7 +73,7 @@ def DefGraphGOTO_2_2() :
     Pylabel_begin.append( 'def label_begin( NB , KB ):' )
     Pylabel_begin.append( '    print "label_begin",NB,KB' )
     Pylabel_begin.append( '    return NB,KB' )
-    label_begin = GraphGOTO_2_2.INode( 'label_begin' , Pylabel_begin )
+    label_begin = GraphGOTOAborted.INode( 'label_begin' , Pylabel_begin )
     label_begin.SetName( 'label_begin' )
     label_begin.SetAuthor( '' )
     label_begin.SetComment( 'Python function' )
@@ -89,7 +89,7 @@ def DefGraphGOTO_2_2() :
     Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
     Pylabel_test.append( '    print "label_begin",ValEven,ValOne,NB,KB' )
     Pylabel_test.append( '    return ValEven,ValOne,NB,KB' )
-    label_test = GraphGOTO_2_2.INode( 'label_test' , Pylabel_test )
+    label_test = GraphGOTOAborted.INode( 'label_test' , Pylabel_test )
     label_test.SetName( 'label_test' )
     label_test.SetAuthor( '' )
     label_test.SetComment( 'Python function' )
@@ -122,7 +122,7 @@ def DefGraphGOTO_2_2() :
     Pytest.append( '        Odd = 0' )
     Pytest.append( '    Even = ValEven' )
     Pytest.append( '    return Finished,Incr,Even,Odd,NT,KT' )
-    test,EndSwitch_OneEven = GraphGOTO_2_2.SNode( 'Switch_OneEven' , Pytest )
+    test,EndSwitch_OneEven = GraphGOTOAborted.SNode( 'Switch_OneEven' , Pytest )
     EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
     EndSwitch_OneEven.SetAuthor( '' )
     EndSwitch_OneEven.SetComment( 'Compute Node' )
@@ -159,7 +159,7 @@ def DefGraphGOTO_2_2() :
     Pycontrol_m3p1 = []
     Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
     Pycontrol_m3p1.append( '    return 0,1,N,K' )
-    control_m3p1 = GraphGOTO_2_2.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1 = GraphGOTOAborted.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
     control_m3p1.SetName( 'control_m3p1' )
     control_m3p1.SetAuthor( '' )
     control_m3p1.SetComment( 'Compute Node' )
@@ -176,7 +176,7 @@ def DefGraphGOTO_2_2() :
     Pycontrol_div2 = []
     Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
     Pycontrol_div2.append( '    return N,NB' )
-    control_div2 = GraphGOTO_2_2.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2 = GraphGOTOAborted.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
     control_div2.SetName( 'control_div2' )
     control_div2.SetAuthor( '' )
     control_div2.SetComment( 'Compute Node' )
@@ -189,83 +189,83 @@ def DefGraphGOTO_2_2() :
     Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
     
     # Creation of Links
-    Ltest_ISEVENBoolEvenlabel_testValEven = GraphGOTO_2_2.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphGOTOAborted.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 369 , 273 )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 370 , 498 )
     
-    Ltest_ISONEBoolOnelabel_testValOne = GraphGOTO_2_2.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne = GraphGOTOAborted.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
     Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 384 , 281 )
     Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 384 , 225 )
     
-    Lm3p1anEvenIntegercontrol_m3p1N = GraphGOTO_2_2.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphGOTOAborted.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
     
-    Ldiv2anIntegercontrol_div2N = GraphGOTO_2_2.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N = GraphGOTOAborted.Link( Odiv2anInteger , Icontrol_div2N )
     
-    LincraNewCountcontrol_m3p1K = GraphGOTO_2_2.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K = GraphGOTOAborted.Link( OincraNewCount , Icontrol_m3p1K )
     LincraNewCountcontrol_m3p1K.AddCoord( 1 , 1048 , 139 )
     LincraNewCountcontrol_m3p1K.AddCoord( 2 , 1048 , 241 )
     
-    LincraNewCountcontrol_div2K = GraphGOTO_2_2.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K = GraphGOTOAborted.Link( OincraNewCount , Icontrol_div2K )
     LincraNewCountcontrol_div2K.AddCoord( 1 , 1052 , 504 )
     LincraNewCountcontrol_div2K.AddCoord( 2 , 1049 , 239 )
     
-    Llabel_beginNTlabel_testNT = GraphGOTO_2_2.Link( Olabel_beginNT , Ilabel_testNT )
+    Llabel_beginNTlabel_testNT = GraphGOTOAborted.Link( Olabel_beginNT , Ilabel_testNT )
     
-    Llabel_beginNTtest_ISONEanInteger = GraphGOTO_2_2.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger = GraphGOTOAborted.Link( Olabel_beginNT , Itest_ISONEanInteger )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 192 , 226 )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 191 , 331 )
     
-    Llabel_beginNTtest_ISEVENanInteger = GraphGOTO_2_2.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger = GraphGOTOAborted.Link( Olabel_beginNT , Itest_ISEVENanInteger )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 191 , 494 )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 192 , 331 )
     
-    Llabel_beginKTlabel_testKT = GraphGOTO_2_2.Link( Olabel_beginKT , Ilabel_testKT )
+    Llabel_beginKTlabel_testKT = GraphGOTOAborted.Link( Olabel_beginKT , Ilabel_testKT )
     
-    Llabel_testValEventestValEven = GraphGOTO_2_2.Link( Olabel_testValEven , ItestValEven )
+    Llabel_testValEventestValEven = GraphGOTOAborted.Link( Olabel_testValEven , ItestValEven )
     
-    Llabel_testValOnetestValOne = GraphGOTO_2_2.Link( Olabel_testValOne , ItestValOne )
+    Llabel_testValOnetestValOne = GraphGOTOAborted.Link( Olabel_testValOne , ItestValOne )
     
-    Llabel_testNTtestNT = GraphGOTO_2_2.Link( Olabel_testNT , ItestNT )
+    Llabel_testNTtestNT = GraphGOTOAborted.Link( Olabel_testNT , ItestNT )
     
-    Llabel_testKTtestKT = GraphGOTO_2_2.Link( Olabel_testKT , ItestKT )
+    Llabel_testKTtestKT = GraphGOTOAborted.Link( Olabel_testKT , ItestKT )
     
-    LtestFinishedEndSwitch_OneEvenFinished = GraphGOTO_2_2.Link( OtestFinished , IEndSwitch_OneEvenFinished )
+    LtestFinishedEndSwitch_OneEvenFinished = GraphGOTOAborted.Link( OtestFinished , IEndSwitch_OneEvenFinished )
     
-    LtestIncrincrGate = GraphGOTO_2_2.Link( OtestIncr , IincrGate )
+    LtestIncrincrGate = GraphGOTOAborted.Link( OtestIncr , IincrGate )
     
-    LtestEvendiv2Gate = GraphGOTO_2_2.Link( OtestEven , Idiv2Gate )
+    LtestEvendiv2Gate = GraphGOTOAborted.Link( OtestEven , Idiv2Gate )
     LtestEvendiv2Gate.AddCoord( 1 , 793 , 561 )
     LtestEvendiv2Gate.AddCoord( 2 , 794 , 310 )
     
-    LtestOddm3p1Gate = GraphGOTO_2_2.Link( OtestOdd , Im3p1Gate )
+    LtestOddm3p1Gate = GraphGOTOAborted.Link( OtestOdd , Im3p1Gate )
     LtestOddm3p1Gate.AddCoord( 1 , 778 , 138 )
     LtestOddm3p1Gate.AddCoord( 2 , 780 , 328 )
     
-    LtestNm3p1anOddInteger = GraphGOTO_2_2.Link( OtestN , Im3p1anOddInteger )
+    LtestNm3p1anOddInteger = GraphGOTOAborted.Link( OtestN , Im3p1anOddInteger )
     LtestNm3p1anOddInteger.AddCoord( 1 , 808 , 113 )
     LtestNm3p1anOddInteger.AddCoord( 2 , 807 , 352 )
     
-    LtestNdiv2anEvenInteger = GraphGOTO_2_2.Link( OtestN , Idiv2anEvenInteger )
+    LtestNdiv2anEvenInteger = GraphGOTOAborted.Link( OtestN , Idiv2anEvenInteger )
     LtestNdiv2anEvenInteger.AddCoord( 1 , 806 , 537 )
     LtestNdiv2anEvenInteger.AddCoord( 2 , 807 , 351 )
     
-    LtestKEndSwitch_OneEvenK = GraphGOTO_2_2.Link( OtestK , IEndSwitch_OneEvenK )
+    LtestKEndSwitch_OneEvenK = GraphGOTOAborted.Link( OtestK , IEndSwitch_OneEvenK )
     
-    LtestKincraCount = GraphGOTO_2_2.Link( OtestK , IincraCount )
+    LtestKincraCount = GraphGOTOAborted.Link( OtestK , IincraCount )
     LtestKincraCount.AddCoord( 1 , 773 , 236 )
     LtestKincraCount.AddCoord( 2 , 773 , 370 )
     
-    LtestDefaultEndSwitch_OneEvenDefault = GraphGOTO_2_2.Link( OtestDefault , IEndSwitch_OneEvenDefault )
+    LtestDefaultEndSwitch_OneEvenDefault = GraphGOTOAborted.Link( OtestDefault , IEndSwitch_OneEvenDefault )
     LtestDefaultEndSwitch_OneEvenDefault.AddCoord( 1 , 840 , 381 )
     LtestDefaultEndSwitch_OneEvenDefault.AddCoord( 2 , 839 , 394 )
     
-    Lcontrol_m3p1Gatelabel_testGate = GraphGOTO_2_2.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate = GraphGOTOAborted.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 388 , 388 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 389 , 597 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1441 , 604 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1441 , 199 )
     
-    Lcontrol_div2Gatelabel_beginGate = GraphGOTO_2_2.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate = GraphGOTOAborted.Link( Ocontrol_div2Gate , Ilabel_beginGate )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 4 , 388 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 3 , 587 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1307 , 586 )
@@ -278,7 +278,7 @@ def DefGraphGOTO_2_2() :
     # Output Ports of the graph
     #OEndSwitch_OneEvenFinished = EndSwitch_OneEven.GetOutPort( 'Finished' )
     #OEndSwitch_OneEvenK = EndSwitch_OneEven.GetOutPort( 'K' )
-    return GraphGOTO_2_2
+    return GraphGOTOAborted
 
 
-GraphGOTO_2_2 = DefGraphGOTO_2_2()
+GraphGOTOAborted = DefGraphGOTOAborted()
index 2f25ecd77396d57788f31d0e1435bb770bea28ff..02feebc1f778de8e30e43c2f3f51447600269299 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphGOTO_2_2</node-name>
+    <node-name>GraphGOTOAborted</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphGOTO_2_2</service-name>
+<service-name>GraphGOTO_2_2_2</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -27,7 +27,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>17/1/2005 - 13:44:46</creation-date>
-    <lastmodification-date>19/1/2005 - 18:25:16</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -53,8 +53,8 @@
        <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
@@ -79,8 +79,8 @@
        <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return ValEven,ValOne,NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
       <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",Finished,K]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_m3p1</FuncName>
       <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
       <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_div2</FuncName>
       <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
       <PyFunc><![CDATA[    return N,NB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:24:34</creation-date>
-    <lastmodification-date>19/1/2005 - 18:24:34</lastmodification-date>
+    <creation-date>6/6/2005 - 14:53:29</creation-date>
+    <lastmodification-date>6/6/2005 - 14:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <y>528</y>     </coord>    </coord-list>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphGOTO_2_2</fromnode-name>
+<fromnode-name>GraphGOTOAborted</fromnode-name>
     <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>NB</toserviceparameter-name>
      <value>7</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphGOTO_2_2</fromnode-name>
+<fromnode-name>GraphGOTOAborted</fromnode-name>
     <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>KB</toserviceparameter-name>
diff --git a/examples/GraphGOTOAddMemory.py b/examples/GraphGOTOAddMemory.py
new file mode 100644 (file)
index 0000000..5484a36
--- /dev/null
@@ -0,0 +1,68 @@
+
+# Generated python file of Graph GraphGOTOAddMemory
+
+from SuperV import *
+
+# Graph creation of GraphGOTOAddMemory
+def DefGraphGOTOAddMemory() :
+    GraphGOTOAddMemory = Graph( 'GraphGOTOAddMemory' )
+    GraphGOTOAddMemory.SetName( 'GraphGOTOAddMemory' )
+    GraphGOTOAddMemory.SetAuthor( 'JR' )
+    GraphGOTOAddMemory.SetComment( 'To study memory leaks' )
+    GraphGOTOAddMemory.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    AddWithoutSleep = GraphGOTOAddMemory.FNode( 'AddComponent' , 'AddComponent' , 'AddWithoutSleep' )
+    AddWithoutSleep.SetName( 'AddWithoutSleep' )
+    AddWithoutSleep.SetAuthor( '' )
+    AddWithoutSleep.SetContainer( 'localhost/FactoryServer' )
+    AddWithoutSleep.SetComment( 'AddWithoutSleep from AddComponent' )
+    AddWithoutSleep.Coords( 297 , 138 )
+    IAddWithoutSleepx = AddWithoutSleep.GetInPort( 'x' )
+    IAddWithoutSleepy = AddWithoutSleep.GetInPort( 'y' )
+    IAddWithoutSleepGate = AddWithoutSleep.GetInPort( 'Gate' )
+    OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    OAddWithoutSleepGate = AddWithoutSleep.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyInLine = []
+    InLine = GraphGOTOAddMemory.INode( '' , PyInLine )
+    InLine.SetName( 'InLine' )
+    InLine.SetAuthor( '' )
+    InLine.SetComment( 'Compute Node' )
+    InLine.Coords( 74 , 178 )
+    IInLineGate = InLine.GetInPort( 'Gate' )
+    OInLineGate = InLine.GetOutPort( 'Gate' )
+    
+    # Creation of GOTO Nodes
+    PyGoTo = []
+    GoTo = GraphGOTOAddMemory.GNode( '' , PyGoTo , 'InLine' )
+    GoTo.SetName( 'GoTo' )
+    GoTo.SetAuthor( '' )
+    GoTo.SetComment( 'Compute Node' )
+    GoTo.Coords( 533 , 218 )
+    IGoToGate = GoTo.GetInPort( 'Gate' )
+    OGoToGate = GoTo.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LInLineGateAddWithoutSleepGate = GraphGOTOAddMemory.Link( OInLineGate , IAddWithoutSleepGate )
+    
+    LGoToGateInLineGate = GraphGOTOAddMemory.Link( OGoToGate , IInLineGate )
+    LGoToGateInLineGate.AddCoord( 1 , 69 , 420 )
+    LGoToGateInLineGate.AddCoord( 2 , 700 , 420 )
+    
+    LAddWithoutSleepGateGoToGate = GraphGOTOAddMemory.Link( OAddWithoutSleepGate , IGoToGate )
+    
+    # Input datas
+    IAddWithoutSleepx.Input( 1 )
+    IAddWithoutSleepy.Input( 2 )
+    
+    # Output Ports of the graph
+    #OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    #OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    return GraphGOTOAddMemory
+
+
+GraphGOTOAddMemory = DefGraphGOTOAddMemory()
diff --git a/examples/GraphGOTOAddMemory.xml b/examples/GraphGOTOAddMemory.xml
new file mode 100644 (file)
index 0000000..02c082b
--- /dev/null
@@ -0,0 +1,159 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphGOTOAddMemory</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphGOTOAddMemory_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AddWithoutSleep__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AddWithoutSleep__y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>17/2/2005 - 14:8:55</creation-date>
+    <lastmodification-date>21/2/2005 - 10:9:51</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>To study memory leaks</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>InLine</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>InLine</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 10:9:51</creation-date>
+    <lastmodification-date>21/2/2005 - 10:9:51</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>74</x-position>
+    <y-position>178</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GoTo</node-name>
+    <kind>8</kind>
+    <coupled-node>InLine</coupled-node>
+    <service>
+<service-name>GoTo</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 10:9:51</creation-date>
+    <lastmodification-date>21/2/2005 - 10:9:51</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>533</x-position>
+    <y-position>218</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>AddWithoutSleep</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>AddWithoutSleep</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>21/2/2005 - 10:9:51</creation-date>
+    <lastmodification-date>21/2/2005 - 10:9:51</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>AddWithoutSleep from AddComponent</comment>
+    <x-position>297</x-position>
+    <y-position>138</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>InLine</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>AddWithoutSleep</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>GoTo</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>InLine</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>69</x>
+      <y>420</y>     </coord>
+     <coord>
+<x>700</x>
+      <y>420</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>AddWithoutSleep</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>GoTo</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphGOTOAddMemory</fromnode-name>
+    <fromserviceparameter-name>AddWithoutSleep__x</fromserviceparameter-name>
+    <tonode-name>AddWithoutSleep</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>GraphGOTOAddMemory</fromnode-name>
+    <fromserviceparameter-name>AddWithoutSleep__y</fromserviceparameter-name>
+    <tonode-name>AddWithoutSleep</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>2</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphGOTOMemory.py b/examples/GraphGOTOMemory.py
new file mode 100644 (file)
index 0000000..45d24c7
--- /dev/null
@@ -0,0 +1,47 @@
+
+# Generated python file of Graph GraphGOTOMemory
+
+from SuperV import *
+
+# Graph creation of GraphGOTOMemory
+def DefGraphGOTOMemory() :
+    GraphGOTOMemory = Graph( 'GraphGOTOMemory' )
+    GraphGOTOMemory.SetName( 'GraphGOTOMemory' )
+    GraphGOTOMemory.SetAuthor( 'JR' )
+    GraphGOTOMemory.SetComment( 'To study memory leaks' )
+    GraphGOTOMemory.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyInLine = []
+    InLine = GraphGOTOMemory.INode( '' , PyInLine )
+    InLine.SetName( 'InLine' )
+    InLine.SetAuthor( '' )
+    InLine.SetComment( 'Compute Node' )
+    InLine.Coords( 74 , 178 )
+    IInLineGate = InLine.GetInPort( 'Gate' )
+    OInLineGate = InLine.GetOutPort( 'Gate' )
+    
+    # Creation of GOTO Nodes
+    PyGoTo = []
+    GoTo = GraphGOTOMemory.GNode( '' , PyGoTo , 'InLine' )
+    GoTo.SetName( 'GoTo' )
+    GoTo.SetAuthor( '' )
+    GoTo.SetComment( 'Compute Node' )
+    GoTo.Coords( 533 , 218 )
+    IGoToGate = GoTo.GetInPort( 'Gate' )
+    OGoToGate = GoTo.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LInLineGateGoToGate = GraphGOTOMemory.Link( OInLineGate , IGoToGate )
+    
+    LGoToGateInLineGate = GraphGOTOMemory.Link( OGoToGate , IInLineGate )
+    LGoToGateInLineGate.AddCoord( 1 , 69 , 420 )
+    LGoToGateInLineGate.AddCoord( 2 , 700 , 420 )
+    
+    # Output Ports of the graph
+    return GraphGOTOMemory
+
+
+GraphGOTOMemory = DefGraphGOTOMemory()
diff --git a/examples/GraphGOTOMemory.xml b/examples/GraphGOTOMemory.xml
new file mode 100644 (file)
index 0000000..d9a98a9
--- /dev/null
@@ -0,0 +1,91 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphGOTOMemory</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphGOTOAddMemory_2</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>17/2/2005 - 14:8:55</creation-date>
+    <lastmodification-date>21/2/2005 - 10:10:15</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>To study memory leaks</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>InLine</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>InLine</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 10:10:15</creation-date>
+    <lastmodification-date>21/2/2005 - 10:10:15</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>74</x-position>
+    <y-position>178</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GoTo</node-name>
+    <kind>8</kind>
+    <coupled-node>InLine</coupled-node>
+    <service>
+<service-name>GoTo</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 10:10:15</creation-date>
+    <lastmodification-date>21/2/2005 - 10:10:15</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>533</x-position>
+    <y-position>218</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>InLine</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>GoTo</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>GoTo</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>InLine</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>69</x>
+      <y>420</y>     </coord>
+     <coord>
+<x>700</x>
+      <y>420</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list/> </dataflow></supergraph>
index eff96a9afcdd46beb46cac0db5b789685ef14f95..a228eb3edb5cf1ee50e224478ee504892c2d4106 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphInputInLoop_2
+# Generated python file of Graph GraphInputInLoop_2_1
 
 from SuperV import *
 
-# Graph creation of GraphInputInLoop_2
-def DefGraphInputInLoop_2() :
-    GraphInputInLoop_2 = Graph( 'GraphInputInLoop_2' )
-    GraphInputInLoop_2.SetName( 'GraphInputInLoop_2' )
-    GraphInputInLoop_2.SetAuthor( '' )
-    GraphInputInLoop_2.SetComment( '' )
-    GraphInputInLoop_2.Coords( 0 , 0 )
+# Graph creation of GraphInputInLoop_2_1
+def DefGraphInputInLoop_2_1() :
+    GraphInputInLoop_2_1 = Graph( 'GraphInputInLoop_2_1' )
+    GraphInputInLoop_2_1.SetName( 'GraphInputInLoop_2_1' )
+    GraphInputInLoop_2_1.SetAuthor( '' )
+    GraphInputInLoop_2_1.SetComment( '' )
+    GraphInputInLoop_2_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,11 +20,11 @@ def DefGraphInputInLoop_2() :
     PyIsOdd.append( '    print 'IsOdd',a,Even,Const  ' )
     PyIsOdd.append( '    sleep( 1 )      ' )
     PyIsOdd.append( '    return a,Const ' )
-    IsOdd = GraphInputInLoop_2.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphInputInLoop_2_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
-    IsOdd.Coords( 397 , 1 )
+    IsOdd.Coords( 397 , 5 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
     IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddConst = IsOdd.InPort( 'Const' , 'string' )
@@ -39,11 +39,11 @@ def DefGraphInputInLoop_2() :
     PyMoreInitLoop.append( '' )
     PyNextInitLoop = []
     PyNextInitLoop.append( '' )
-    InitLoop,EndOfInitLoop = GraphInputInLoop_2.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    InitLoop,EndOfInitLoop = GraphInputInLoop_2_1.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
     EndOfInitLoop.SetName( 'EndOfInitLoop' )
     EndOfInitLoop.SetAuthor( '' )
     EndOfInitLoop.SetComment( 'Compute Node' )
-    EndOfInitLoop.Coords( 767 , 105 )
+    EndOfInitLoop.Coords( 770 , 147 )
     PyEndOfInitLoop = []
     PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
     PyEndOfInitLoop.append( '  Index = Index + 1     ' )
@@ -84,11 +84,11 @@ def DefGraphInputInLoop_2() :
     PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
     PySwitch.append( '        sleep(1)  ' )
     PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-    Switch,EndSwitch = GraphInputInLoop_2.SNode( 'Switch' , PySwitch )
+    Switch,EndSwitch = GraphInputInLoop_2_1.SNode( 'Switch' , PySwitch )
     EndSwitch.SetName( 'EndSwitch' )
     EndSwitch.SetAuthor( '' )
     EndSwitch.SetComment( 'Compute Node' )
-    EndSwitch.Coords( 587 , 105 )
+    EndSwitch.Coords( 588 , 147 )
     PyEndSwitch = []
     PyEndSwitch.append( 'def EndSwitch(a) :    ' )
     PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
@@ -111,42 +111,40 @@ def DefGraphInputInLoop_2() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndSwitcha = GraphInputInLoop_2.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 576 , 73 )
+    LIsOddaEndSwitcha = GraphInputInLoop_2_1.Link( OIsOdda , IEndSwitcha )
+    LIsOddaEndSwitcha.AddCoord( 1 , 573 , 178 )
+    LIsOddaEndSwitcha.AddCoord( 2 , 573 , 76 )
     
-    LInitLoopIndexSwitcha = GraphInputInLoop_2.Link( OInitLoopIndex , ISwitcha )
+    LInitLoopIndexSwitcha = GraphInputInLoop_2_1.Link( OInitLoopIndex , ISwitcha )
     
-    LInitLoopMinEndOfInitLoopMin = GraphInputInLoop_2.Link( OInitLoopMin , IEndOfInitLoopMin )
+    LInitLoopMinEndOfInitLoopMin = GraphInputInLoop_2_1.Link( OInitLoopMin , IEndOfInitLoopMin )
     
-    LInitLoopMaxEndOfInitLoopMax = GraphInputInLoop_2.Link( OInitLoopMax , IEndOfInitLoopMax )
+    LInitLoopMaxEndOfInitLoopMax = GraphInputInLoop_2_1.Link( OInitLoopMax , IEndOfInitLoopMax )
     
-    LSwitchOddIsOddGate = GraphInputInLoop_2.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphInputInLoop_2_1.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchEvenEndSwitchDefault = GraphInputInLoop_2.Link( OSwitchEven , IEndSwitchDefault )
+    LSwitchEvenIsOddEven = GraphInputInLoop_2_1.Link( OSwitchEven , IIsOddEven )
     
-    LSwitchEvenIsOddEven = GraphInputInLoop_2.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 92 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 159 )
-    
-    LSwitchaIsOdda = GraphInputInLoop_2.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphInputInLoop_2_1.Link( OSwitcha , IIsOdda )
     LSwitchaIsOdda.AddCoord( 1 , 366 , 71 )
     LSwitchaIsOdda.AddCoord( 2 , 366 , 182 )
     
-    LEndSwitchaEndOfInitLoopIndex = GraphInputInLoop_2.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    LSwitchDefaultEndSwitchDefault = GraphInputInLoop_2_1.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphInputInLoop_2_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
     # Input datas
     IIsOddConst.Input( 'Const Input Value' )
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 0 )
-    IInitLoopMax.Input( 100 )
+    IInitLoopMax.Input( 23 )
     
     # Output Ports of the graph
     #OIsOddConst = IsOdd.GetOutPort( 'Const' )
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-    return GraphInputInLoop_2
+    return GraphInputInLoop_2_1
 
 
-GraphInputInLoop_2 = DefGraphInputInLoop_2()
+GraphInputInLoop_2_1 = DefGraphInputInLoop_2_1()
index b15d875ee3f37c59440001220fc0eabef8cb8626..dc605bfe0316a09c7e8f5e66ecf3bf0ff397493b 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphInputInLoop_2</node-name>
+    <node-name>GraphInputInLoop_2_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphInputInLoop_2</service-name>
+<service-name>GraphInputInLoop_2_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>string</inParameter-type>
@@ -39,7 +39,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print 'IsOdd',a,Even,Const  ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Const ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>7/1/2005 - 16:47:59</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <creation-date>8/3/2005 - 15:2:42</creation-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Python function</comment>
     <x-position>397</x-position>
-    <y-position>1</y-position>   </node>
+    <y-position>5</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>7/1/2005 - 16:47:59</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <creation-date>8/3/2005 - 15:2:42</creation-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>7/1/2005 - 16:47:59</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <creation-date>8/3/2005 - 15:2:42</creation-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>767</x-position>
-    <y-position>105</y-position>   </node>
+    <x-position>770</x-position>
+    <y-position>147</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>7/1/2005 - 16:47:59</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <creation-date>8/3/2005 - 15:2:42</creation-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>7/1/2005 - 16:47:59</creation-date>
-    <lastmodification-date>7/1/2005 - 16:47:59</lastmodification-date>
+    <creation-date>8/3/2005 - 15:2:42</creation-date>
+    <lastmodification-date>8/3/2005 - 15:2:42</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>587</x-position>
-    <y-position>105</y-position>   </node>  </node-list>
+    <x-position>588</x-position>
+    <y-position>147</y-position>   </node>  </node-list>
   <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>576</x>
-      <y>136</y>     </coord>
+<x>573</x>
+      <y>178</y>     </coord>
      <coord>
-<x>576</x>
-      <y>73</y>     </coord>    </coord-list>   </link>
+<x>573</x>
+      <y>76</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>EndSwitch</tonode-name>
-    <toserviceparameter-name>Default</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>Even</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>92</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>159</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
 <x>366</x>
       <y>182</y>     </coord>    </coord-list>   </link>
    <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndOfInitLoop</tonode-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphInputInLoop_2</fromnode-name>
+<fromnode-name>GraphInputInLoop_2_1</fromnode-name>
     <fromserviceparameter-name>IsOdd__Const</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>Const</toserviceparameter-name>
      <value>Const Input Value</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphInputInLoop_2</fromnode-name>
+<fromnode-name>GraphInputInLoop_2_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphInputInLoop_2</fromnode-name>
+<fromnode-name>GraphInputInLoop_2_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphInputInLoop_2</fromnode-name>
+<fromnode-name>GraphInputInLoop_2_1</fromnode-name>
     <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
-     <value>100</value>    </data-value>
+     <value>23</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 91b1d7244256d7ff9765d091b86f2f63aae28f21..870d2659fa3657c25ee41f992d622033da41ce26 100644 (file)
@@ -1,21 +1,21 @@
 
-# Generated python file of Graph GraphLoop_2
+# Generated python file of Graph GraphLoop1
 
 from SuperV import *
 
-# Graph creation of GraphLoop_2
-def DefGraphLoop_2() :
-    GraphLoop_2 = Graph( 'GraphLoop_2' )
-    GraphLoop_2.SetName( 'GraphLoop_2' )
-    GraphLoop_2.SetAuthor( '' )
-    GraphLoop_2.SetComment( '' )
-    GraphLoop_2.Coords( 0 , 0 )
+# Graph creation of GraphLoop1
+def DefGraphLoop1() :
+    GraphLoop1 = Graph( 'GraphLoop1' )
+    GraphLoop1.SetName( 'GraphLoop1' )
+    GraphLoop1.SetAuthor( '' )
+    GraphLoop1.SetComment( '' )
+    GraphLoop1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
     # Creation of InLine Nodes
     PyNodeIndex = []
-    NodeIndex = GraphLoop_2.INode( '' , PyNodeIndex )
+    NodeIndex = GraphLoop1.INode( '' , PyNodeIndex )
     NodeIndex.SetName( 'NodeIndex' )
     NodeIndex.SetAuthor( '' )
     NodeIndex.SetComment( 'Compute Node' )
@@ -26,7 +26,7 @@ def DefGraphLoop_2() :
     ONodeIndexGate = NodeIndex.GetOutPort( 'Gate' )
     
     PyNodeIncr = []
-    NodeIncr = GraphLoop_2.INode( '' , PyNodeIncr )
+    NodeIncr = GraphLoop1.INode( '' , PyNodeIncr )
     NodeIncr.SetName( 'NodeIncr' )
     NodeIncr.SetAuthor( '' )
     NodeIncr.SetComment( 'Compute Node' )
@@ -57,7 +57,7 @@ def DefGraphLoop_2() :
     PyNextInit.append( 'def Next(Index,Min,Max,Incr) :   ' )
     PyNextInit.append( '    Index = Index + Incr   ' )
     PyNextInit.append( '    return Index,Min,Max,Incr  ' )
-    Init,EndInit = GraphLoop_2.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    Init,EndInit = GraphLoop1.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
     EndInit.SetName( 'EndInit' )
     EndInit.SetAuthor( '' )
     EndInit.SetComment( 'Compute Node' )
@@ -93,17 +93,17 @@ def DefGraphLoop_2() :
     Init.Coords( 17 , 257 )
     
     # Creation of Links
-    LInitIndexNodeIndexIndex = GraphLoop_2.Link( OInitIndex , INodeIndexIndex )
+    LInitIndexNodeIndexIndex = GraphLoop1.Link( OInitIndex , INodeIndexIndex )
     
-    LInitMinEndInitMin = GraphLoop_2.Link( OInitMin , IEndInitMin )
+    LInitMinEndInitMin = GraphLoop1.Link( OInitMin , IEndInitMin )
     
-    LInitMaxEndInitMax = GraphLoop_2.Link( OInitMax , IEndInitMax )
+    LInitMaxEndInitMax = GraphLoop1.Link( OInitMax , IEndInitMax )
     
-    LInitIncrNodeIncrIncr = GraphLoop_2.Link( OInitIncr , INodeIncrIncr )
+    LInitIncrNodeIncrIncr = GraphLoop1.Link( OInitIncr , INodeIncrIncr )
     
-    LNodeIndexIndexEndInitIndex = GraphLoop_2.Link( ONodeIndexIndex , IEndInitIndex )
+    LNodeIndexIndexEndInitIndex = GraphLoop1.Link( ONodeIndexIndex , IEndInitIndex )
     
-    LNodeIncrIncrEndInitIncr = GraphLoop_2.Link( ONodeIncrIncr , IEndInitIncr )
+    LNodeIncrIncrEndInitIncr = GraphLoop1.Link( ONodeIncrIncr , IEndInitIncr )
     
     # Input datas
     IInitIndex.Input( 0 )
@@ -116,7 +116,7 @@ def DefGraphLoop_2() :
     #OEndInitMin = EndInit.GetOutPort( 'Min' )
     #OEndInitMax = EndInit.GetOutPort( 'Max' )
     #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
-    return GraphLoop_2
+    return GraphLoop1
 
 
-GraphLoop_2 = DefGraphLoop_2()
+GraphLoop1 = DefGraphLoop1()
index 19a8a72844f3ecd8e590bc67779a16655aea36e1..f5ad503de51b4ddec65941e1b8fbbfd06255314f 100644 (file)
@@ -5,7 +5,7 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphLoop_2</node-name>
+    <node-name>GraphLoop1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
@@ -39,7 +39,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>24/3/2003 - 14:44:35</creation-date>
-    <lastmodification-date>26/5/2005 - 10:10:48</lastmodification-date>
+    <lastmodification-date>6/6/2005 - 15:13:52</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) :   ]]></PyFunc>
       <PyFunc><![CDATA[    Index = Index + Incr   ]]></PyFunc>
       <PyFunc><![CDATA[    return Index,Min,Max,Incr  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/5/2005 - 10:10:48</creation-date>
-    <lastmodification-date>26/5/2005 - 10:10:48</lastmodification-date>
+    <creation-date>6/6/2005 - 15:13:52</creation-date>
+    <lastmodification-date>6/6/2005 - 15:13:52</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/5/2005 - 10:10:48</creation-date>
-    <lastmodification-date>26/5/2005 - 10:10:48</lastmodification-date>
+    <creation-date>6/6/2005 - 15:13:52</creation-date>
+    <lastmodification-date>6/6/2005 - 15:13:52</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/5/2005 - 10:10:48</creation-date>
-    <lastmodification-date>26/5/2005 - 10:10:48</lastmodification-date>
+    <creation-date>6/6/2005 - 15:13:52</creation-date>
+    <lastmodification-date>6/6/2005 - 15:13:52</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/5/2005 - 10:10:48</creation-date>
-    <lastmodification-date>26/5/2005 - 10:10:48</lastmodification-date>
+    <creation-date>6/6/2005 - 15:13:52</creation-date>
+    <lastmodification-date>6/6/2005 - 15:13:52</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphLoop_2</fromnode-name>
+<fromnode-name>GraphLoop1</fromnode-name>
     <fromserviceparameter-name>Init__Index</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoop_2</fromnode-name>
+<fromnode-name>GraphLoop1</fromnode-name>
     <fromserviceparameter-name>Init__Min</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoop_2</fromnode-name>
+<fromnode-name>GraphLoop1</fromnode-name>
     <fromserviceparameter-name>Init__Max</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
      <value>10</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoop_2</fromnode-name>
+<fromnode-name>GraphLoop1</fromnode-name>
     <fromserviceparameter-name>Init__Incr</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>Incr</toserviceparameter-name>
diff --git a/examples/GraphLoop2.py b/examples/GraphLoop2.py
new file mode 100644 (file)
index 0000000..a9e33ec
--- /dev/null
@@ -0,0 +1,126 @@
+
+# Generated python file of Graph GraphLoop2
+
+from SuperV import *
+
+# Graph creation of GraphLoop2
+def DefGraphLoop2() :
+    GraphLoop2 = Graph( 'GraphLoop2' )
+    GraphLoop2.SetName( 'GraphLoop2' )
+    GraphLoop2.SetAuthor( '' )
+    GraphLoop2.SetComment( '' )
+    GraphLoop2.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyNodeIndex = []
+    NodeIndex = GraphLoop2.INode( '' , PyNodeIndex )
+    NodeIndex.SetName( 'NodeIndex' )
+    NodeIndex.SetAuthor( '' )
+    NodeIndex.SetComment( 'Compute Node' )
+    NodeIndex.Coords( 281 , 215 )
+    INodeIndexIndex = NodeIndex.InPort( 'Index' , 'long' )
+    INodeIndexGate = NodeIndex.GetInPort( 'Gate' )
+    ONodeIndexIndex = NodeIndex.OutPort( 'Index' , 'long' )
+    ONodeIndexGate = NodeIndex.GetOutPort( 'Gate' )
+    
+    PyNodeIncr = []
+    NodeIncr = GraphLoop2.INode( '' , PyNodeIncr )
+    NodeIncr.SetName( 'NodeIncr' )
+    NodeIncr.SetAuthor( '' )
+    NodeIncr.SetComment( 'Compute Node' )
+    NodeIncr.Coords( 278 , 372 )
+    INodeIncrIncr = NodeIncr.InPort( 'Incr' , 'long' )
+    INodeIncraString = NodeIncr.InPort( 'aString' , 'string' )
+    INodeIncrGate = NodeIncr.GetInPort( 'Gate' )
+    ONodeIncrIncr = NodeIncr.OutPort( 'Incr' , 'long' )
+    ONodeIncraString = NodeIncr.OutPort( 'aString' , 'string' )
+    ONodeIncrGate = NodeIncr.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(Index,Min,Max,Incr) :   ' )
+    PyInit.append( '    if Min <= Max :   ' )
+    PyInit.append( '        Index = Min   ' )
+    PyInit.append( '    else :   ' )
+    PyInit.append( '        Index = Max   ' )
+    PyInit.append( '    return Index,Min,Max,Incr   ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'import time ' )
+    PyMoreInit.append( 'def More(Index,Min,Max,Incr) :   ' )
+    PyMoreInit.append( '    time.sleep(2) ' )
+    PyMoreInit.append( '    if Index < Max :   ' )
+    PyMoreInit.append( '        DoLoop = 1   ' )
+    PyMoreInit.append( '    else :   ' )
+    PyMoreInit.append( '        DoLoop = 0   ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr   ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max,Incr) :   ' )
+    PyNextInit.append( '    Index = Index + Incr   ' )
+    PyNextInit.append( '    return Index,Min,Max,Incr  ' )
+    Init,EndInit = GraphLoop2.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 555 , 255 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitIncr = Init.InPort( 'Incr' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    OInitIncr = Init.GetOutPort( 'Incr' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitIncr = EndInit.GetInPort( 'Incr' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 17 , 257 )
+    
+    # Creation of Links
+    LInitIndexNodeIndexIndex = GraphLoop2.Link( OInitIndex , INodeIndexIndex )
+    
+    LInitMinEndInitMin = GraphLoop2.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoop2.Link( OInitMax , IEndInitMax )
+    
+    LInitIncrNodeIncrIncr = GraphLoop2.Link( OInitIncr , INodeIncrIncr )
+    
+    LNodeIndexIndexEndInitIndex = GraphLoop2.Link( ONodeIndexIndex , IEndInitIndex )
+    
+    LNodeIncrIncrEndInitIncr = GraphLoop2.Link( ONodeIncrIncr , IEndInitIncr )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 10 )
+    IInitIncr.Input( 1 )
+    INodeIncraString.Input( 'NodeToDelete' )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    #ONodeIncraString = NodeIncr.GetOutPort( 'aString' )
+    return GraphLoop2
+
+
+GraphLoop2 = DefGraphLoop2()
diff --git a/examples/GraphLoop2.xml b/examples/GraphLoop2.xml
new file mode 100644 (file)
index 0000000..b0831b5
--- /dev/null
@@ -0,0 +1,328 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoop2</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoop1_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>long</inParameter-type>
+       <inParameter-name>Init__Incr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>NodeIncr__aString</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>long</outParameter-type>
+       <outParameter-name>EndInit__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>NodeIncr__aString</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>24/3/2003 - 14:44:35</creation-date>
+    <lastmodification-date>6/6/2005 - 16:24:36</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Min,Max,Incr) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Min <= Max :   ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[import time ]]></PyFunc>
+      <PyFunc><![CDATA[def More(Index,Min,Max,Incr) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    time.sleep(2) ]]></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,Incr   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + Incr   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 16:24:36</creation-date>
+    <lastmodification-date>6/6/2005 - 16:24:36</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>17</x-position>
+    <y-position>257</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 16:24:36</creation-date>
+    <lastmodification-date>6/6/2005 - 16:24:36</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>555</x-position>
+    <y-position>255</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>NodeIndex</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>NodeIndex</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 16:24:36</creation-date>
+    <lastmodification-date>6/6/2005 - 16:24:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>281</x-position>
+    <y-position>215</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>NodeIncr</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>NodeIncr</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>aString</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>aString</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/6/2005 - 16:24:36</creation-date>
+    <lastmodification-date>6/6/2005 - 16:24:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>278</x-position>
+    <y-position>372</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>NodeIndex</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>Init</fromnode-name>
+    <fromserviceparameter-name>Incr</fromserviceparameter-name>
+    <tonode-name>NodeIncr</tonode-name>
+    <toserviceparameter-name>Incr</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>NodeIndex</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>NodeIncr</fromnode-name>
+    <fromserviceparameter-name>Incr</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Incr</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoop2</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>GraphLoop2</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>GraphLoop2</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>10</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoop2</fromnode-name>
+    <fromserviceparameter-name>Init__Incr</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Incr</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoop2</fromnode-name>
+    <fromserviceparameter-name>NodeIncr__aString</fromserviceparameter-name>
+    <tonode-name>NodeIncr</tonode-name>
+    <toserviceparameter-name>aString</toserviceparameter-name>
+    <data-value>
+<value-type>18</value-type>
+     <value>NodeToDelete</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopAddMemory.py b/examples/GraphLoopAddMemory.py
new file mode 100644 (file)
index 0000000..396d58c
--- /dev/null
@@ -0,0 +1,114 @@
+
+# Generated python file of Graph GraphLoopAddMemory
+
+from SuperV import *
+
+# Graph creation of GraphLoopAddMemory
+def DefGraphLoopAddMemory() :
+    GraphLoopAddMemory = Graph( 'GraphLoopAddMemory' )
+    GraphLoopAddMemory.SetName( 'GraphLoopAddMemory' )
+    GraphLoopAddMemory.SetAuthor( 'JR' )
+    GraphLoopAddMemory.SetComment( 'For solving of memory leaks' )
+    GraphLoopAddMemory.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    AddWithoutSleep = GraphLoopAddMemory.FNode( 'AddComponent' , 'AddComponent' , 'AddWithoutSleep' )
+    AddWithoutSleep.SetName( 'AddWithoutSleep' )
+    AddWithoutSleep.SetAuthor( '' )
+    AddWithoutSleep.SetContainer( 'localhost/FactoryServer' )
+    AddWithoutSleep.SetComment( 'AddWithoutSleep from AddComponent' )
+    AddWithoutSleep.Coords( 246 , 262 )
+    IAddWithoutSleepx = AddWithoutSleep.GetInPort( 'x' )
+    IAddWithoutSleepy = AddWithoutSleep.GetInPort( 'y' )
+    IAddWithoutSleepGate = AddWithoutSleep.GetInPort( 'Gate' )
+    OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    OAddWithoutSleepGate = AddWithoutSleep.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(Index,Min,Max,Incr) :    ' )
+    PyInit.append( '    if Min <= Max :    ' )
+    PyInit.append( '        Index = Min    ' )
+    PyInit.append( '    else :    ' )
+    PyInit.append( '        Index = Max    ' )
+    PyInit.append( '    return Index,Min,Max,Incr    ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(Index,Min,Max,Incr) :    ' )
+    PyMoreInit.append( '    if Index < Max :    ' )
+    PyMoreInit.append( '        DoLoop = 1    ' )
+    PyMoreInit.append( '    else :    ' )
+    PyMoreInit.append( '        DoLoop = 0    ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr    ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max,Incr) :    ' )
+    PyNextInit.append( '    Index = Index + Incr    ' )
+    PyNextInit.append( '    return Index,Min,Max,Incr   ' )
+    Init,EndInit = GraphLoopAddMemory.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 495 , 262 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitIncr = Init.InPort( 'Incr' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    OInitIncr = Init.GetOutPort( 'Incr' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitIncr = EndInit.GetInPort( 'Incr' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 17 , 257 )
+    
+    # Creation of Links
+    LInitIndexEndInitIndex = GraphLoopAddMemory.Link( OInitIndex , IEndInitIndex )
+    
+    LInitIndexAddWithoutSleepx = GraphLoopAddMemory.Link( OInitIndex , IAddWithoutSleepx )
+    
+    LInitMinEndInitMin = GraphLoopAddMemory.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoopAddMemory.Link( OInitMax , IEndInitMax )
+    
+    LInitMaxAddWithoutSleepy = GraphLoopAddMemory.Link( OInitMax , IAddWithoutSleepy )
+    
+    LInitIncrEndInitIncr = GraphLoopAddMemory.Link( OInitIncr , IEndInitIncr )
+    
+    LAddWithoutSleepGateEndInitGate = GraphLoopAddMemory.Link( OAddWithoutSleepGate , IEndInitGate )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 100000 )
+    IInitIncr.Input( 1 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    #OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    #OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    return GraphLoopAddMemory
+
+
+GraphLoopAddMemory = DefGraphLoopAddMemory()
diff --git a/examples/GraphLoopAddMemory.xml b/examples/GraphLoopAddMemory.xml
new file mode 100644 (file)
index 0000000..4c2512d
--- /dev/null
@@ -0,0 +1,291 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopAddMemory</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopMemory_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>long</inParameter-type>
+       <inParameter-name>Init__Incr</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>long</outParameter-type>
+       <outParameter-name>EndInit__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>24/3/2003 - 14:44:35</creation-date>
+    <lastmodification-date>14/4/2005 - 16:44:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>For solving of memory leaks</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if Min <= Max :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Min,Max,Incr) :    ]]></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,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + Incr    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/4/2005 - 16:43:41</creation-date>
+    <lastmodification-date>14/4/2005 - 16:43:41</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>17</x-position>
+    <y-position>257</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/4/2005 - 16:43:41</creation-date>
+    <lastmodification-date>14/4/2005 - 16:43:41</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>495</x-position>
+    <y-position>262</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>AddWithoutSleep</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>AddWithoutSleep</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>14/4/2005 - 16:44:22</creation-date>
+    <lastmodification-date>14/4/2005 - 16:44:22</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>AddWithoutSleep from AddComponent</comment>
+    <x-position>246</x-position>
+    <y-position>262</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>AddWithoutSleep</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>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>AddWithoutSleep</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Incr</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Incr</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>AddWithoutSleep</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopAddMemory</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>GraphLoopAddMemory</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>GraphLoopAddMemory</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>100000</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopAddMemory</fromnode-name>
+    <fromserviceparameter-name>Init__Incr</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Incr</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 0126d3b73f16e8a213aa6d8f4b7f584c4ec3621e..d334a9c442fcb1defe8ae03e2b4db80aa70fd6e0 100644 (file)
@@ -102,7 +102,7 @@ def DefGraphLoopGates() :
     EndInit.SetName( 'EndInit' )
     EndInit.SetAuthor( '' )
     EndInit.SetComment( 'Compute Node' )
-    EndInit.Coords( 840 , 204 )
+    EndInit.Coords( 847 , 247 )
     PyEndInit = []
     EndInit.SetPyFunction( 'EndInit' , PyEndInit )
     IInitDoLoop = Init.GetInPort( 'DoLoop' )
@@ -120,35 +120,37 @@ def DefGraphLoopGates() :
     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' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
     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 )
     
+    LInitGateAdd_1Gate = GraphLoopGates.Link( OInitGate , IAdd_1Gate )
+    
+    LInitGateAddGate = GraphLoopGates.Link( OInitGate , IAddGate )
+    
     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 )
+    LSub_1zGateG2 = GraphLoopGates.Link( OSub_1z , IGateG2 )
+    
+    LSub_1GateGateGate = GraphLoopGates.Link( OSub_1Gate , IGateGate )
     
-    LGateGEndInitGate = GraphLoopGates.Link( OGateG , IEndInitGate )
+    LGateGateEndInitGate = GraphLoopGates.Link( OGateGate , IEndInitGate )
     
     # Input datas
     IInitIndex.Input( 0 )
@@ -172,7 +174,7 @@ def DefGraphLoopGates() :
     #OAdd_1FuncValue = Add_1.GetOutPort( 'FuncValue' )
     #OAdd_1z = Add_1.GetOutPort( 'z' )
     #OSubz = Sub.GetOutPort( 'z' )
-    #OSub_1z = Sub_1.GetOutPort( 'z' )
+    #OGateG = Gate.GetOutPort( 'G' )
     return GraphLoopGates
 
 
index f495d5ac4d524a1adb6fd6389106f4b64916a512..64f1e2e59ff6136988a73184344584674c6786aa 100644 (file)
@@ -9,7 +9,7 @@
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphLoopsGates</service-name>
+<service-name>GraphLoopGates1_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Gate__G</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>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
       <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</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>
+    <x-position>847</x-position>
+    <y-position>247</y-position>   </node>
    <node>
 <component-name>AddComponent</component-name>
     <interface-name>AddComponent</interface-name>
        <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <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>
+    <creation-date>4/7/2005 - 10:26:6</creation-date>
+    <lastmodification-date>4/7/2005 - 10:26:6</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <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>Max</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>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Sub_1</fromnode-name>
-    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
     <tonode-name>Gate</tonode-name>
     <toserviceparameter-name>G2</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
+<fromnode-name>Sub_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Gate</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Gate</fromnode-name>
-    <fromserviceparameter-name>G</fromserviceparameter-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
     <tonode-name>EndInit</tonode-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>  </link-list>
diff --git a/examples/GraphLoopGatesNOTValid.py b/examples/GraphLoopGatesNOTValid.py
new file mode 100644 (file)
index 0000000..877331e
--- /dev/null
@@ -0,0 +1,179 @@
+
+# Generated python file of Graph GraphLoopGatesNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphLoopGatesNOTValid
+def DefGraphLoopGatesNOTValid() :
+    GraphLoopGatesNOTValid = Graph( 'GraphLoopGatesNOTValid' )
+    GraphLoopGatesNOTValid.SetName( 'GraphLoopGatesNOTValid' )
+    GraphLoopGatesNOTValid.SetAuthor( 'JR' )
+    GraphLoopGatesNOTValid.SetComment( '' )
+    GraphLoopGatesNOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.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 = GraphLoopGatesNOTValid.Link( OInitGate , IAdd_1Gate )
+    
+    LInitGateAddGate = GraphLoopGatesNOTValid.Link( OInitGate , IAddGate )
+    
+    LInitIndexEndInitIndex = GraphLoopGatesNOTValid.Link( OInitIndex , IEndInitIndex )
+    
+    LInitMinEndInitMin = GraphLoopGatesNOTValid.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoopGatesNOTValid.Link( OInitMax , IEndInitMax )
+    
+    LAddGateSubGate = GraphLoopGatesNOTValid.Link( OAddGate , ISubGate )
+    
+    LAdd_1GateSub_1Gate = GraphLoopGatesNOTValid.Link( OAdd_1Gate , ISub_1Gate )
+    
+    LSubGateGateG1 = GraphLoopGatesNOTValid.Link( OSubGate , IGateG1 )
+    
+    LSub_1GateGateG2 = GraphLoopGatesNOTValid.Link( OSub_1Gate , IGateG2 )
+    
+    LGateGEndInitGate = GraphLoopGatesNOTValid.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 GraphLoopGatesNOTValid
+
+
+GraphLoopGatesNOTValid = DefGraphLoopGatesNOTValid()
diff --git a/examples/GraphLoopGatesNOTValid.xml b/examples/GraphLoopGatesNOTValid.xml
new file mode 100644 (file)
index 0000000..8fd11c6
--- /dev/null
@@ -0,0 +1,514 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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>GraphLoopGatesNOTValid</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/GraphLoopMemory.py b/examples/GraphLoopMemory.py
new file mode 100644 (file)
index 0000000..ac87929
--- /dev/null
@@ -0,0 +1,93 @@
+
+# Generated python file of Graph GraphLoopMemory_1
+
+from SuperV import *
+
+# Graph creation of GraphLoopMemory_1
+def DefGraphLoopMemory_1() :
+    GraphLoopMemory_1 = Graph( 'GraphLoopMemory_1' )
+    GraphLoopMemory_1.SetName( 'GraphLoopMemory_1' )
+    GraphLoopMemory_1.SetAuthor( 'JR' )
+    GraphLoopMemory_1.SetComment( 'For solving of memory leaks' )
+    GraphLoopMemory_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(Index,Min,Max,Incr) :    ' )
+    PyInit.append( '    if Min <= Max :    ' )
+    PyInit.append( '        Index = Min    ' )
+    PyInit.append( '    else :    ' )
+    PyInit.append( '        Index = Max    ' )
+    PyInit.append( '    return Index,Min,Max,Incr    ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(Index,Min,Max,Incr) :    ' )
+    PyMoreInit.append( '    if Index < Max :    ' )
+    PyMoreInit.append( '        DoLoop = 1    ' )
+    PyMoreInit.append( '    else :    ' )
+    PyMoreInit.append( '        DoLoop = 0    ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr    ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max,Incr) :    ' )
+    PyNextInit.append( '    Index = Index + Incr    ' )
+    PyNextInit.append( '    return Index,Min,Max,Incr   ' )
+    Init,EndInit = GraphLoopMemory_1.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 366 , 262 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitIncr = Init.InPort( 'Incr' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    OInitIncr = Init.GetOutPort( 'Incr' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitIncr = EndInit.GetInPort( 'Incr' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 17 , 257 )
+    
+    # Creation of Links
+    LInitIndexEndInitIndex = GraphLoopMemory_1.Link( OInitIndex , IEndInitIndex )
+    
+    LInitMinEndInitMin = GraphLoopMemory_1.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoopMemory_1.Link( OInitMax , IEndInitMax )
+    
+    LInitIncrEndInitIncr = GraphLoopMemory_1.Link( OInitIncr , IEndInitIncr )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 100000 )
+    IInitIncr.Input( 1 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    return GraphLoopMemory_1
+
+
+GraphLoopMemory_1 = DefGraphLoopMemory_1()
diff --git a/examples/GraphLoopMemory.xml b/examples/GraphLoopMemory.xml
new file mode 100644 (file)
index 0000000..713b4e5
--- /dev/null
@@ -0,0 +1,235 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopMemory_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopMemory_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>long</inParameter-type>
+       <inParameter-name>Init__Incr</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>long</outParameter-type>
+       <outParameter-name>EndInit__Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>24/3/2003 - 14:44:35</creation-date>
+    <lastmodification-date>21/2/2005 - 11:43:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>For solving of memory leaks</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if Min <= Max :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Min,Max,Incr) :    ]]></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,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + Incr    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 11:43:50</creation-date>
+    <lastmodification-date>21/2/2005 - 11:43:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>17</x-position>
+    <y-position>257</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/2/2005 - 11:43:50</creation-date>
+    <lastmodification-date>21/2/2005 - 11:43:50</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>366</x-position>
+    <y-position>262</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>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>Init</fromnode-name>
+    <fromserviceparameter-name>Incr</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Incr</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-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopMemory_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>GraphLoopMemory_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>GraphLoopMemory_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>100000</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopMemory_1</fromnode-name>
+    <fromserviceparameter-name>Init__Incr</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Incr</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopPyAddAddMemory.py b/examples/GraphLoopPyAddAddMemory.py
new file mode 100644 (file)
index 0000000..d1e9a82
--- /dev/null
@@ -0,0 +1,135 @@
+
+# Generated python file of Graph GraphLoopPyAddAddMemory
+
+from SuperV import *
+
+# Graph creation of GraphLoopPyAddAddMemory
+def DefGraphLoopPyAddAddMemory() :
+    GraphLoopPyAddAddMemory = Graph( 'GraphLoopPyAddAddMemory' )
+    GraphLoopPyAddAddMemory.SetName( 'GraphLoopPyAddAddMemory' )
+    GraphLoopPyAddAddMemory.SetAuthor( 'JR' )
+    GraphLoopPyAddAddMemory.SetComment( 'For solving of memory leaks' )
+    GraphLoopPyAddAddMemory.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    AddWithoutSleep = GraphLoopPyAddAddMemory.FNode( 'AddComponent' , 'AddComponent' , 'AddWithoutSleep' )
+    AddWithoutSleep.SetName( 'AddWithoutSleep' )
+    AddWithoutSleep.SetAuthor( '' )
+    AddWithoutSleep.SetContainer( 'localhost/FactoryServer' )
+    AddWithoutSleep.SetComment( 'AddWithoutSleep from AddComponent' )
+    AddWithoutSleep.Coords( 255 , 352 )
+    IAddWithoutSleepx = AddWithoutSleep.GetInPort( 'x' )
+    IAddWithoutSleepy = AddWithoutSleep.GetInPort( 'y' )
+    IAddWithoutSleepGate = AddWithoutSleep.GetInPort( 'Gate' )
+    OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    OAddWithoutSleepGate = AddWithoutSleep.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyPyAdd = []
+    PyPyAdd.append( 'def PyAdd(a,b) :  ' )
+    PyPyAdd.append( '    return a,a+b  ' )
+    PyAdd = GraphLoopPyAddAddMemory.INode( 'PyAdd' , PyPyAdd )
+    PyAdd.SetName( 'PyAdd' )
+    PyAdd.SetAuthor( '' )
+    PyAdd.SetComment( 'Compute Node' )
+    PyAdd.Coords( 266 , 188 )
+    IPyAdda = PyAdd.InPort( 'a' , 'long' )
+    IPyAddb = PyAdd.InPort( 'b' , 'long' )
+    IPyAddGate = PyAdd.GetInPort( 'Gate' )
+    OPyAdda = PyAdd.OutPort( 'a' , 'long' )
+    OPyAddc = PyAdd.OutPort( 'c' , 'long' )
+    OPyAddGate = PyAdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(Index,Min,Max,Incr) :    ' )
+    PyInit.append( '    if Min <= Max :    ' )
+    PyInit.append( '        Index = Min    ' )
+    PyInit.append( '    else :    ' )
+    PyInit.append( '        Index = Max    ' )
+    PyInit.append( '    return Index,Min,Max,Incr    ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(Index,Min,Max,Incr) :    ' )
+    PyMoreInit.append( '    if Index < Max :    ' )
+    PyMoreInit.append( '        DoLoop = 1    ' )
+    PyMoreInit.append( '    else :    ' )
+    PyMoreInit.append( '        DoLoop = 0    ' )
+    PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr    ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(Index,Min,Max,Incr) :    ' )
+    PyNextInit.append( '    Index = Index + Incr    ' )
+    PyNextInit.append( '    return Index,Min,Max,Incr   ' )
+    Init,EndInit = GraphLoopPyAddAddMemory.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 495 , 262 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitMin = Init.InPort( 'Min' , 'long' )
+    IInitMax = Init.InPort( 'Max' , 'long' )
+    IInitIncr = Init.InPort( 'Incr' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    OInitMin = Init.GetOutPort( 'Min' )
+    OInitMax = Init.GetOutPort( 'Max' )
+    OInitIncr = Init.GetOutPort( 'Incr' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitMin = EndInit.GetInPort( 'Min' )
+    IEndInitMax = EndInit.GetInPort( 'Max' )
+    IEndInitIncr = EndInit.GetInPort( 'Incr' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitMin = EndInit.GetOutPort( 'Min' )
+    OEndInitMax = EndInit.GetOutPort( 'Max' )
+    OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 17 , 257 )
+    
+    # Creation of Links
+    LInitIndexAddWithoutSleepx = GraphLoopPyAddAddMemory.Link( OInitIndex , IAddWithoutSleepx )
+    
+    LInitIndexPyAdda = GraphLoopPyAddAddMemory.Link( OInitIndex , IPyAdda )
+    
+    LInitMinEndInitMin = GraphLoopPyAddAddMemory.Link( OInitMin , IEndInitMin )
+    
+    LInitMaxEndInitMax = GraphLoopPyAddAddMemory.Link( OInitMax , IEndInitMax )
+    
+    LInitMaxAddWithoutSleepy = GraphLoopPyAddAddMemory.Link( OInitMax , IAddWithoutSleepy )
+    
+    LInitMaxPyAddb = GraphLoopPyAddAddMemory.Link( OInitMax , IPyAddb )
+    
+    LInitIncrEndInitIncr = GraphLoopPyAddAddMemory.Link( OInitIncr , IEndInitIncr )
+    
+    LAddWithoutSleepGateEndInitGate = GraphLoopPyAddAddMemory.Link( OAddWithoutSleepGate , IEndInitGate )
+    
+    LPyAddaEndInitIndex = GraphLoopPyAddAddMemory.Link( OPyAdda , IEndInitIndex )
+    
+    # Input datas
+    IInitIndex.Input( 0 )
+    IInitMin.Input( 5 )
+    IInitMax.Input( 100000 )
+    IInitIncr.Input( 1 )
+    
+    # Output Ports of the graph
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    #OEndInitMin = EndInit.GetOutPort( 'Min' )
+    #OEndInitMax = EndInit.GetOutPort( 'Max' )
+    #OEndInitIncr = EndInit.GetOutPort( 'Incr' )
+    #OAddWithoutSleepFuncValue = AddWithoutSleep.GetOutPort( 'FuncValue' )
+    #OAddWithoutSleepz = AddWithoutSleep.GetOutPort( 'z' )
+    #OPyAddc = PyAdd.GetOutPort( 'c' )
+    return GraphLoopPyAddAddMemory
+
+
+GraphLoopPyAddAddMemory = DefGraphLoopPyAddAddMemory()
diff --git a/examples/GraphLoopPyAddAddMemory.xml b/examples/GraphLoopPyAddAddMemory.xml
new file mode 100644 (file)
index 0000000..8f27281
--- /dev/null
@@ -0,0 +1,342 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopPyAddAddMemory</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopPyAddAddMemory</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>long</inParameter-type>
+       <inParameter-name>Init__Incr</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>long</outParameter-type>
+       <outParameter-name>EndInit__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AddWithoutSleep__z</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>PyAdd__c</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>24/3/2003 - 14:44:35</creation-date>
+    <lastmodification-date>14/4/2005 - 16:55:59</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>For solving of memory leaks</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if Min <= Max :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Min,Max,Incr) :    ]]></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,Incr    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Min,Max,Incr) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + Incr    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max,Incr   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/4/2005 - 16:43:41</creation-date>
+    <lastmodification-date>14/4/2005 - 16:43:41</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>17</x-position>
+    <y-position>257</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>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Incr</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>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/4/2005 - 16:43:41</creation-date>
+    <lastmodification-date>14/4/2005 - 16:43:41</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>495</x-position>
+    <y-position>262</y-position>   </node>
+   <node>
+<component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>AddWithoutSleep</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>AddWithoutSleep</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>14/4/2005 - 16:44:22</creation-date>
+    <lastmodification-date>14/4/2005 - 16:44:22</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>AddWithoutSleep from AddComponent</comment>
+    <x-position>255</x-position>
+    <y-position>352</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PyAdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PyAdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>b</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>c</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PyAdd</FuncName>
+      <PyFunc><![CDATA[def PyAdd(a,b) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,a+b  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/4/2005 - 16:54:44</creation-date>
+    <lastmodification-date>14/4/2005 - 16:54:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>266</x-position>
+    <y-position>188</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>AddWithoutSleep</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>PyAdd</tonode-name>
+    <toserviceparameter-name>a</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>Init</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>AddWithoutSleep</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>PyAdd</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>Incr</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Incr</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>AddWithoutSleep</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PyAdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopPyAddAddMemory</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>GraphLoopPyAddAddMemory</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>GraphLoopPyAddAddMemory</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>100000</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopPyAddAddMemory</fromnode-name>
+    <fromserviceparameter-name>Init__Incr</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Incr</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index f9998e60673b722f1c0072d9c693544a7ee5c85d..8e947c9b76fedfd0d5d15439d348cf10e69de0c3 100755 (executable)
@@ -1,47 +1,62 @@
 
-# Generated python file of Graph GraphLoopSwitch_1
+# Generated python file of Graph GraphLoopSwitch
 
 from SuperV import *
 
-# Graph creation of GraphLoopSwitch_1
-def DefGraphLoopSwitch_1() :
-    GraphLoopSwitch_1 = Graph( 'GraphLoopSwitch_1' )
-    GraphLoopSwitch_1.SetName( 'GraphLoopSwitch_1' )
-    GraphLoopSwitch_1.SetAuthor( '' )
-    GraphLoopSwitch_1.SetComment( '' )
-    GraphLoopSwitch_1.Coords( 0 , 0 )
+# Graph creation of GraphLoopSwitch
+def DefGraphLoopSwitch() :
+    GraphLoopSwitch = Graph( 'GraphLoopSwitch' )
+    GraphLoopSwitch.SetName( 'GraphLoopSwitch' )
+    GraphLoopSwitch.SetAuthor( 'JR' )
+    GraphLoopSwitch.SetComment( '' )
+    GraphLoopSwitch.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *    ' )
-    PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
-    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"       ' )
-    PyIsOdd.append( '    sleep( 1 )    ' )
-    PyIsOdd.append( '    return a      ' )
-    IsOdd = GraphLoopSwitch_1.INode( 'IsOdd' , PyIsOdd )
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitch.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
     IsOdd.Coords( 397 , 1 )
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
-    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
     
+    PyValEven = []
+    PyValEven.append( 'from time import * ' )
+    PyValEven.append( 'def ValEven(Even) : ' )
+    PyValEven.append( '    sleep(1) ' )
+    PyValEven.append( '    return Even   ' )
+    PyValEven.append( '' )
+    ValEven = GraphLoopSwitch.INode( 'ValEven' , PyValEven )
+    ValEven.SetName( 'ValEven' )
+    ValEven.SetAuthor( '' )
+    ValEven.SetComment( 'Compute Node' )
+    ValEven.Coords( 396 , 222 )
+    IValEvenEven = ValEven.InPort( 'Even' , 'long' )
+    IValEvenGate = ValEven.GetInPort( 'Gate' )
+    OValEvenEven = ValEven.OutPort( 'Even' , 'long' )
+    OValEvenGate = ValEven.GetOutPort( 'Gate' )
+    
     # Creation of Loop Nodes
     PyInitLoop = []
     PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
     PyInitLoop.append( '       Index = Min ' )
     PyInitLoop.append( '       return Index,Min,Max ' )
-    PyInitLoop.append( ' ' )
+    PyInitLoop.append( '' )
     PyMoreInitLoop = []
-    PyMoreInitLoop.append( ' ' )
+    PyMoreInitLoop.append( '' )
     PyNextInitLoop = []
-    PyNextInitLoop.append( ' ' )
-    InitLoop,EndOfInitLoop = GraphLoopSwitch_1.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitch.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
     EndOfInitLoop.SetName( 'EndOfInitLoop' )
     EndOfInitLoop.SetAuthor( '' )
     EndOfInitLoop.SetComment( 'Compute Node' )
@@ -73,6 +88,7 @@ def DefGraphLoopSwitch_1() :
     OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
     InitLoop.SetName( 'InitLoop' )
     InitLoop.SetAuthor( '' )
     InitLoop.SetComment( 'Compute Node' )
@@ -85,18 +101,18 @@ def DefGraphLoopSwitch_1() :
     PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
     PySwitch.append( '        sleep(1)  ' )
     PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-    Switch,EndSwitch = GraphLoopSwitch_1.SNode( 'Switch' , PySwitch )
+    Switch,EndSwitch = GraphLoopSwitch.SNode( 'Switch' , PySwitch )
     EndSwitch.SetName( 'EndSwitch' )
     EndSwitch.SetAuthor( '' )
     EndSwitch.SetComment( 'Compute Node' )
     EndSwitch.Coords( 587 , 103 )
     PyEndSwitch = []
-    PyEndSwitch.append( 'def EndSwitch(a) :    ' )
-    PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
-    PyEndSwitch.append( '        sleep(1)  ' )
-    PyEndSwitch.append( '    return a    ' )
+    PyEndSwitch.append( 'def EndSwitch(a,Even) : ' )
+    PyEndSwitch.append( '    sleep(1)     ' )
+    PyEndSwitch.append( '    return a       ' )
     EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
     IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchEven = EndSwitch.InPort( 'Even' , 'long' )
     IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
     OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
     OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
@@ -112,40 +128,36 @@ def DefGraphLoopSwitch_1() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndSwitcha = GraphLoopSwitch_1.Link( OIsOdda , IEndSwitcha )
-    LIsOddaEndSwitcha.AddCoord( 1 , 576 , 136 )
-    LIsOddaEndSwitcha.AddCoord( 2 , 575 , 81 )
+    LIsOddaEndSwitcha = GraphLoopSwitch.Link( OIsOdda , IEndSwitcha )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitch.Link( OInitLoopIndex , ISwitcha )
     
-    LInitLoopIndexSwitcha = GraphLoopSwitch_1.Link( OInitLoopIndex , ISwitcha )
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitch.Link( OInitLoopMin , IEndOfInitLoopMin )
     
-    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitch_1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitch.Link( OInitLoopMax , IEndOfInitLoopMax )
     
-    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitch_1.Link( OInitLoopMax , IEndOfInitLoopMax )
+    LSwitchOddIsOddGate = GraphLoopSwitch.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchOddIsOddGate = GraphLoopSwitch_1.Link( OSwitchOdd , IIsOddGate )
+    LSwitchEvenValEvenEven = GraphLoopSwitch.Link( OSwitchEven , IValEvenEven )
     
-    LSwitchEvenEndSwitchDefault = GraphLoopSwitch_1.Link( OSwitchEven , IEndSwitchDefault )
+    LSwitchaIsOdda = GraphLoopSwitch.Link( OSwitcha , IIsOdda )
     
-    LSwitchEvenIsOddEven = GraphLoopSwitch_1.Link( OSwitchEven , IIsOddEven )
-    LSwitchEvenIsOddEven.AddCoord( 1 , 375 , 111 )
-    LSwitchEvenIsOddEven.AddCoord( 2 , 375 , 172 )
+    LSwitchDefaultEndSwitchDefault = GraphLoopSwitch.Link( OSwitchDefault , IEndSwitchDefault )
     
-    LSwitchaIsOdda = GraphLoopSwitch_1.Link( OSwitcha , IIsOdda )
-    LSwitchaIsOdda.AddCoord( 1 , 362 , 82 )
-    LSwitchaIsOdda.AddCoord( 2 , 360 , 201 )
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitch.Link( OEndSwitcha , IEndOfInitLoopIndex )
     
-    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitch_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    LValEvenEvenEndSwitchEven = GraphLoopSwitch.Link( OValEvenEven , IEndSwitchEven )
     
     # Input datas
     IInitLoopIndex.Input( 0 )
     IInitLoopMin.Input( 5 )
-    IInitLoopMax.Input( 100 )
+    IInitLoopMax.Input( 23 )
     
     # Output Ports of the graph
     #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
     #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
     #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-    return GraphLoopSwitch_1
+    return GraphLoopSwitch
 
 
-GraphLoopSwitch_1 = DefGraphLoopSwitch_1()
+GraphLoopSwitch = DefGraphLoopSwitch()
index d52d92f02c2c225473af3c54d2f75e412d55ea8d..b66b2240bd79790a8192cfc0367fdd2c3154f85f 100755 (executable)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphLoopSwitch_1</node-name>
+    <node-name>GraphLoopSwitch</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphLoopSwitch_1</service-name>
+<service-name>GraphLoopSwitch</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -33,9 +33,9 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>22/10/2003 - 10:36:39</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
-    <author>?</author>
+    <author>JR</author>
     <container>?</container>
     <comment>?</comment>
     <x-position>0</x-position>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>boolean</inParameter-type>
-       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"       ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>16/12/2004 - 16:45:0</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>16/12/2004 - 16:45:0</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        else :     ]]></PyFunc>
       <PyFunc><![CDATA[                DoLoop = 0     ]]></PyFunc>
       <PyFunc><![CDATA[        return DoLoop,Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>16/12/2004 - 16:45:0</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>16/12/2004 - 16:45:0</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>EndSwitch</FuncName>
-      <PyFunc><![CDATA[def EndSwitch(a) :    ]]></PyFunc>
-      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-      <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>16/12/2004 - 16:45:0</creation-date>
-    <lastmodification-date>16/12/2004 - 16:45:0</lastmodification-date>
+      <PyFunc><![CDATA[def EndSwitch(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
     <x-position>587</x-position>
-    <y-position>103</y-position>   </node>  </node-list>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>ValEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>ValEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ValEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def ValEven(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even   ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:8:55</creation-date>
+    <lastmodification-date>8/3/2005 - 15:8:55</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>396</x-position>
+    <y-position>222</y-position>   </node>  </node-list>
   <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>576</x>
-      <y>136</y>     </coord>
-     <coord>
-<x>575</x>
-      <y>81</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>InitLoop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>EndSwitch</tonode-name>
-    <toserviceparameter-name>Default</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
+    <tonode-name>ValEven</tonode-name>
     <toserviceparameter-name>Even</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>375</x>
-      <y>111</y>     </coord>
-     <coord>
-<x>375</x>
-      <y>172</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>362</x>
-      <y>82</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>201</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndOfInitLoop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>ValEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphLoopSwitch_1</fromnode-name>
+<fromnode-name>GraphLoopSwitch</fromnode-name>
     <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoopSwitch_1</fromnode-name>
+<fromnode-name>GraphLoopSwitch</fromnode-name>
     <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoopSwitch_1</fromnode-name>
+<fromnode-name>GraphLoopSwitch</fromnode-name>
     <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
     <tonode-name>InitLoop</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
-     <value>100</value>    </data-value>
+     <value>23</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchDefault.py b/examples/GraphLoopSwitchDefault.py
new file mode 100644 (file)
index 0000000..3118178
--- /dev/null
@@ -0,0 +1,144 @@
+
+# Generated python file of Graph GraphLoopSwitchDefault
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchDefault
+def DefGraphLoopSwitchDefault() :
+    GraphLoopSwitchDefault = Graph( 'GraphLoopSwitchDefault' )
+    GraphLoopSwitchDefault.SetName( 'GraphLoopSwitchDefault' )
+    GraphLoopSwitchDefault.SetAuthor( 'JR' )
+    GraphLoopSwitchDefault.SetComment( '' )
+    GraphLoopSwitchDefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitchDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '       Index = Min ' )
+    PyInitLoop.append( '       return Index,Min,Max ' )
+    PyInitLoop.append( '' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitchDefault.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphLoopSwitchDefault.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a) :    ' )
+    PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PyEndSwitch.append( '        sleep(1)  ' )
+    PyEndSwitch.append( '    return a    ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphLoopSwitchDefault.Link( OIsOdda , IEndSwitcha )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitchDefault.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchDefault.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchDefault.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphLoopSwitchDefault.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphLoopSwitchDefault.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndSwitchDefault = GraphLoopSwitchDefault.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchDefault.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphLoopSwitchDefault
+
+
+GraphLoopSwitchDefault = DefGraphLoopSwitchDefault()
diff --git a/examples/GraphLoopSwitchDefault.xml b/examples/GraphLoopSwitchDefault.xml
new file mode 100644 (file)
index 0000000..9cc9dea
--- /dev/null
@@ -0,0 +1,336 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchDefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitch_1_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>9/2/2005 - 10:29:19</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>9/2/2005 - 10:29:19</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>9/2/2005 - 10:29:19</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>9/2/2005 - 10:29:19</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>9/2/2005 - 10:29:19</creation-date>
+    <lastmodification-date>9/2/2005 - 10:29:19</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchDefaultAborted.py b/examples/GraphLoopSwitchDefaultAborted.py
new file mode 100644 (file)
index 0000000..8ede72b
--- /dev/null
@@ -0,0 +1,161 @@
+
+# Generated python file of Graph GraphLoopSwitchDefaultAborted
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchDefaultAborted
+def DefGraphLoopSwitchDefaultAborted() :
+    GraphLoopSwitchDefaultAborted = Graph( 'GraphLoopSwitchDefaultAborted' )
+    GraphLoopSwitchDefaultAborted.SetName( 'GraphLoopSwitchDefaultAborted' )
+    GraphLoopSwitchDefaultAborted.SetAuthor( 'JR' )
+    GraphLoopSwitchDefaultAborted.SetComment( 'Default Ports are not connected and the Executor will detect a Default condition ==> ABORT' )
+    GraphLoopSwitchDefaultAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitchDefaultAborted.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyVala = []
+    PyVala.append( 'from time import * ' )
+    PyVala.append( 'def ValEven(Even) : ' )
+    PyVala.append( '    sleep(1) ' )
+    PyVala.append( '    return Even   ' )
+    PyVala.append( '' )
+    Vala = GraphLoopSwitchDefaultAborted.INode( 'ValEven' , PyVala )
+    Vala.SetName( 'Vala' )
+    Vala.SetAuthor( '' )
+    Vala.SetComment( 'Compute Node' )
+    Vala.Coords( 394 , 137 )
+    IValaEven = Vala.InPort( 'Even' , 'long' )
+    IValaGate = Vala.GetInPort( 'Gate' )
+    OValaEven = Vala.OutPort( 'Even' , 'long' )
+    OValaGate = Vala.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '       Index = Min ' )
+    PyInitLoop.append( '       return Index,Min,Max ' )
+    PyInitLoop.append( '' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitchDefaultAborted.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphLoopSwitchDefaultAborted.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a,Even) : ' )
+    PyEndSwitch.append( '    sleep(1)     ' )
+    PyEndSwitch.append( '    return a       ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchEven = EndSwitch.InPort( 'Even' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphLoopSwitchDefaultAborted.Link( OIsOdda , IEndSwitcha )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitchDefaultAborted.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchDefaultAborted.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchDefaultAborted.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphLoopSwitchDefaultAborted.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenValaEven = GraphLoopSwitchDefaultAborted.Link( OSwitchEven , IValaEven )
+    
+    LSwitchaIsOdda = GraphLoopSwitchDefaultAborted.Link( OSwitcha , IIsOdda )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchDefaultAborted.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LValaEvenEndSwitchEven = GraphLoopSwitchDefaultAborted.Link( OValaEven , IEndSwitchEven )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchDefaultAborted
+
+
+GraphLoopSwitchDefaultAborted = DefGraphLoopSwitchDefaultAborted()
diff --git a/examples/GraphLoopSwitchDefaultAborted.xml b/examples/GraphLoopSwitchDefaultAborted.xml
new file mode 100644 (file)
index 0000000..6fdf946
--- /dev/null
@@ -0,0 +1,374 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchDefaultAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Default Ports are not connected and the Executor will detect a Default condition ==> ABORT</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Vala</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Vala</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ValEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def ValEven(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even   ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 11:46:10</creation-date>
+    <lastmodification-date>11/2/2005 - 11:46:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>394</x-position>
+    <y-position>137</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>Vala</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Vala</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchGateDefault.py b/examples/GraphLoopSwitchGateDefault.py
new file mode 100644 (file)
index 0000000..c2be5ff
--- /dev/null
@@ -0,0 +1,165 @@
+
+# Generated python file of Graph GraphLoopSwitchGateDefault
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchGateDefault
+def DefGraphLoopSwitchGateDefault() :
+    GraphLoopSwitchGateDefault = Graph( 'GraphLoopSwitchGateDefault' )
+    GraphLoopSwitchGateDefault.SetName( 'GraphLoopSwitchGateDefault' )
+    GraphLoopSwitchGateDefault.SetAuthor( 'JR' )
+    GraphLoopSwitchGateDefault.SetComment( '' )
+    GraphLoopSwitchGateDefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitchGateDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyValEven = []
+    PyValEven.append( 'from time import * ' )
+    PyValEven.append( 'def ValEven(Even) : ' )
+    PyValEven.append( '    sleep(1) ' )
+    PyValEven.append( '    return Even   ' )
+    PyValEven.append( '' )
+    ValEven = GraphLoopSwitchGateDefault.INode( 'ValEven' , PyValEven )
+    ValEven.SetName( 'ValEven' )
+    ValEven.SetAuthor( '' )
+    ValEven.SetComment( 'Compute Node' )
+    ValEven.Coords( 396 , 222 )
+    IValEvenEven = ValEven.InPort( 'Even' , 'long' )
+    IValEvenGate = ValEven.GetInPort( 'Gate' )
+    OValEvenEven = ValEven.OutPort( 'Even' , 'long' )
+    OValEvenGate = ValEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '       Index = Min ' )
+    PyInitLoop.append( '       return Index,Min,Max ' )
+    PyInitLoop.append( '' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitchGateDefault.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphLoopSwitchGateDefault.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a,Even) : ' )
+    PyEndSwitch.append( '    sleep(1)     ' )
+    PyEndSwitch.append( '    return a       ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchEven = EndSwitch.InPort( 'Even' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphLoopSwitchGateDefault.Link( OIsOdda , IEndSwitcha )
+    
+    LIsOddGateEndSwitchDefault = GraphLoopSwitchGateDefault.Link( OIsOddGate , IEndSwitchDefault )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitchGateDefault.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchGateDefault.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchGateDefault.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphLoopSwitchGateDefault.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenValEvenEven = GraphLoopSwitchGateDefault.Link( OSwitchEven , IValEvenEven )
+    
+    LSwitchaIsOdda = GraphLoopSwitchGateDefault.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndSwitchDefault = GraphLoopSwitchGateDefault.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchGateDefault.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LValEvenEvenEndSwitchEven = GraphLoopSwitchGateDefault.Link( OValEvenEven , IEndSwitchEven )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchGateDefault
+
+
+GraphLoopSwitchGateDefault = DefGraphLoopSwitchGateDefault()
diff --git a/examples/GraphLoopSwitchGateDefault.xml b/examples/GraphLoopSwitchGateDefault.xml
new file mode 100644 (file)
index 0000000..814b2c9
--- /dev/null
@@ -0,0 +1,386 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchGateDefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchGateDefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>6/7/2005 - 16:30:40</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>ValEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>ValEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ValEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def ValEven(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even   ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 16:27:18</creation-date>
+    <lastmodification-date>6/7/2005 - 16:27:18</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>396</x-position>
+    <y-position>222</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>ValEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>ValEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchGateDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchGateDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchGateDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchGatesDefaultNOTValid.py b/examples/GraphLoopSwitchGatesDefaultNOTValid.py
new file mode 100644 (file)
index 0000000..1a3914e
--- /dev/null
@@ -0,0 +1,167 @@
+
+# Generated python file of Graph GraphLoopSwitchGatesDefaultNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchGatesDefaultNOTValid
+def DefGraphLoopSwitchGatesDefaultNOTValid() :
+    GraphLoopSwitchGatesDefaultNOTValid = Graph( 'GraphLoopSwitchGatesDefaultNOTValid' )
+    GraphLoopSwitchGatesDefaultNOTValid.SetName( 'GraphLoopSwitchGatesDefaultNOTValid' )
+    GraphLoopSwitchGatesDefaultNOTValid.SetAuthor( 'JR' )
+    GraphLoopSwitchGatesDefaultNOTValid.SetComment( '' )
+    GraphLoopSwitchGatesDefaultNOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitchGatesDefaultNOTValid.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyValEven = []
+    PyValEven.append( 'from time import * ' )
+    PyValEven.append( 'def ValEven(Even) : ' )
+    PyValEven.append( '    sleep(1) ' )
+    PyValEven.append( '    return Even   ' )
+    PyValEven.append( '' )
+    ValEven = GraphLoopSwitchGatesDefaultNOTValid.INode( 'ValEven' , PyValEven )
+    ValEven.SetName( 'ValEven' )
+    ValEven.SetAuthor( '' )
+    ValEven.SetComment( 'Compute Node' )
+    ValEven.Coords( 396 , 222 )
+    IValEvenEven = ValEven.InPort( 'Even' , 'long' )
+    IValEvenGate = ValEven.GetInPort( 'Gate' )
+    OValEvenEven = ValEven.OutPort( 'Even' , 'long' )
+    OValEvenGate = ValEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '       Index = Min ' )
+    PyInitLoop.append( '       return Index,Min,Max ' )
+    PyInitLoop.append( '' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitchGatesDefaultNOTValid.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphLoopSwitchGatesDefaultNOTValid.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a,Even) : ' )
+    PyEndSwitch.append( '    sleep(1)     ' )
+    PyEndSwitch.append( '    return a       ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchEven = EndSwitch.InPort( 'Even' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphLoopSwitchGatesDefaultNOTValid.Link( OIsOdda , IEndSwitcha )
+    
+    LIsOddGateEndSwitchDefault = GraphLoopSwitchGatesDefaultNOTValid.Link( OIsOddGate , IEndSwitchDefault )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitchGatesDefaultNOTValid.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchGatesDefaultNOTValid.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchGatesDefaultNOTValid.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphLoopSwitchGatesDefaultNOTValid.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenValEvenEven = GraphLoopSwitchGatesDefaultNOTValid.Link( OSwitchEven , IValEvenEven )
+    
+    LSwitchaIsOdda = GraphLoopSwitchGatesDefaultNOTValid.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndSwitchDefault = GraphLoopSwitchGatesDefaultNOTValid.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchGatesDefaultNOTValid.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LValEvenEvenEndSwitchEven = GraphLoopSwitchGatesDefaultNOTValid.Link( OValEvenEven , IEndSwitchEven )
+    
+    LValEvenGateEndSwitchDefault = GraphLoopSwitchGatesDefaultNOTValid.Link( OValEvenGate , IEndSwitchDefault )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchGatesDefaultNOTValid
+
+
+GraphLoopSwitchGatesDefaultNOTValid = DefGraphLoopSwitchGatesDefaultNOTValid()
diff --git a/examples/GraphLoopSwitchGatesDefaultNOTValid.xml b/examples/GraphLoopSwitchGatesDefaultNOTValid.xml
new file mode 100644 (file)
index 0000000..40c9d70
--- /dev/null
@@ -0,0 +1,392 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchGatesDefaultNOTValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchGatesDefault_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>ValEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>ValEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ValEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def ValEven(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even   ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:51:30</creation-date>
+    <lastmodification-date>8/7/2005 - 10:51:30</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>396</x-position>
+    <y-position>222</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>ValEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>ValEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>ValEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchGatesDefaultNOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchGatesDefaultNOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchGatesDefaultNOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchOddEven.py b/examples/GraphLoopSwitchOddEven.py
new file mode 100644 (file)
index 0000000..645890a
--- /dev/null
@@ -0,0 +1,162 @@
+
+# Generated python file of Graph GraphLoopSwitchOddEven
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchOddEven
+def DefGraphLoopSwitchOddEven() :
+    GraphLoopSwitchOddEven = Graph( 'GraphLoopSwitchOddEven' )
+    GraphLoopSwitchOddEven.SetName( 'GraphLoopSwitchOddEven' )
+    GraphLoopSwitchOddEven.SetAuthor( 'JR' )
+    GraphLoopSwitchOddEven.SetComment( '' )
+    GraphLoopSwitchOddEven.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a       ' )
+    IsOdd = GraphLoopSwitchOddEven.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven(a) : ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return a  ' )
+    PyIsEven.append( ' ' )
+    IsEven = GraphLoopSwitchOddEven.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 400 , 160 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '       Index = Min ' )
+    PyInitLoop.append( '       return Index,Min,Max ' )
+    PyInitLoop.append( '' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphLoopSwitchOddEven.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphLoopSwitchOddEven.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a) : ' )
+    PyEndSwitch.append( '    sleep(1)   ' )
+    PyEndSwitch.append( '    return a     ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphLoopSwitchOddEven.Link( OIsOdda , IEndSwitcha )
+    
+    LInitLoopIndexSwitcha = GraphLoopSwitchOddEven.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchOddEven.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchOddEven.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphLoopSwitchOddEven.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenIsEvenGate = GraphLoopSwitchOddEven.Link( OSwitchEven , IIsEvenGate )
+    
+    LSwitchaIsOdda = GraphLoopSwitchOddEven.Link( OSwitcha , IIsOdda )
+    
+    LSwitchaIsEvena = GraphLoopSwitchOddEven.Link( OSwitcha , IIsEvena )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchOddEven.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LIsEvenaEndSwitcha = GraphLoopSwitchOddEven.Link( OIsEvena , IEndSwitcha )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchOddEven
+
+
+GraphLoopSwitchOddEven = DefGraphLoopSwitchOddEven()
diff --git a/examples/GraphLoopSwitchOddEven.xml b/examples/GraphLoopSwitchOddEven.xml
new file mode 100644 (file)
index 0000000..219eeca
--- /dev/null
@@ -0,0 +1,377 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchOddEven</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchOddEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:43:55</creation-date>
+    <lastmodification-date>14/2/2005 - 16:43:55</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>400</x-position>
+    <y-position>160</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchOddEven</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchOddEven</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopSwitchOddEven</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 4e9975be41686df6c18ebe5574f8987f723451a7..8ecc2561bc4e98bfca360f0cc97ad5c60494c2af 100644 (file)
@@ -239,7 +239,7 @@ def DefGraphLoopSwitchOfSwitch() :
     # Input datas
     ILoopSwitchIndex.Input( 0 )
     ILoopSwitchMin.Input( -5 )
-    ILoopSwitchMax.Input( 65 )
+    ILoopSwitchMax.Input( 17 )
     
     # Output Ports of the graph
     #OEndOfLoopSwitchIndex = EndOfLoopSwitch.GetOutPort( 'Index' )
index 69a24205d4b6830c336dbe824ab65860c9bf6d26..4de95bb44dad41dde00703c61bc9b17806f580fe 100644 (file)
@@ -33,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>1/10/2003 - 17:23:54</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -89,8 +89,8 @@
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if a <= 0 :      ]]></PyFunc>
       <PyFunc><![CDATA[        return 0,a,0 ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,a,1-(a&1)        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>EndSwitch_1</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if r == 5 :   ]]></PyFunc>
       <PyFunc><![CDATA[        PFive = 1  ]]></PyFunc>
       <PyFunc><![CDATA[    return POne,PThree,PFive,n ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>EndSwitch</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def PseudoPOne(POne) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return 6*POne+1  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def PseudoPThree_1(PThree) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return 6*PThree+3  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def PseudoPFive(PFive) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return 6*PFive+5  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 17:13:50</creation-date>
-    <lastmodification-date>20/1/2005 - 17:13:50</lastmodification-date>
+    <creation-date>8/7/2005 - 10:53:29</creation-date>
+    <lastmodification-date>8/7/2005 - 10:53:29</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
-     <value>65</value>    </data-value>
+     <value>17</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchOfSwitch1.py b/examples/GraphLoopSwitchOfSwitch1.py
new file mode 100644 (file)
index 0000000..cd2c734
--- /dev/null
@@ -0,0 +1,249 @@
+
+# Generated python file of Graph GraphLoopSwitchOfSwitch1
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchOfSwitch1
+def DefGraphLoopSwitchOfSwitch1() :
+    GraphLoopSwitchOfSwitch1 = Graph( 'GraphLoopSwitchOfSwitch1' )
+    GraphLoopSwitchOfSwitch1.SetName( 'GraphLoopSwitchOfSwitch1' )
+    GraphLoopSwitchOfSwitch1.SetAuthor( 'JR' )
+    GraphLoopSwitchOfSwitch1.SetComment( 'DefaultPorts of SwitchOdd and EndSwitchOdd are not connected but that link was not used' )
+    GraphLoopSwitchOfSwitch1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphLoopSwitchOfSwitch1.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 437 , 520 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyPseudoPOne = []
+    PyPseudoPOne.append( 'from time import * ' )
+    PyPseudoPOne.append( 'def PseudoPOne(POne) : ' )
+    PyPseudoPOne.append( '    sleep(1) ' )
+    PyPseudoPOne.append( '    return 6*POne+1  ' )
+    PseudoPOne = GraphLoopSwitchOfSwitch1.INode( 'PseudoPOne' , PyPseudoPOne )
+    PseudoPOne.SetName( 'PseudoPOne' )
+    PseudoPOne.SetAuthor( '' )
+    PseudoPOne.SetComment( 'Compute Node' )
+    PseudoPOne.Coords( 612 , 5 )
+    IPseudoPOnePOne = PseudoPOne.InPort( 'POne' , 'long' )
+    IPseudoPOneGate = PseudoPOne.GetInPort( 'Gate' )
+    OPseudoPOnea = PseudoPOne.OutPort( 'a' , 'long' )
+    OPseudoPOneGate = PseudoPOne.GetOutPort( 'Gate' )
+    
+    PyPseudoPThree = []
+    PyPseudoPThree.append( 'from time import * ' )
+    PyPseudoPThree.append( 'def PseudoPThree_1(PThree) : ' )
+    PyPseudoPThree.append( '    sleep(1) ' )
+    PyPseudoPThree.append( '    return 6*PThree+3  ' )
+    PseudoPThree = GraphLoopSwitchOfSwitch1.INode( 'PseudoPThree_1' , PyPseudoPThree )
+    PseudoPThree.SetName( 'PseudoPThree' )
+    PseudoPThree.SetAuthor( '' )
+    PseudoPThree.SetComment( 'Compute Node' )
+    PseudoPThree.Coords( 620 , 149 )
+    IPseudoPThreePThree = PseudoPThree.InPort( 'PThree' , 'long' )
+    IPseudoPThreeGate = PseudoPThree.GetInPort( 'Gate' )
+    OPseudoPThreea = PseudoPThree.OutPort( 'a' , 'long' )
+    OPseudoPThreeGate = PseudoPThree.GetOutPort( 'Gate' )
+    
+    PyPseudoPFive = []
+    PyPseudoPFive.append( 'from time import * ' )
+    PyPseudoPFive.append( 'def PseudoPFive(PFive) : ' )
+    PyPseudoPFive.append( '    sleep(1) ' )
+    PyPseudoPFive.append( '    return 6*PFive+5  ' )
+    PseudoPFive = GraphLoopSwitchOfSwitch1.INode( 'PseudoPFive' , PyPseudoPFive )
+    PseudoPFive.SetName( 'PseudoPFive' )
+    PseudoPFive.SetAuthor( '' )
+    PseudoPFive.SetComment( 'Compute Node' )
+    PseudoPFive.Coords( 625 , 343 )
+    IPseudoPFivePFive = PseudoPFive.InPort( 'PFive' , 'long' )
+    IPseudoPFiveGate = PseudoPFive.GetInPort( 'Gate' )
+    OPseudoPFivea = PseudoPFive.OutPort( 'a' , 'long' )
+    OPseudoPFiveGate = PseudoPFive.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopSwitch = []
+    PyLoopSwitch.append( 'def InitLoop(Index,Min,Max) :       ' )
+    PyLoopSwitch.append( '     Index = Max ' )
+    PyLoopSwitch.append( '     return Index,Min,Max      ' )
+    PyMoreLoopSwitch = []
+    PyMoreLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreLoopSwitch.append( ' if Index >= Min :    ' )
+    PyMoreLoopSwitch.append( '         DoLoop = 1      ' )
+    PyMoreLoopSwitch.append( ' else :      ' )
+    PyMoreLoopSwitch.append( '         DoLoop = 0      ' )
+    PyMoreLoopSwitch.append( ' return DoLoop,Index,Min,Max      ' )
+    PyNextLoopSwitch = []
+    PyNextLoopSwitch.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextLoopSwitch.append( ' Index = Index - 1      ' )
+    PyNextLoopSwitch.append( ' return Index,Min,Max      ' )
+    LoopSwitch,EndOfLoopSwitch = GraphLoopSwitchOfSwitch1.LNode( 'InitLoop' , PyLoopSwitch , 'MoreLoop' , PyMoreLoopSwitch , 'NextLoop' , PyNextLoopSwitch )
+    EndOfLoopSwitch.SetName( 'EndOfLoopSwitch' )
+    EndOfLoopSwitch.SetAuthor( '' )
+    EndOfLoopSwitch.SetComment( 'Compute Node' )
+    EndOfLoopSwitch.Coords( 1268 , 210 )
+    PyEndOfLoopSwitch = []
+    EndOfLoopSwitch.SetPyFunction( '' , PyEndOfLoopSwitch )
+    ILoopSwitchDoLoop = LoopSwitch.GetInPort( 'DoLoop' )
+    ILoopSwitchIndex = LoopSwitch.InPort( 'Index' , 'long' )
+    ILoopSwitchMin = LoopSwitch.InPort( 'Min' , 'long' )
+    ILoopSwitchMax = LoopSwitch.InPort( 'Max' , 'long' )
+    ILoopSwitchGate = LoopSwitch.GetInPort( 'Gate' )
+    OLoopSwitchDoLoop = LoopSwitch.GetOutPort( 'DoLoop' )
+    OLoopSwitchIndex = LoopSwitch.GetOutPort( 'Index' )
+    OLoopSwitchMin = LoopSwitch.GetOutPort( 'Min' )
+    OLoopSwitchMax = LoopSwitch.GetOutPort( 'Max' )
+    IEndOfLoopSwitchDoLoop = EndOfLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfLoopSwitchIndex = EndOfLoopSwitch.GetInPort( 'Index' )
+    IEndOfLoopSwitchMin = EndOfLoopSwitch.GetInPort( 'Min' )
+    IEndOfLoopSwitchMax = EndOfLoopSwitch.GetInPort( 'Max' )
+    IEndOfLoopSwitchGate = EndOfLoopSwitch.GetInPort( 'Gate' )
+    OEndOfLoopSwitchDoLoop = EndOfLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfLoopSwitchIndex = EndOfLoopSwitch.GetOutPort( 'Index' )
+    OEndOfLoopSwitchMin = EndOfLoopSwitch.GetOutPort( 'Min' )
+    OEndOfLoopSwitchMax = EndOfLoopSwitch.GetOutPort( 'Max' )
+    OEndOfLoopSwitchGate = EndOfLoopSwitch.GetOutPort( 'Gate' )
+    LoopSwitch.SetName( 'LoopSwitch' )
+    LoopSwitch.SetAuthor( '' )
+    LoopSwitch.SetComment( 'Compute Node' )
+    LoopSwitch.Coords( 6 , 233 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *       ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    sleep(1)   ' )
+    PySwitch.append( '    if a <= 0 :      ' )
+    PySwitch.append( '        return 0,a,0 ' )
+    PySwitch.append( '    return a & 1,a,1-(a&1)        ' )
+    Switch,EndOfSwitch = GraphLoopSwitchOfSwitch1.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 1075 , 210 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( 'EndSwitch_1' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 201 , 233 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitchOdd = []
+    PySwitchOdd.append( 'def SwitchOdd(a) :   ' )
+    PySwitchOdd.append( '    n = a/6   ' )
+    PySwitchOdd.append( '    r = a%6   ' )
+    PySwitchOdd.append( '    POne = 0   ' )
+    PySwitchOdd.append( '    PThree = 0   ' )
+    PySwitchOdd.append( '    PFive = 0   ' )
+    PySwitchOdd.append( '    if r == 1 :   ' )
+    PySwitchOdd.append( '        POne = 1  ' )
+    PySwitchOdd.append( '    if r == 3 :   ' )
+    PySwitchOdd.append( '        PThree = 1  ' )
+    PySwitchOdd.append( '    if r == 5 :   ' )
+    PySwitchOdd.append( '        PFive = 1  ' )
+    PySwitchOdd.append( '    return POne,PThree,PFive,n ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchOfSwitch1.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 851 , 210 )
+    PyEndOfSwitchOdd = []
+    EndOfSwitchOdd.SetPyFunction( 'EndSwitch' , PyEndOfSwitchOdd )
+    IEndOfSwitchOddn = EndOfSwitchOdd.InPort( 'n' , 'long' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOddn = EndOfSwitchOdd.OutPort( 'n' , 'long' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 412 , 169 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddPOne = SwitchOdd.OutPort( 'POne' , 'boolean' )
+    OSwitchOddPThree = SwitchOdd.OutPort( 'PThree' , 'boolean' )
+    OSwitchOddPFive = SwitchOdd.OutPort( 'PFive' , 'boolean' )
+    OSwitchOddn = SwitchOdd.OutPort( 'n' , 'long' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopSwitchIndexSwitcha = GraphLoopSwitchOfSwitch1.Link( OLoopSwitchIndex , ISwitcha )
+    
+    LLoopSwitchMinEndOfLoopSwitchMin = GraphLoopSwitchOfSwitch1.Link( OLoopSwitchMin , IEndOfLoopSwitchMin )
+    
+    LLoopSwitchMaxEndOfLoopSwitchMax = GraphLoopSwitchOfSwitch1.Link( OLoopSwitchMax , IEndOfLoopSwitchMax )
+    
+    LIsEvenaEndOfSwitcha = GraphLoopSwitchOfSwitch1.Link( OIsEvena , IEndOfSwitcha )
+    LIsEvenaEndOfSwitcha.AddCoord( 1 , 719 , 591 )
+    
+    LSwitchOddSwitchOddGate = GraphLoopSwitchOfSwitch1.Link( OSwitchOdd , ISwitchOddGate )
+    
+    LSwitchaIsEvena = GraphLoopSwitchOfSwitch1.Link( OSwitcha , IIsEvena )
+    
+    LSwitchaSwitchOdda = GraphLoopSwitchOfSwitch1.Link( OSwitcha , ISwitchOdda )
+    
+    LSwitchEvenIsEvenGate = GraphLoopSwitchOfSwitch1.Link( OSwitchEven , IIsEvenGate )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphLoopSwitchOfSwitch1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 1057 , 267 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 1079 , 669 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 3 , 383 , 666 )
+    
+    LEndOfSwitchaEndOfLoopSwitchIndex = GraphLoopSwitchOfSwitch1.Link( OEndOfSwitcha , IEndOfLoopSwitchIndex )
+    
+    LSwitchOddPOnePseudoPOneGate = GraphLoopSwitchOfSwitch1.Link( OSwitchOddPOne , IPseudoPOneGate )
+    
+    LSwitchOddPThreePseudoPThreeGate = GraphLoopSwitchOfSwitch1.Link( OSwitchOddPThree , IPseudoPThreeGate )
+    
+    LSwitchOddPFivePseudoPFiveGate = GraphLoopSwitchOfSwitch1.Link( OSwitchOddPFive , IPseudoPFiveGate )
+    
+    LSwitchOddnPseudoPOnePOne = GraphLoopSwitchOfSwitch1.Link( OSwitchOddn , IPseudoPOnePOne )
+    
+    LSwitchOddnPseudoPThreePThree = GraphLoopSwitchOfSwitch1.Link( OSwitchOddn , IPseudoPThreePThree )
+    
+    LSwitchOddnPseudoPFivePFive = GraphLoopSwitchOfSwitch1.Link( OSwitchOddn , IPseudoPFivePFive )
+    
+    LEndOfSwitchOddnEndOfSwitcha = GraphLoopSwitchOfSwitch1.Link( OEndOfSwitchOddn , IEndOfSwitcha )
+    
+    LPseudoPOneaEndOfSwitchOddn = GraphLoopSwitchOfSwitch1.Link( OPseudoPOnea , IEndOfSwitchOddn )
+    
+    LPseudoPThreeaEndOfSwitchOddn = GraphLoopSwitchOfSwitch1.Link( OPseudoPThreea , IEndOfSwitchOddn )
+    
+    LPseudoPFiveaEndOfSwitchOddn = GraphLoopSwitchOfSwitch1.Link( OPseudoPFivea , IEndOfSwitchOddn )
+    
+    # Input datas
+    ILoopSwitchIndex.Input( 0 )
+    ILoopSwitchMin.Input( -5 )
+    ILoopSwitchMax.Input( 17 )
+    
+    # Output Ports of the graph
+    #OEndOfLoopSwitchIndex = EndOfLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfLoopSwitchMin = EndOfLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfLoopSwitchMax = EndOfLoopSwitch.GetOutPort( 'Max' )
+    return GraphLoopSwitchOfSwitch1
+
+
+GraphLoopSwitchOfSwitch1 = DefGraphLoopSwitchOfSwitch1()
diff --git a/examples/GraphLoopSwitchOfSwitch1.xml b/examples/GraphLoopSwitchOfSwitch1.xml
new file mode 100644 (file)
index 0000000..15f704e
--- /dev/null
@@ -0,0 +1,590 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchOfSwitch1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchOfSwitch1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>DefaultPorts of SwitchOdd and EndSwitchOdd are not connected but that link was not used</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>LoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoopSwitch</coupled-node>
+    <service>
+<service-name>LoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>6</x-position>
+    <y-position>233</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1268</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>437</x-position>
+    <y-position>520</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *       ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,a,0 ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,a,1-(a&1)        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>201</x-position>
+    <y-position>233</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch_1</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1075</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>POne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>PThree</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>PFive</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[def SwitchOdd(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    n = a/6   ]]></PyFunc>
+      <PyFunc><![CDATA[    r = a%6   ]]></PyFunc>
+      <PyFunc><![CDATA[    POne = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    PThree = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    PFive = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 1 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        POne = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 3 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        PThree = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 5 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        PFive = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    return POne,PThree,PFive,n ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>412</x-position>
+    <y-position>169</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>n</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>851</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPOne</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPOne</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>POne</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPOne</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPOne(POne) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*POne+1  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>612</x-position>
+    <y-position>5</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPThree</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPThree</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>PThree</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPThree_1</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPThree_1(PThree) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*PThree+3  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>620</x-position>
+    <y-position>149</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPFive</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPFive</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>PFive</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPFive</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPFive(PFive) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*PFive+5  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:56:45</creation-date>
+    <lastmodification-date>8/7/2005 - 10:56:45</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>625</x-position>
+    <y-position>343</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>719</x>
+      <y>591</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1057</x>
+      <y>267</y>     </coord>
+     <coord>
+<x>1079</x>
+      <y>669</y>     </coord>
+     <coord>
+<x>383</x>
+      <y>666</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>POne</fromserviceparameter-name>
+    <tonode-name>PseudoPOne</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>PThree</fromserviceparameter-name>
+    <tonode-name>PseudoPThree</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>PFive</fromserviceparameter-name>
+    <tonode-name>PseudoPFive</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPOne</tonode-name>
+    <toserviceparameter-name>POne</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPThree</tonode-name>
+    <toserviceparameter-name>PThree</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPFive</tonode-name>
+    <toserviceparameter-name>PFive</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPOne</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPThree</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPFive</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchOfSwitch1</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</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>GraphLoopSwitchOfSwitch1</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</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>GraphLoopSwitchOfSwitch1</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>17</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchOfSwitchAborted.py b/examples/GraphLoopSwitchOfSwitchAborted.py
new file mode 100644 (file)
index 0000000..7f17568
--- /dev/null
@@ -0,0 +1,244 @@
+
+# Generated python file of Graph GraphLoopSwitchOfSwitchAborted
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchOfSwitchAborted
+def DefGraphLoopSwitchOfSwitchAborted() :
+    GraphLoopSwitchOfSwitchAborted = Graph( 'GraphLoopSwitchOfSwitchAborted' )
+    GraphLoopSwitchOfSwitchAborted.SetName( 'GraphLoopSwitchOfSwitchAborted' )
+    GraphLoopSwitchOfSwitchAborted.SetAuthor( 'JR' )
+    GraphLoopSwitchOfSwitchAborted.SetComment( 'DefaultPorts of SwitchOdd and EndSwitchOdd are not connected but that link was not used. DefaultPorts of Switch and EndSwitch are not linked ==> ABORT' )
+    GraphLoopSwitchOfSwitchAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphLoopSwitchOfSwitchAborted.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 437 , 520 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyPseudoPOne = []
+    PyPseudoPOne.append( 'from time import * ' )
+    PyPseudoPOne.append( 'def PseudoPOne(POne) : ' )
+    PyPseudoPOne.append( '    sleep(1) ' )
+    PyPseudoPOne.append( '    return 6*POne+1  ' )
+    PseudoPOne = GraphLoopSwitchOfSwitchAborted.INode( 'PseudoPOne' , PyPseudoPOne )
+    PseudoPOne.SetName( 'PseudoPOne' )
+    PseudoPOne.SetAuthor( '' )
+    PseudoPOne.SetComment( 'Compute Node' )
+    PseudoPOne.Coords( 612 , 5 )
+    IPseudoPOnePOne = PseudoPOne.InPort( 'POne' , 'long' )
+    IPseudoPOneGate = PseudoPOne.GetInPort( 'Gate' )
+    OPseudoPOnea = PseudoPOne.OutPort( 'a' , 'long' )
+    OPseudoPOneGate = PseudoPOne.GetOutPort( 'Gate' )
+    
+    PyPseudoPThree = []
+    PyPseudoPThree.append( 'from time import * ' )
+    PyPseudoPThree.append( 'def PseudoPThree_1(PThree) : ' )
+    PyPseudoPThree.append( '    sleep(1) ' )
+    PyPseudoPThree.append( '    return 6*PThree+3  ' )
+    PseudoPThree = GraphLoopSwitchOfSwitchAborted.INode( 'PseudoPThree_1' , PyPseudoPThree )
+    PseudoPThree.SetName( 'PseudoPThree' )
+    PseudoPThree.SetAuthor( '' )
+    PseudoPThree.SetComment( 'Compute Node' )
+    PseudoPThree.Coords( 620 , 149 )
+    IPseudoPThreePThree = PseudoPThree.InPort( 'PThree' , 'long' )
+    IPseudoPThreeGate = PseudoPThree.GetInPort( 'Gate' )
+    OPseudoPThreea = PseudoPThree.OutPort( 'a' , 'long' )
+    OPseudoPThreeGate = PseudoPThree.GetOutPort( 'Gate' )
+    
+    PyPseudoPFive = []
+    PyPseudoPFive.append( 'from time import * ' )
+    PyPseudoPFive.append( 'def PseudoPFive(PFive) : ' )
+    PyPseudoPFive.append( '    sleep(1) ' )
+    PyPseudoPFive.append( '    return 6*PFive+5  ' )
+    PseudoPFive = GraphLoopSwitchOfSwitchAborted.INode( 'PseudoPFive' , PyPseudoPFive )
+    PseudoPFive.SetName( 'PseudoPFive' )
+    PseudoPFive.SetAuthor( '' )
+    PseudoPFive.SetComment( 'Compute Node' )
+    PseudoPFive.Coords( 625 , 343 )
+    IPseudoPFivePFive = PseudoPFive.InPort( 'PFive' , 'long' )
+    IPseudoPFiveGate = PseudoPFive.GetInPort( 'Gate' )
+    OPseudoPFivea = PseudoPFive.OutPort( 'a' , 'long' )
+    OPseudoPFiveGate = PseudoPFive.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopSwitch = []
+    PyLoopSwitch.append( 'def InitLoop(Index,Min,Max) :       ' )
+    PyLoopSwitch.append( '     Index = Max ' )
+    PyLoopSwitch.append( '     return Index,Min,Max      ' )
+    PyMoreLoopSwitch = []
+    PyMoreLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreLoopSwitch.append( ' if Index >= Min :    ' )
+    PyMoreLoopSwitch.append( '         DoLoop = 1      ' )
+    PyMoreLoopSwitch.append( ' else :      ' )
+    PyMoreLoopSwitch.append( '         DoLoop = 0      ' )
+    PyMoreLoopSwitch.append( ' return DoLoop,Index,Min,Max      ' )
+    PyNextLoopSwitch = []
+    PyNextLoopSwitch.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextLoopSwitch.append( ' Index = Index - 1      ' )
+    PyNextLoopSwitch.append( ' return Index,Min,Max      ' )
+    LoopSwitch,EndOfLoopSwitch = GraphLoopSwitchOfSwitchAborted.LNode( 'InitLoop' , PyLoopSwitch , 'MoreLoop' , PyMoreLoopSwitch , 'NextLoop' , PyNextLoopSwitch )
+    EndOfLoopSwitch.SetName( 'EndOfLoopSwitch' )
+    EndOfLoopSwitch.SetAuthor( '' )
+    EndOfLoopSwitch.SetComment( 'Compute Node' )
+    EndOfLoopSwitch.Coords( 1268 , 210 )
+    PyEndOfLoopSwitch = []
+    EndOfLoopSwitch.SetPyFunction( '' , PyEndOfLoopSwitch )
+    ILoopSwitchDoLoop = LoopSwitch.GetInPort( 'DoLoop' )
+    ILoopSwitchIndex = LoopSwitch.InPort( 'Index' , 'long' )
+    ILoopSwitchMin = LoopSwitch.InPort( 'Min' , 'long' )
+    ILoopSwitchMax = LoopSwitch.InPort( 'Max' , 'long' )
+    ILoopSwitchGate = LoopSwitch.GetInPort( 'Gate' )
+    OLoopSwitchDoLoop = LoopSwitch.GetOutPort( 'DoLoop' )
+    OLoopSwitchIndex = LoopSwitch.GetOutPort( 'Index' )
+    OLoopSwitchMin = LoopSwitch.GetOutPort( 'Min' )
+    OLoopSwitchMax = LoopSwitch.GetOutPort( 'Max' )
+    IEndOfLoopSwitchDoLoop = EndOfLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfLoopSwitchIndex = EndOfLoopSwitch.GetInPort( 'Index' )
+    IEndOfLoopSwitchMin = EndOfLoopSwitch.GetInPort( 'Min' )
+    IEndOfLoopSwitchMax = EndOfLoopSwitch.GetInPort( 'Max' )
+    IEndOfLoopSwitchGate = EndOfLoopSwitch.GetInPort( 'Gate' )
+    OEndOfLoopSwitchDoLoop = EndOfLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfLoopSwitchIndex = EndOfLoopSwitch.GetOutPort( 'Index' )
+    OEndOfLoopSwitchMin = EndOfLoopSwitch.GetOutPort( 'Min' )
+    OEndOfLoopSwitchMax = EndOfLoopSwitch.GetOutPort( 'Max' )
+    OEndOfLoopSwitchGate = EndOfLoopSwitch.GetOutPort( 'Gate' )
+    LoopSwitch.SetName( 'LoopSwitch' )
+    LoopSwitch.SetAuthor( '' )
+    LoopSwitch.SetComment( 'Compute Node' )
+    LoopSwitch.Coords( 6 , 233 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *       ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    sleep(1)   ' )
+    PySwitch.append( '    if a <= 0 :      ' )
+    PySwitch.append( '        return 0,a,0 ' )
+    PySwitch.append( '    return a & 1,a,1-(a&1)        ' )
+    Switch,EndOfSwitch = GraphLoopSwitchOfSwitchAborted.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 1075 , 210 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( 'EndSwitch_1' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 201 , 233 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitchOdd = []
+    PySwitchOdd.append( 'def SwitchOdd(a) :   ' )
+    PySwitchOdd.append( '    n = a/6   ' )
+    PySwitchOdd.append( '    r = a%6   ' )
+    PySwitchOdd.append( '    POne = 0   ' )
+    PySwitchOdd.append( '    PThree = 0   ' )
+    PySwitchOdd.append( '    PFive = 0   ' )
+    PySwitchOdd.append( '    if r == 1 :   ' )
+    PySwitchOdd.append( '        POne = 1  ' )
+    PySwitchOdd.append( '    if r == 3 :   ' )
+    PySwitchOdd.append( '        PThree = 1  ' )
+    PySwitchOdd.append( '    if r == 5 :   ' )
+    PySwitchOdd.append( '        PFive = 1  ' )
+    PySwitchOdd.append( '    return POne,PThree,PFive,n ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchOfSwitchAborted.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 851 , 210 )
+    PyEndOfSwitchOdd = []
+    EndOfSwitchOdd.SetPyFunction( 'EndSwitch' , PyEndOfSwitchOdd )
+    IEndOfSwitchOddn = EndOfSwitchOdd.InPort( 'n' , 'long' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOddn = EndOfSwitchOdd.OutPort( 'n' , 'long' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 412 , 169 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddPOne = SwitchOdd.OutPort( 'POne' , 'boolean' )
+    OSwitchOddPThree = SwitchOdd.OutPort( 'PThree' , 'boolean' )
+    OSwitchOddPFive = SwitchOdd.OutPort( 'PFive' , 'boolean' )
+    OSwitchOddn = SwitchOdd.OutPort( 'n' , 'long' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopSwitchIndexSwitcha = GraphLoopSwitchOfSwitchAborted.Link( OLoopSwitchIndex , ISwitcha )
+    
+    LLoopSwitchMinEndOfLoopSwitchMin = GraphLoopSwitchOfSwitchAborted.Link( OLoopSwitchMin , IEndOfLoopSwitchMin )
+    
+    LLoopSwitchMaxEndOfLoopSwitchMax = GraphLoopSwitchOfSwitchAborted.Link( OLoopSwitchMax , IEndOfLoopSwitchMax )
+    
+    LIsEvenaEndOfSwitcha = GraphLoopSwitchOfSwitchAborted.Link( OIsEvena , IEndOfSwitcha )
+    LIsEvenaEndOfSwitcha.AddCoord( 1 , 719 , 591 )
+    
+    LSwitchOddSwitchOddGate = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOdd , ISwitchOddGate )
+    
+    LSwitchaIsEvena = GraphLoopSwitchOfSwitchAborted.Link( OSwitcha , IIsEvena )
+    
+    LSwitchaSwitchOdda = GraphLoopSwitchOfSwitchAborted.Link( OSwitcha , ISwitchOdda )
+    
+    LSwitchEvenIsEvenGate = GraphLoopSwitchOfSwitchAborted.Link( OSwitchEven , IIsEvenGate )
+    
+    LEndOfSwitchaEndOfLoopSwitchIndex = GraphLoopSwitchOfSwitchAborted.Link( OEndOfSwitcha , IEndOfLoopSwitchIndex )
+    
+    LSwitchOddPOnePseudoPOneGate = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddPOne , IPseudoPOneGate )
+    
+    LSwitchOddPThreePseudoPThreeGate = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddPThree , IPseudoPThreeGate )
+    
+    LSwitchOddPFivePseudoPFiveGate = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddPFive , IPseudoPFiveGate )
+    
+    LSwitchOddnPseudoPOnePOne = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddn , IPseudoPOnePOne )
+    
+    LSwitchOddnPseudoPThreePThree = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddn , IPseudoPThreePThree )
+    
+    LSwitchOddnPseudoPFivePFive = GraphLoopSwitchOfSwitchAborted.Link( OSwitchOddn , IPseudoPFivePFive )
+    
+    LEndOfSwitchOddnEndOfSwitcha = GraphLoopSwitchOfSwitchAborted.Link( OEndOfSwitchOddn , IEndOfSwitcha )
+    
+    LPseudoPOneaEndOfSwitchOddn = GraphLoopSwitchOfSwitchAborted.Link( OPseudoPOnea , IEndOfSwitchOddn )
+    
+    LPseudoPThreeaEndOfSwitchOddn = GraphLoopSwitchOfSwitchAborted.Link( OPseudoPThreea , IEndOfSwitchOddn )
+    
+    LPseudoPFiveaEndOfSwitchOddn = GraphLoopSwitchOfSwitchAborted.Link( OPseudoPFivea , IEndOfSwitchOddn )
+    
+    # Input datas
+    ILoopSwitchIndex.Input( 0 )
+    ILoopSwitchMin.Input( -5 )
+    ILoopSwitchMax.Input( 17 )
+    
+    # Output Ports of the graph
+    #OEndOfLoopSwitchIndex = EndOfLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfLoopSwitchMin = EndOfLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfLoopSwitchMax = EndOfLoopSwitch.GetOutPort( 'Max' )
+    return GraphLoopSwitchOfSwitchAborted
+
+
+GraphLoopSwitchOfSwitchAborted = DefGraphLoopSwitchOfSwitchAborted()
diff --git a/examples/GraphLoopSwitchOfSwitchAborted.xml b/examples/GraphLoopSwitchOfSwitchAborted.xml
new file mode 100644 (file)
index 0000000..8d766b6
--- /dev/null
@@ -0,0 +1,575 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchOfSwitchAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchOfSwitchAborted</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>DefaultPorts of SwitchOdd and EndSwitchOdd are not connected but that link was not used. DefaultPorts of Switch and EndSwitch are not linked ==> ABORT</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>LoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoopSwitch</coupled-node>
+    <service>
+<service-name>LoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>6</x-position>
+    <y-position>233</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1268</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>437</x-position>
+    <y-position>520</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *       ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,a,0 ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,a,1-(a&1)        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>201</x-position>
+    <y-position>233</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch_1</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1075</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>POne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>PThree</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>PFive</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[def SwitchOdd(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    n = a/6   ]]></PyFunc>
+      <PyFunc><![CDATA[    r = a%6   ]]></PyFunc>
+      <PyFunc><![CDATA[    POne = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    PThree = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    PFive = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 1 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        POne = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 3 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        PThree = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if r == 5 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        PFive = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    return POne,PThree,PFive,n ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>412</x-position>
+    <y-position>169</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>n</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>851</x-position>
+    <y-position>210</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPOne</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPOne</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>POne</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPOne</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPOne(POne) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*POne+1  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>612</x-position>
+    <y-position>5</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPThree</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPThree</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>PThree</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPThree_1</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPThree_1(PThree) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*PThree+3  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>620</x-position>
+    <y-position>149</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PseudoPFive</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PseudoPFive</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>PFive</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PseudoPFive</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PseudoPFive(PFive) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 6*PFive+5  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 10:58:36</creation-date>
+    <lastmodification-date>8/7/2005 - 10:58:36</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>625</x-position>
+    <y-position>343</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>719</x>
+      <y>591</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>POne</fromserviceparameter-name>
+    <tonode-name>PseudoPOne</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>PThree</fromserviceparameter-name>
+    <tonode-name>PseudoPThree</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>PFive</fromserviceparameter-name>
+    <tonode-name>PseudoPFive</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPOne</tonode-name>
+    <toserviceparameter-name>POne</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPThree</tonode-name>
+    <toserviceparameter-name>PThree</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>PseudoPFive</tonode-name>
+    <toserviceparameter-name>PFive</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPOne</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPThree</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PseudoPFive</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>n</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchOfSwitchAborted</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</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>GraphLoopSwitchOfSwitchAborted</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</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>GraphLoopSwitchOfSwitchAborted</fromnode-name>
+    <fromserviceparameter-name>LoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>LoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>17</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 637832aebc21f0f4458803ab92b9139fd491f8bc..af267b6ef012369283b27d4f8ea9fde6b6457dd1 100644 (file)
@@ -1,26 +1,26 @@
 
-# Generated python file of Graph GraphLoopSwitchs
+# Generated python file of Graph GraphLoopSwitchs_1
 
 from SuperV import *
 
-# Graph creation of GraphLoopSwitchs
-def DefGraphLoopSwitchs() :
-    GraphLoopSwitchs = Graph( 'GraphLoopSwitchs' )
-    GraphLoopSwitchs.SetName( 'GraphLoopSwitchs' )
-    GraphLoopSwitchs.SetAuthor( 'JR' )
-    GraphLoopSwitchs.SetComment( '' )
-    GraphLoopSwitchs.Coords( 0 , 0 )
+# Graph creation of GraphLoopSwitchs_1
+def DefGraphLoopSwitchs_1() :
+    GraphLoopSwitchs_1 = Graph( 'GraphLoopSwitchs_1' )
+    GraphLoopSwitchs_1.SetName( 'GraphLoopSwitchs_1' )
+    GraphLoopSwitchs_1.SetAuthor( 'JR' )
+    GraphLoopSwitchs_1.SetComment( '' )
+    GraphLoopSwitchs_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
     # Creation of InLine Nodes
     PyIsOdd = []
-    PyIsOdd.append( 'from time import *    ' )
-    PyIsOdd.append( 'def IsOdd(a) :        ' )
-    PyIsOdd.append( '    print a,"IsOdd"       ' )
-    PyIsOdd.append( '    sleep( 1 )    ' )
-    PyIsOdd.append( '    return a      ' )
-    IsOdd = GraphLoopSwitchs.INode( 'IsOdd' , PyIsOdd )
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopSwitchs_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -28,28 +28,32 @@ def DefGraphLoopSwitchs() :
     IIsOdda = IsOdd.InPort( 'a' , 'long' )
     IIsOddGate = IsOdd.GetInPort( 'Gate' )
     OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
     OIsOddGate = IsOdd.GetOutPort( 'Gate' )
     
     PyIsEven = []
-    PyIsEven.append( 'from time import *    ' )
-    PyIsEven.append( 'def IsEven(a) :        ' )
-    PyIsEven.append( '    print a,"IsEven"       ' )
-    PyIsEven.append( '    sleep( 1 )    ' )
-    PyIsEven.append( '    return a      ' )
-    IsEven = GraphLoopSwitchs.INode( 'IsEven' , PyIsEven )
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopSwitchs_1.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Python function' )
-    IsEven.Coords( 479 , 311 )
+    IsEven.Coords( 482 , 292 )
     IIsEvena = IsEven.InPort( 'a' , 'long' )
     IIsEvenGate = IsEven.GetInPort( 'Gate' )
     OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
     OIsEvenGate = IsEven.GetOutPort( 'Gate' )
     
     PySwitchsCompare = []
+    PySwitchsCompare.append( 'from time import * ' )
     PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even) : ' )
-    PySwitchsCompare.append( '    return a ' )
-    SwitchsCompare = GraphLoopSwitchs.INode( 'SwitchsCompare' , PySwitchsCompare )
+    PySwitchsCompare.append( '    sleep(1) ' )
+    PySwitchsCompare.append( '    return aOdd  ' )
+    SwitchsCompare = GraphLoopSwitchs_1.INode( 'SwitchsCompare' , PySwitchsCompare )
     SwitchsCompare.SetName( 'SwitchsCompare' )
     SwitchsCompare.SetAuthor( '' )
     SwitchsCompare.SetComment( 'Compute Node' )
@@ -77,7 +81,7 @@ def DefGraphLoopSwitchs() :
     PyNextLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
     PyNextLoop.append( '       Index = Index + 1     ' )
     PyNextLoop.append( '       return Index,Min,Max     ' )
-    Loop,EndOfLoop = GraphLoopSwitchs.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    Loop,EndOfLoop = GraphLoopSwitchs_1.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
     EndOfLoop.SetName( 'EndOfLoop' )
     EndOfLoop.SetAuthor( '' )
     EndOfLoop.SetComment( 'Compute Node' )
@@ -110,18 +114,21 @@ def DefGraphLoopSwitchs() :
     
     # Creation of Switch Nodes
     PySwitchOdd = []
-    PySwitchOdd.append( 'from time import * ' )
-    PySwitchOdd.append( 'def Switch(a) :   ' )
-    PySwitchOdd.append( '    if ( a & 1 ) == 0 : ' )
-    PySwitchOdd.append( '        sleep(1)    ' )
-    PySwitchOdd.append( '    return a & 1,1-(a&1),a    ' )
-    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchs.SNode( 'Switch' , PySwitchOdd )
+    PySwitchOdd.append( 'from time import *  ' )
+    PySwitchOdd.append( 'def Switch(a) :    ' )
+    PySwitchOdd.append( '    sleep(1)     ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),a     ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchs_1.SNode( 'Switch' , PySwitchOdd )
     EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
     EndOfSwitchOdd.SetAuthor( '' )
     EndOfSwitchOdd.SetComment( 'Compute Node' )
     EndOfSwitchOdd.Coords( 711 , 161 )
     PyEndOfSwitchOdd = []
-    EndOfSwitchOdd.SetPyFunction( '' , PyEndOfSwitchOdd )
+    PyEndOfSwitchOdd.append( 'from time import * ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd) : ' )
+    PyEndOfSwitchOdd.append( '    sleep(1) ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
     IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
     IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
     IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
@@ -140,18 +147,21 @@ def DefGraphLoopSwitchs() :
     OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
     
     PySwitchEven = []
-    PySwitchEven.append( 'from time import *  ' )
-    PySwitchEven.append( 'def Switch(a) :    ' )
-    PySwitchEven.append( '    if ( a & 1 ) == 0 :  ' )
-    PySwitchEven.append( '        sleep(1)  ' )
-    PySwitchEven.append( '    return a & 1,1-(a&1),a    ' )
-    SwitchEven,EndOfSwitchEven = GraphLoopSwitchs.SNode( 'Switch' , PySwitchEven )
+    PySwitchEven.append( 'from time import *   ' )
+    PySwitchEven.append( 'def Switch(a) : ' )
+    PySwitchEven.append( '    sleep(1)   ' )
+    PySwitchEven.append( '    return a & 1,1-(a&1),a     ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchs_1.SNode( 'Switch' , PySwitchEven )
     EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
     EndOfSwitchEven.SetAuthor( '' )
     EndOfSwitchEven.SetComment( 'Compute Node' )
     EndOfSwitchEven.Coords( 718 , 361 )
     PyEndOfSwitchEven = []
-    EndOfSwitchEven.SetPyFunction( '' , PyEndOfSwitchEven )
+    PyEndOfSwitchEven.append( 'from time import * ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even) : ' )
+    PyEndOfSwitchEven.append( '    sleep(1) ' )
+    PyEndOfSwitchEven.append( '    return a,Even ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
     IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
     IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
     IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
@@ -170,57 +180,56 @@ def DefGraphLoopSwitchs() :
     OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndOfSwitchOdda = GraphLoopSwitchs.Link( OIsOdda , IEndOfSwitchOdda )
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchs_1.Link( OIsOdda , IEndOfSwitchOdda )
     
-    LSwitchOddOddIsOddGate = GraphLoopSwitchs.Link( OSwitchOddOdd , IIsOddGate )
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchs_1.Link( OIsOddOdd , IEndOfSwitchOddOdd )
     
-    LSwitchOddOddEndOfSwitchOddOdd = GraphLoopSwitchs.Link( OSwitchOddOdd , IEndOfSwitchOddOdd )
+    LSwitchOddOddIsOddGate = GraphLoopSwitchs_1.Link( OSwitchOddOdd , IIsOddGate )
     
-    LSwitchOddaIsOdda = GraphLoopSwitchs.Link( OSwitchOdda , IIsOdda )
-    LSwitchOddaIsOdda.AddCoord( 1 , 443 , 121 )
-    LSwitchOddaIsOdda.AddCoord( 2 , 443 , 212 )
+    LSwitchOddaIsOdda = GraphLoopSwitchs_1.Link( OSwitchOdda , IIsOdda )
     
-    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchs.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
+    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchs_1.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
     
-    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchs.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchs_1.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
     
-    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchs.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchs_1.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
     
-    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchs.Link( OIsEvena , IEndOfSwitchEvena )
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchs_1.Link( OIsEvena , IEndOfSwitchEvena )
     
-    LLoopIndexSwitchEvena = GraphLoopSwitchs.Link( OLoopIndex , ISwitchEvena )
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchs_1.Link( OIsEvenEven , IEndOfSwitchEvenEven )
     
-    LLoopIndexSwitchOdda = GraphLoopSwitchs.Link( OLoopIndex , ISwitchOdda )
+    LLoopIndexSwitchEvena = GraphLoopSwitchs_1.Link( OLoopIndex , ISwitchEvena )
     
-    LLoopMinEndOfLoopMin = GraphLoopSwitchs.Link( OLoopMin , IEndOfLoopMin )
+    LLoopIndexSwitchOdda = GraphLoopSwitchs_1.Link( OLoopIndex , ISwitchOdda )
     
-    LLoopMaxEndOfLoopMax = GraphLoopSwitchs.Link( OLoopMax , IEndOfLoopMax )
+    LLoopMinEndOfLoopMin = GraphLoopSwitchs_1.Link( OLoopMin , IEndOfLoopMin )
     
-    LSwitchEvenOddIsEvenGate = GraphLoopSwitchs.Link( OSwitchEvenOdd , IIsEvenGate )
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchs_1.Link( OLoopMax , IEndOfLoopMax )
     
-    LSwitchEvenEvenEndOfSwitchEvenDefault = GraphLoopSwitchs.Link( OSwitchEvenEven , IEndOfSwitchEvenDefault )
+    LSwitchEvenEvenIsEvenGate = GraphLoopSwitchs_1.Link( OSwitchEvenEven , IIsEvenGate )
     
-    LSwitchEvenaIsEvena = GraphLoopSwitchs.Link( OSwitchEvena , IIsEvena )
-    LSwitchEvenaIsEvena.AddCoord( 1 , 434 , 382 )
-    LSwitchEvenaIsEvena.AddCoord( 2 , 434 , 457 )
+    LSwitchEvenaIsEvena = GraphLoopSwitchs_1.Link( OSwitchEvena , IIsEvena )
     
-    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchs.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopSwitchs_1.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
     
-    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchs.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchs_1.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
     
-    LSwitchsCompareaEndOfLoopIndex = GraphLoopSwitchs.Link( OSwitchsComparea , IEndOfLoopIndex )
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchs_1.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareaEndOfLoopIndex = GraphLoopSwitchs_1.Link( OSwitchsComparea , IEndOfLoopIndex )
     
     # Input datas
     ILoopIndex.Input( 0 )
     ILoopMin.Input( 0 )
-    ILoopMax.Input( 100 )
+    ILoopMax.Input( 23 )
     
     # Output Ports of the graph
     #OSwitchOddEven = SwitchOdd.GetOutPort( 'Even' )
     #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
     #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
     #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
-    return GraphLoopSwitchs
+    #OSwitchEvenOdd = SwitchEven.GetOutPort( 'Odd' )
+    return GraphLoopSwitchs_1
 
 
-GraphLoopSwitchs = DefGraphLoopSwitchs()
+GraphLoopSwitchs_1 = DefGraphLoopSwitchs_1()
index 7403dd0c7357dcaa2a445dec17ed18f7fde1e18e..c331d87399200d81d9ea10cbebc7c571c40c9ce0 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphLoopSwitchs</node-name>
+    <node-name>GraphLoopSwitchs_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphLoopSwitchs</service-name>
+<service-name>GraphLoopSwitchs_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
        <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
       <outParameter>
 <outParameter-type>long</outParameter-type>
-       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>SwitchEven__Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>14/10/2003 - 10:29:4</creation-date>
-    <lastmodification-date>19/1/2005 - 18:42:37</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>JR</author>
     <container>?</container>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-      <PyFunc><![CDATA[def IsOdd(a) :        ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsOdd"       ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -84,7 +90,7 @@
     <kind>6</kind>
     <coupled-node>EndOfSwitchOdd</coupled-node>
     <service>
-<service-name>Switch</service-name>
+<service-name>SwitchOdd</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-      <PyFunc><![CDATA[from time import * ]]></PyFunc>
-      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
-      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
-      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>7</kind>
     <coupled-node>SwitchOdd</coupled-node>
     <service>
-<service-name>EndOfSwitch</service-name>
+<service-name>EndOfSwitchOdd</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
     <DataStream-list/>
     <PyFunction-list>
 <PyFunction>
-<FuncName>?</FuncName>
-      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>3</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>IsOdd_1</service-name>
+<service-name>IsEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list>
 <PyFunction>
 <FuncName>IsEven</FuncName>
-      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
-      <PyFunc><![CDATA[    print a,"IsEven"       ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Python function</comment>
-    <x-position>479</x-position>
-    <y-position>311</y-position>   </node>
+    <x-position>482</x-position>
+    <y-position>292</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
     <kind>4</kind>
     <coupled-node>EndOfLoop</coupled-node>
     <service>
-<service-name>InitLoop</service-name>
+<service-name>Loop</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>Loop</coupled-node>
     <service>
-<service-name>EndOfInitLoop</service-name>
+<service-name>EndOfLoop</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>6</kind>
     <coupled-node>EndOfSwitchEven</coupled-node>
     <service>
-<service-name>Switch_1</service-name>
+<service-name>SwitchEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
     <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
-      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
-      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>7</kind>
     <coupled-node>SwitchEven</coupled-node>
     <service>
-<service-name>EndSwitch</service-name>
+<service-name>EndOfSwitchEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
     <DataStream-list/>
     <PyFunction-list>
 <PyFunction>
-<FuncName>?</FuncName>
-      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:26:50</creation-date>
-    <lastmodification-date>19/1/2005 - 18:26:50</lastmodification-date>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <PyFunction-list>
 <PyFunction>
 <FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
       <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even) : ]]></PyFunc>
-      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 18:34:18</creation-date>
-    <lastmodification-date>19/1/2005 - 18:34:18</lastmodification-date>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return aOdd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 15:15:0</creation-date>
+    <lastmodification-date>8/3/2005 - 15:15:0</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>SwitchOdd</fromnode-name>
+<fromnode-name>IsOdd</fromnode-name>
     <fromserviceparameter-name>Odd</fromserviceparameter-name>
-    <tonode-name>IsOdd</tonode-name>
-    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>SwitchOdd</fromnode-name>
     <fromserviceparameter-name>Odd</fromserviceparameter-name>
-    <tonode-name>EndOfSwitchOdd</tonode-name>
-    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>SwitchOdd</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsOdd</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>443</x>
-      <y>121</y>     </coord>
-     <coord>
-<x>443</x>
-      <y>212</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>SwitchOdd</fromnode-name>
     <fromserviceparameter-name>Default</fromserviceparameter-name>
     <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Loop</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>EndOfLoop</tonode-name>
     <coord-list/>   </link>
    <link>
 <fromnode-name>SwitchEven</fromnode-name>
-    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
     <tonode-name>IsEven</tonode-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>SwitchEven</fromnode-name>
-    <fromserviceparameter-name>Even</fromserviceparameter-name>
-    <tonode-name>EndOfSwitchEven</tonode-name>
-    <toserviceparameter-name>Default</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
 <fromnode-name>SwitchEven</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>IsEven</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>434</x>
-      <y>382</y>     </coord>
-     <coord>
-<x>434</x>
-      <y>457</y>     </coord>    </coord-list>   </link>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndOfSwitchEven</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphLoopSwitchs</fromnode-name>
+<fromnode-name>GraphLoopSwitchs_1</fromnode-name>
     <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
     <tonode-name>Loop</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoopSwitchs</fromnode-name>
+<fromnode-name>GraphLoopSwitchs_1</fromnode-name>
     <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
     <tonode-name>Loop</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphLoopSwitchs</fromnode-name>
+<fromnode-name>GraphLoopSwitchs_1</fromnode-name>
     <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
     <tonode-name>Loop</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
-     <value>100</value>    </data-value>
+     <value>23</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchsAborted.py b/examples/GraphLoopSwitchsAborted.py
new file mode 100644 (file)
index 0000000..c34b09f
--- /dev/null
@@ -0,0 +1,231 @@
+
+# Generated python file of Graph GraphLoopSwitchsAborted
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchsAborted
+def DefGraphLoopSwitchsAborted() :
+    GraphLoopSwitchsAborted = Graph( 'GraphLoopSwitchsAborted' )
+    GraphLoopSwitchsAborted.SetName( 'GraphLoopSwitchsAborted' )
+    GraphLoopSwitchsAborted.SetAuthor( 'JR' )
+    GraphLoopSwitchsAborted.SetComment( 'Default links are missing' )
+    GraphLoopSwitchsAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopSwitchsAborted.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopSwitchsAborted.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 482 , 292 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PySwitchsCompare = []
+    PySwitchsCompare.append( 'from time import * ' )
+    PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even) : ' )
+    PySwitchsCompare.append( '    sleep(1) ' )
+    PySwitchsCompare.append( '    return aOdd  ' )
+    SwitchsCompare = GraphLoopSwitchsAborted.INode( 'SwitchsCompare' , PySwitchsCompare )
+    SwitchsCompare.SetName( 'SwitchsCompare' )
+    SwitchsCompare.SetAuthor( '' )
+    SwitchsCompare.SetComment( 'Compute Node' )
+    SwitchsCompare.Coords( 919 , 242 )
+    ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
+    ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
+    ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
+    ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
+    ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
+    OSwitchsComparea = SwitchsCompare.OutPort( 'a' , 'long' )
+    OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyLoop.append( '   return Index,Min,Max     ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreLoop.append( '       if Index <= Max :   ' )
+    PyMoreLoop.append( '               DoLoop = 1     ' )
+    PyMoreLoop.append( '       else :     ' )
+    PyMoreLoop.append( '               DoLoop = 0     ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max     ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextLoop.append( '       Index = Index + 1     ' )
+    PyNextLoop.append( '       return Index,Min,Max     ' )
+    Loop,EndOfLoop = GraphLoopSwitchsAborted.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1102 , 282 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 12 , 276 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import *  ' )
+    PySwitchOdd.append( 'def Switch(a) :    ' )
+    PySwitchOdd.append( '    sleep(1)     ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),a     ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchsAborted.SNode( 'Switch' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 711 , 161 )
+    PyEndOfSwitchOdd = []
+    PyEndOfSwitchOdd.append( 'from time import * ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd) : ' )
+    PyEndOfSwitchOdd.append( '    sleep(1) ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 240 , 141 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'int' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *   ' )
+    PySwitchEven.append( 'def Switch(a) : ' )
+    PySwitchEven.append( '    sleep(1)   ' )
+    PySwitchEven.append( '    return a & 1,1-(a&1),a     ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchsAborted.SNode( 'Switch' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 718 , 361 )
+    PyEndOfSwitchEven = []
+    PyEndOfSwitchEven.append( 'from time import * ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even) : ' )
+    PyEndOfSwitchEven.append( '    sleep(1) ' )
+    PyEndOfSwitchEven.append( '    return a,Even ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 235 , 386 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchsAborted.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchsAborted.Link( OIsOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddOddIsOddGate = GraphLoopSwitchsAborted.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddaIsOdda = GraphLoopSwitchsAborted.Link( OSwitchOdda , IIsOdda )
+    
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchsAborted.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchsAborted.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchsAborted.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchsAborted.Link( OIsEvenEven , IEndOfSwitchEvenEven )
+    
+    LLoopIndexSwitchEvena = GraphLoopSwitchsAborted.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopIndexSwitchOdda = GraphLoopSwitchsAborted.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopMinEndOfLoopMin = GraphLoopSwitchsAborted.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchsAborted.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenEvenIsEvenGate = GraphLoopSwitchsAborted.Link( OSwitchEvenEven , IIsEvenGate )
+    
+    LSwitchEvenaIsEvena = GraphLoopSwitchsAborted.Link( OSwitchEvena , IIsEvena )
+    
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchsAborted.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchsAborted.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareaEndOfLoopIndex = GraphLoopSwitchsAborted.Link( OSwitchsComparea , IEndOfLoopIndex )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( 0 )
+    ILoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OSwitchOddEven = SwitchOdd.GetOutPort( 'Even' )
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    #OSwitchEvenOdd = SwitchEven.GetOutPort( 'Odd' )
+    return GraphLoopSwitchsAborted
+
+
+GraphLoopSwitchsAborted = DefGraphLoopSwitchsAborted()
diff --git a/examples/GraphLoopSwitchsAborted.xml b/examples/GraphLoopSwitchsAborted.xml
new file mode 100644 (file)
index 0000000..0529923
--- /dev/null
@@ -0,0 +1,553 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchsAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchs_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>SwitchOdd__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>SwitchEven__Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Default links are missing</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>141</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>711</x-position>
+    <y-position>161</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>482</x-position>
+    <y-position>292</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>12</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1102</x-position>
+    <y-position>282</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>235</x-position>
+    <y-position>386</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>718</x-position>
+    <y-position>361</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchsCompare</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SwitchsCompare</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aOdd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return aOdd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 16:59:13</creation-date>
+    <lastmodification-date>14/2/2005 - 16:59:13</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>919</x-position>
+    <y-position>242</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aOdd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchsCompare</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchsAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopSwitchsAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchsBranches.py b/examples/GraphLoopSwitchsBranches.py
new file mode 100644 (file)
index 0000000..40b474c
--- /dev/null
@@ -0,0 +1,290 @@
+
+# Generated python file of Graph GraphLoopSwitchsBranches_1
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchsBranches_1
+def DefGraphLoopSwitchsBranches_1() :
+    GraphLoopSwitchsBranches_1 = Graph( 'GraphLoopSwitchsBranches_1' )
+    GraphLoopSwitchsBranches_1.SetName( 'GraphLoopSwitchsBranches_1' )
+    GraphLoopSwitchsBranches_1.SetAuthor( 'JR' )
+    GraphLoopSwitchsBranches_1.SetComment( '' )
+    GraphLoopSwitchsBranches_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopSwitchsBranches_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 2 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopSwitchsBranches_1.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 472 , 724 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PySwitchsCompare = []
+    PySwitchsCompare.append( 'from time import *  ' )
+    PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ' )
+    PySwitchsCompare.append( '    sleep(1)  ' )
+    PySwitchsCompare.append( '    return Index ' )
+    SwitchsCompare = GraphLoopSwitchsBranches_1.INode( 'SwitchsCompare' , PySwitchsCompare )
+    SwitchsCompare.SetName( 'SwitchsCompare' )
+    SwitchsCompare.SetAuthor( '' )
+    SwitchsCompare.SetComment( 'Compute Node' )
+    SwitchsCompare.Coords( 918 , 221 )
+    ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
+    ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
+    ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
+    ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
+    ISwitchsCompareIndex = SwitchsCompare.InPort( 'Index' , 'long' )
+    ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
+    OSwitchsCompareIndex = SwitchsCompare.OutPort( 'Index' , 'long' )
+    OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
+    
+    PyIsNotOdd = []
+    PyIsNotOdd.append( 'from time import * ' )
+    PyIsNotOdd.append( 'def IsNotOdd(Even) : ' )
+    PyIsNotOdd.append( '    sleep(1) ' )
+    PyIsNotOdd.append( '    return Even ' )
+    IsNotOdd = GraphLoopSwitchsBranches_1.INode( 'IsNotOdd' , PyIsNotOdd )
+    IsNotOdd.SetName( 'IsNotOdd' )
+    IsNotOdd.SetAuthor( '' )
+    IsNotOdd.SetComment( 'Compute Node' )
+    IsNotOdd.Coords( 477 , 145 )
+    IIsNotOddEven = IsNotOdd.InPort( 'Even' , 'long' )
+    IIsNotOddGate = IsNotOdd.GetInPort( 'Gate' )
+    OIsNotOddEven = IsNotOdd.OutPort( 'Even' , 'long' )
+    OIsNotOddGate = IsNotOdd.GetOutPort( 'Gate' )
+    
+    PyIsNotEven = []
+    PyIsNotEven.append( 'from time import *  ' )
+    PyIsNotEven.append( 'def IsNotEven(Odd) :  ' )
+    PyIsNotEven.append( '    sleep(1)  ' )
+    PyIsNotEven.append( '    return Odd ' )
+    IsNotEven = GraphLoopSwitchsBranches_1.INode( 'IsNotEven' , PyIsNotEven )
+    IsNotEven.SetName( 'IsNotEven' )
+    IsNotEven.SetAuthor( '' )
+    IsNotEven.SetComment( 'Compute Node' )
+    IsNotEven.Coords( 477 , 570 )
+    IIsNotEvenOdd = IsNotEven.InPort( 'Odd' , 'long' )
+    IIsNotEvenGate = IsNotEven.GetInPort( 'Gate' )
+    OIsNotEvenOdd = IsNotEven.OutPort( 'Odd' , 'long' )
+    OIsNotEvenGate = IsNotEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyLoop.append( '   return Index,Min,Max     ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreLoop.append( '       if Index <= Max :   ' )
+    PyMoreLoop.append( '               DoLoop = 1     ' )
+    PyMoreLoop.append( '       else :     ' )
+    PyMoreLoop.append( '               DoLoop = 0     ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max     ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextLoop.append( '       Index = Index + 1     ' )
+    PyNextLoop.append( '       return Index,Min,Max     ' )
+    Loop,EndOfLoop = GraphLoopSwitchsBranches_1.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1099 , 261 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 19 , 341 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import *    ' )
+    PySwitchOdd.append( 'def SwitchOdd(a) :      ' )
+    PySwitchOdd.append( '    sleep(1)  ' )
+    PySwitchOdd.append( '    OddEven = 'Odd'  ' )
+    PySwitchOdd.append( '    if (a&1) == 0 :  ' )
+    PySwitchOdd.append( '        OddEven = 'Even'  ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),a,OddEven  ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchsBranches_1.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 715 , 208 )
+    PyEndOfSwitchOdd = []
+    PyEndOfSwitchOdd.append( 'from time import *  ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ' )
+    PyEndOfSwitchOdd.append( '    sleep(1)  ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd  ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddEven = EndOfSwitchOdd.InPort( 'Even' , 'long' )
+    IEndOfSwitchOddOddEven = EndOfSwitchOdd.InPort( 'OddEven' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 241 , 208 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'int' )
+    OSwitchOddOddEven = SwitchOdd.OutPort( 'OddEven' , 'string' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *      ' )
+    PySwitchEven.append( 'def SwitchEven(a) :    ' )
+    PySwitchEven.append( '    sleep(1)   ' )
+    PySwitchEven.append( '    OddEven = 'Even'   ' )
+    PySwitchEven.append( '    if (a&1) != 0 :   ' )
+    PySwitchEven.append( '        OddEven = 'Odd'  ' )
+    PySwitchEven.append( '    return a & 1,1-(a&1),a,OddEven   ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchsBranches_1.SNode( 'SwitchEven' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 722 , 425 )
+    PyEndOfSwitchEven = []
+    PyEndOfSwitchEven.append( 'from time import *  ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even,Odd,OddEven) :  ' )
+    PyEndOfSwitchEven.append( '    sleep(1)  ' )
+    PyEndOfSwitchEven.append( '    return a,Even  ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenOdd = EndOfSwitchEven.InPort( 'Odd' , 'long' )
+    IEndOfSwitchEvenOddEven = EndOfSwitchEven.InPort( 'OddEven' , 'string' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 228 , 425 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenOddEven = SwitchEven.OutPort( 'OddEven' , 'string' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchsBranches_1.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchsBranches_1.Link( OIsOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddOddIsOddGate = GraphLoopSwitchsBranches_1.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddEvenIsNotOddEven = GraphLoopSwitchsBranches_1.Link( OSwitchOddEven , IIsNotOddEven )
+    
+    LSwitchOddaIsOdda = GraphLoopSwitchsBranches_1.Link( OSwitchOdda , IIsOdda )
+    
+    LSwitchOddOddEvenEndOfSwitchOddOddEven = GraphLoopSwitchsBranches_1.Link( OSwitchOddOddEven , IEndOfSwitchOddOddEven )
+    
+    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchsBranches_1.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
+    
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchsBranches_1.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchsBranches_1.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchsBranches_1.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchsBranches_1.Link( OIsEvenEven , IEndOfSwitchEvenEven )
+    
+    LLoopIndexSwitchOdda = GraphLoopSwitchsBranches_1.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopIndexSwitchEvena = GraphLoopSwitchsBranches_1.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopIndexSwitchsCompareIndex = GraphLoopSwitchsBranches_1.Link( OLoopIndex , ISwitchsCompareIndex )
+    
+    LLoopMinEndOfLoopMin = GraphLoopSwitchsBranches_1.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchsBranches_1.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenOddIsNotEvenOdd = GraphLoopSwitchsBranches_1.Link( OSwitchEvenOdd , IIsNotEvenOdd )
+    
+    LSwitchEvenEvenIsEvenGate = GraphLoopSwitchsBranches_1.Link( OSwitchEvenEven , IIsEvenGate )
+    
+    LSwitchEvenaIsEvena = GraphLoopSwitchsBranches_1.Link( OSwitchEvena , IIsEvena )
+    
+    LSwitchEvenOddEvenEndOfSwitchEvenOddEven = GraphLoopSwitchsBranches_1.Link( OSwitchEvenOddEven , IEndOfSwitchEvenOddEven )
+    
+    LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopSwitchsBranches_1.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
+    
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchsBranches_1.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchsBranches_1.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareIndexEndOfLoopIndex = GraphLoopSwitchsBranches_1.Link( OSwitchsCompareIndex , IEndOfLoopIndex )
+    
+    LIsNotOddEvenEndOfSwitchOddEven = GraphLoopSwitchsBranches_1.Link( OIsNotOddEven , IEndOfSwitchOddEven )
+    
+    LIsNotEvenOddEndOfSwitchEvenOdd = GraphLoopSwitchsBranches_1.Link( OIsNotEvenOdd , IEndOfSwitchEvenOdd )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( 0 )
+    ILoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchsBranches_1
+
+
+GraphLoopSwitchsBranches_1 = DefGraphLoopSwitchsBranches_1()
diff --git a/examples/GraphLoopSwitchsBranches.xml b/examples/GraphLoopSwitchsBranches.xml
new file mode 100644 (file)
index 0000000..293e2cd
--- /dev/null
@@ -0,0 +1,692 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchsBranches_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchsBranches_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>2</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchOdd(a) :      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Odd'  ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Even'  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,OddEven  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>241</x-position>
+    <y-position>208</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>715</x-position>
+    <y-position>208</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>472</x-position>
+    <y-position>724</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>19</x-position>
+    <y-position>341</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1099</x-position>
+    <y-position>261</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchEven(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Even'   ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) != 0 :   ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Odd'  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,OddEven   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>228</x-position>
+    <y-position>425</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even,Odd,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>722</x-position>
+    <y-position>425</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchsCompare</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SwitchsCompare</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aOdd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>918</x-position>
+    <y-position>221</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotOdd(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>145</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotEven(Odd) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:27:23</creation-date>
+    <lastmodification-date>11/2/2005 - 17:27:23</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>570</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsNotOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aOdd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsNotEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchsCompare</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchsBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopSwitchsBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchsBranchesDefaultAborted.py b/examples/GraphLoopSwitchsBranchesDefaultAborted.py
new file mode 100644 (file)
index 0000000..8591848
--- /dev/null
@@ -0,0 +1,346 @@
+
+# Generated python file of Graph GraphLoopSwitchsBranchesdefaultAborted
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchsBranchesdefaultAborted
+def DefGraphLoopSwitchsBranchesdefaultAborted() :
+    GraphLoopSwitchsBranchesdefaultAborted = Graph( 'GraphLoopSwitchsBranchesdefaultAborted' )
+    GraphLoopSwitchsBranchesdefaultAborted.SetName( 'GraphLoopSwitchsBranchesdefaultAborted' )
+    GraphLoopSwitchsBranchesdefaultAborted.SetAuthor( 'JR' )
+    GraphLoopSwitchsBranchesdefaultAborted.SetComment( '' )
+    GraphLoopSwitchsBranchesdefaultAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 2 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 472 , 724 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PySwitchsCompare = []
+    PySwitchsCompare.append( 'from time import *  ' )
+    PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ' )
+    PySwitchsCompare.append( '    sleep(1)  ' )
+    PySwitchsCompare.append( '    return Index ' )
+    SwitchsCompare = GraphLoopSwitchsBranchesdefaultAborted.INode( 'SwitchsCompare' , PySwitchsCompare )
+    SwitchsCompare.SetName( 'SwitchsCompare' )
+    SwitchsCompare.SetAuthor( '' )
+    SwitchsCompare.SetComment( 'Compute Node' )
+    SwitchsCompare.Coords( 916 , 269 )
+    ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
+    ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
+    ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
+    ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
+    ISwitchsCompareIndex = SwitchsCompare.InPort( 'Index' , 'long' )
+    ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
+    OSwitchsCompareIndex = SwitchsCompare.OutPort( 'Index' , 'long' )
+    OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
+    
+    PyIsNotOdd = []
+    PyIsNotOdd.append( 'from time import * ' )
+    PyIsNotOdd.append( 'def IsNotOdd(Even) : ' )
+    PyIsNotOdd.append( '    sleep(1) ' )
+    PyIsNotOdd.append( '    return Even ' )
+    IsNotOdd = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsNotOdd' , PyIsNotOdd )
+    IsNotOdd.SetName( 'IsNotOdd' )
+    IsNotOdd.SetAuthor( '' )
+    IsNotOdd.SetComment( 'Compute Node' )
+    IsNotOdd.Coords( 477 , 137 )
+    IIsNotOddEven = IsNotOdd.InPort( 'Even' , 'long' )
+    IIsNotOddGate = IsNotOdd.GetInPort( 'Gate' )
+    OIsNotOddEven = IsNotOdd.OutPort( 'Even' , 'long' )
+    OIsNotOddGate = IsNotOdd.GetOutPort( 'Gate' )
+    
+    PyIsNotEven = []
+    PyIsNotEven.append( 'from time import *  ' )
+    PyIsNotEven.append( 'def IsNotEven(Odd) :  ' )
+    PyIsNotEven.append( '    sleep(1)  ' )
+    PyIsNotEven.append( '    return Odd ' )
+    IsNotEven = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsNotEven' , PyIsNotEven )
+    IsNotEven.SetName( 'IsNotEven' )
+    IsNotEven.SetAuthor( '' )
+    IsNotEven.SetComment( 'Compute Node' )
+    IsNotEven.Coords( 475 , 601 )
+    IIsNotEvenOdd = IsNotEven.InPort( 'Odd' , 'long' )
+    IIsNotEvenGate = IsNotEven.GetInPort( 'Gate' )
+    OIsNotEvenOdd = IsNotEven.OutPort( 'Odd' , 'long' )
+    OIsNotEvenGate = IsNotEven.GetOutPort( 'Gate' )
+    
+    PyIsOdddefault = []
+    PyIsOdddefault.append( 'from time import * ' )
+    PyIsOdddefault.append( 'def IsOdddefault(a) : ' )
+    PyIsOdddefault.append( '    sleep(1) ' )
+    PyIsOdddefault.append( '    return a,0 ' )
+    PyIsOdddefault.append( '' )
+    IsOdddefault = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsOdddefault' , PyIsOdddefault )
+    IsOdddefault.SetName( 'IsOdddefault' )
+    IsOdddefault.SetAuthor( '' )
+    IsOdddefault.SetComment( 'Compute Node' )
+    IsOdddefault.Coords( 477 , 285 )
+    IIsOdddefaulta = IsOdddefault.InPort( 'a' , 'long' )
+    IIsOdddefaultGate = IsOdddefault.GetInPort( 'Gate' )
+    OIsOdddefaulta = IsOdddefault.OutPort( 'a' , 'long' )
+    OIsOdddefaultOdd = IsOdddefault.OutPort( 'Odd' , 'long' )
+    OIsOdddefaultGate = IsOdddefault.GetOutPort( 'Gate' )
+    
+    PyIsEvendefault = []
+    PyIsEvendefault.append( 'from time import *  ' )
+    PyIsEvendefault.append( 'def IsEvendefault(a) :  ' )
+    PyIsEvendefault.append( '    sleep(1)  ' )
+    PyIsEvendefault.append( '    return a,0  ' )
+    PyIsEvendefault.append( '' )
+    IsEvendefault = GraphLoopSwitchsBranchesdefaultAborted.INode( 'IsEvendefault' , PyIsEvendefault )
+    IsEvendefault.SetName( 'IsEvendefault' )
+    IsEvendefault.SetAuthor( '' )
+    IsEvendefault.SetComment( 'Compute Node' )
+    IsEvendefault.Coords( 478 , 434 )
+    IIsEvendefaulta = IsEvendefault.InPort( 'a' , 'long' )
+    IIsEvendefaultGate = IsEvendefault.GetInPort( 'Gate' )
+    OIsEvendefaulta = IsEvendefault.OutPort( 'a' , 'long' )
+    OIsEvendefaultEven = IsEvendefault.OutPort( 'Even' , 'long' )
+    OIsEvendefaultGate = IsEvendefault.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyLoop.append( '    Index = Max ' )
+    PyLoop.append( '    return Index,Min,Max      ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreLoop.append( '       if Index >= Min :    ' )
+    PyMoreLoop.append( '               DoLoop = 1      ' )
+    PyMoreLoop.append( '       else :      ' )
+    PyMoreLoop.append( '               DoLoop = 0      ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max      ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextLoop.append( '       Index = Index - 1      ' )
+    PyNextLoop.append( '       return Index,Min,Max      ' )
+    Loop,EndOfLoop = GraphLoopSwitchsBranchesdefaultAborted.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1097 , 309 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 18 , 389 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import *      ' )
+    PySwitchOdd.append( 'def SwitchOdd(a) :        ' )
+    PySwitchOdd.append( '    sleep(1) ' )
+    PySwitchOdd.append( '    if a <= 0 : ' )
+    PySwitchOdd.append( '        OddEven = '<=0' ' )
+    PySwitchOdd.append( '        return 0,0,0,a,OddEven ' )
+    PySwitchOdd.append( '    OddEven = 'Odd'    ' )
+    PySwitchOdd.append( '    if (a&1) == 0 :    ' )
+    PySwitchOdd.append( '        OddEven = 'Even'    ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),1-(a&1),a,OddEven    ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchsBranchesdefaultAborted.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 718 , 162 )
+    PyEndOfSwitchOdd = []
+    PyEndOfSwitchOdd.append( 'from time import *  ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ' )
+    PyEndOfSwitchOdd.append( '    sleep(1)  ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd  ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddEven = EndOfSwitchOdd.InPort( 'Even' , 'long' )
+    IEndOfSwitchOddOddEven = EndOfSwitchOdd.InPort( 'OddEven' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 240 , 142 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdddefault = SwitchOdd.OutPort( 'default' , 'long' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'long' )
+    OSwitchOddOddEven = SwitchOdd.OutPort( 'OddEven' , 'string' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *            ' )
+    PySwitchEven.append( 'def SwitchEven(a) :          ' )
+    PySwitchEven.append( '    sleep(1)  ' )
+    PySwitchEven.append( '    if a <= 0 :  ' )
+    PySwitchEven.append( '        OddEven = '<=0'  ' )
+    PySwitchEven.append( '        return 0,0,0,a,OddEven  ' )
+    PySwitchEven.append( '    OddEven = 'Even'         ' )
+    PySwitchEven.append( '    if (a&1) != 0 :         ' )
+    PySwitchEven.append( '        OddEven = 'Odd'      ' )
+    PySwitchEven.append( '    print (a&1),1-(a&1),(a&1),a,OddEven    ' )
+    PySwitchEven.append( '    return (a&1),1-(a&1),(a&1),a,OddEven         ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchsBranchesdefaultAborted.SNode( 'SwitchEven' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 721 , 477 )
+    PyEndOfSwitchEven = []
+    PyEndOfSwitchEven.append( 'from time import *  ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even,Odd,OddEven) :  ' )
+    PyEndOfSwitchEven.append( '    sleep(1)  ' )
+    PyEndOfSwitchEven.append( '    return a,Even  ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenOdd = EndOfSwitchEven.InPort( 'Odd' , 'long' )
+    IEndOfSwitchEvenOddEven = EndOfSwitchEven.InPort( 'OddEven' , 'string' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 230 , 457 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvendefault = SwitchEven.OutPort( 'default' , 'long' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenOddEven = SwitchEven.OutPort( 'OddEven' , 'string' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddOddIsOddGate = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddEvenIsNotOddEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOddEven , IIsNotOddEven )
+    
+    LSwitchOdddefaultIsOdddefaultGate = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOdddefault , IIsOdddefaultGate )
+    
+    LSwitchOddaIsOdddefaulta = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOdda , IIsOdddefaulta )
+    
+    LSwitchOddaIsOdda = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOdda , IIsOdda )
+    
+    LSwitchOddOddEvenEndOfSwitchOddOddEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchOddOddEven , IEndOfSwitchOddOddEven )
+    
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsEvenEven , IEndOfSwitchEvenEven )
+    
+    LLoopIndexSwitchsCompareIndex = GraphLoopSwitchsBranchesdefaultAborted.Link( OLoopIndex , ISwitchsCompareIndex )
+    
+    LLoopIndexSwitchOdda = GraphLoopSwitchsBranchesdefaultAborted.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopIndexSwitchEvena = GraphLoopSwitchsBranchesdefaultAborted.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopMinEndOfLoopMin = GraphLoopSwitchsBranchesdefaultAborted.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchsBranchesdefaultAborted.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenOddIsNotEvenOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvenOdd , IIsNotEvenOdd )
+    
+    LSwitchEvenEvenIsEvenGate = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvenEven , IIsEvenGate )
+    
+    LSwitchEvendefaultIsEvendefaultGate = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvendefault , IIsEvendefaultGate )
+    
+    LSwitchEvenaIsEvena = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvena , IIsEvena )
+    
+    LSwitchEvenaIsEvendefaulta = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvena , IIsEvendefaulta )
+    
+    LSwitchEvenOddEvenEndOfSwitchEvenOddEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchEvenOddEven , IEndOfSwitchEvenOddEven )
+    
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareIndexEndOfLoopIndex = GraphLoopSwitchsBranchesdefaultAborted.Link( OSwitchsCompareIndex , IEndOfLoopIndex )
+    
+    LIsNotOddEvenEndOfSwitchOddEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsNotOddEven , IEndOfSwitchOddEven )
+    
+    LIsNotEvenOddEndOfSwitchEvenOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsNotEvenOdd , IEndOfSwitchEvenOdd )
+    
+    LIsOdddefaultaEndOfSwitchOdda = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsOdddefaulta , IEndOfSwitchOdda )
+    
+    LIsOdddefaultOddEndOfSwitchOddOdd = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsOdddefaultOdd , IEndOfSwitchOddOdd )
+    
+    LIsEvendefaultaEndOfSwitchEvena = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsEvendefaulta , IEndOfSwitchEvena )
+    
+    LIsEvendefaultEvenEndOfSwitchEvenEven = GraphLoopSwitchsBranchesdefaultAborted.Link( OIsEvendefaultEven , IEndOfSwitchEvenEven )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( -5 )
+    ILoopMax.Input( 11 )
+    
+    # Output Ports of the graph
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchsBranchesdefaultAborted
+
+
+GraphLoopSwitchsBranchesdefaultAborted = DefGraphLoopSwitchsBranchesdefaultAborted()
diff --git a/examples/GraphLoopSwitchsBranchesDefaultAborted.xml b/examples/GraphLoopSwitchsBranchesDefaultAborted.xml
new file mode 100644 (file)
index 0000000..ee1f2b3
--- /dev/null
@@ -0,0 +1,814 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchsBranchesdefaultAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchsBranchesdefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>2</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchOdd(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0' ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Odd'    ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Even'    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),1-(a&1),a,OddEven    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>142</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>718</x-position>
+    <y-position>162</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>472</x-position>
+    <y-position>724</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>18</x-position>
+    <y-position>389</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1097</x-position>
+    <y-position>309</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *            ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchEven(a) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0'  ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven  ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Even'         ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) != 0 :         ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Odd'      ]]></PyFunc>
+      <PyFunc><![CDATA[    print (a&1),1-(a&1),(a&1),a,OddEven    ]]></PyFunc>
+      <PyFunc><![CDATA[    return (a&1),1-(a&1),(a&1),a,OddEven         ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>230</x-position>
+    <y-position>457</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even,Odd,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>721</x-position>
+    <y-position>477</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchsCompare</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SwitchsCompare</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aOdd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>916</x-position>
+    <y-position>269</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotOdd(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>137</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotEven(Odd) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>475</x-position>
+    <y-position>601</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdddefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdddefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdddefault</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdddefault(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0 ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>285</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEvendefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEvendefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEvendefault</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEvendefault(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0  ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 17:10:5</creation-date>
+    <lastmodification-date>14/2/2005 - 17:10:5</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>478</x-position>
+    <y-position>434</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsNotOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aOdd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsNotEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchsCompare</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchsBranchesdefaultAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsBranchesdefaultAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsBranchesdefaultAborted</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>11</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchsBranchesdefault.py b/examples/GraphLoopSwitchsBranchesdefault.py
new file mode 100644 (file)
index 0000000..1af8dd7
--- /dev/null
@@ -0,0 +1,350 @@
+
+# Generated python file of Graph GraphLoopSwitchsBranchesdefault
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchsBranchesdefault
+def DefGraphLoopSwitchsBranchesdefault() :
+    GraphLoopSwitchsBranchesdefault = Graph( 'GraphLoopSwitchsBranchesdefault' )
+    GraphLoopSwitchsBranchesdefault.SetName( 'GraphLoopSwitchsBranchesdefault' )
+    GraphLoopSwitchsBranchesdefault.SetAuthor( 'JR' )
+    GraphLoopSwitchsBranchesdefault.SetComment( '' )
+    GraphLoopSwitchsBranchesdefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopSwitchsBranchesdefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 2 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopSwitchsBranchesdefault.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 472 , 724 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PySwitchsCompare = []
+    PySwitchsCompare.append( 'from time import *  ' )
+    PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ' )
+    PySwitchsCompare.append( '    sleep(1)  ' )
+    PySwitchsCompare.append( '    return Index ' )
+    SwitchsCompare = GraphLoopSwitchsBranchesdefault.INode( 'SwitchsCompare' , PySwitchsCompare )
+    SwitchsCompare.SetName( 'SwitchsCompare' )
+    SwitchsCompare.SetAuthor( '' )
+    SwitchsCompare.SetComment( 'Compute Node' )
+    SwitchsCompare.Coords( 916 , 269 )
+    ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
+    ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
+    ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
+    ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
+    ISwitchsCompareIndex = SwitchsCompare.InPort( 'Index' , 'long' )
+    ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
+    OSwitchsCompareIndex = SwitchsCompare.OutPort( 'Index' , 'long' )
+    OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
+    
+    PyIsNotOdd = []
+    PyIsNotOdd.append( 'from time import * ' )
+    PyIsNotOdd.append( 'def IsNotOdd(Even) : ' )
+    PyIsNotOdd.append( '    sleep(1) ' )
+    PyIsNotOdd.append( '    return Even ' )
+    IsNotOdd = GraphLoopSwitchsBranchesdefault.INode( 'IsNotOdd' , PyIsNotOdd )
+    IsNotOdd.SetName( 'IsNotOdd' )
+    IsNotOdd.SetAuthor( '' )
+    IsNotOdd.SetComment( 'Compute Node' )
+    IsNotOdd.Coords( 477 , 137 )
+    IIsNotOddEven = IsNotOdd.InPort( 'Even' , 'long' )
+    IIsNotOddGate = IsNotOdd.GetInPort( 'Gate' )
+    OIsNotOddEven = IsNotOdd.OutPort( 'Even' , 'long' )
+    OIsNotOddGate = IsNotOdd.GetOutPort( 'Gate' )
+    
+    PyIsNotEven = []
+    PyIsNotEven.append( 'from time import *  ' )
+    PyIsNotEven.append( 'def IsNotEven(Odd) :  ' )
+    PyIsNotEven.append( '    sleep(1)  ' )
+    PyIsNotEven.append( '    return Odd ' )
+    IsNotEven = GraphLoopSwitchsBranchesdefault.INode( 'IsNotEven' , PyIsNotEven )
+    IsNotEven.SetName( 'IsNotEven' )
+    IsNotEven.SetAuthor( '' )
+    IsNotEven.SetComment( 'Compute Node' )
+    IsNotEven.Coords( 475 , 601 )
+    IIsNotEvenOdd = IsNotEven.InPort( 'Odd' , 'long' )
+    IIsNotEvenGate = IsNotEven.GetInPort( 'Gate' )
+    OIsNotEvenOdd = IsNotEven.OutPort( 'Odd' , 'long' )
+    OIsNotEvenGate = IsNotEven.GetOutPort( 'Gate' )
+    
+    PyIsOdddefault = []
+    PyIsOdddefault.append( 'from time import * ' )
+    PyIsOdddefault.append( 'def IsOdddefault(a) : ' )
+    PyIsOdddefault.append( '    sleep(1) ' )
+    PyIsOdddefault.append( '    return a,0 ' )
+    PyIsOdddefault.append( ' ' )
+    IsOdddefault = GraphLoopSwitchsBranchesdefault.INode( 'IsOdddefault' , PyIsOdddefault )
+    IsOdddefault.SetName( 'IsOdddefault' )
+    IsOdddefault.SetAuthor( '' )
+    IsOdddefault.SetComment( 'Compute Node' )
+    IsOdddefault.Coords( 477 , 285 )
+    IIsOdddefaulta = IsOdddefault.InPort( 'a' , 'long' )
+    IIsOdddefaultGate = IsOdddefault.GetInPort( 'Gate' )
+    OIsOdddefaulta = IsOdddefault.OutPort( 'a' , 'long' )
+    OIsOdddefaultOdd = IsOdddefault.OutPort( 'Odd' , 'long' )
+    OIsOdddefaultGate = IsOdddefault.GetOutPort( 'Gate' )
+    
+    PyIsEvendefault = []
+    PyIsEvendefault.append( 'from time import *  ' )
+    PyIsEvendefault.append( 'def IsEvendefault(a) :  ' )
+    PyIsEvendefault.append( '    sleep(1)  ' )
+    PyIsEvendefault.append( '    return a,0  ' )
+    PyIsEvendefault.append( '  ' )
+    IsEvendefault = GraphLoopSwitchsBranchesdefault.INode( 'IsEvendefault' , PyIsEvendefault )
+    IsEvendefault.SetName( 'IsEvendefault' )
+    IsEvendefault.SetAuthor( '' )
+    IsEvendefault.SetComment( 'Compute Node' )
+    IsEvendefault.Coords( 478 , 434 )
+    IIsEvendefaulta = IsEvendefault.InPort( 'a' , 'long' )
+    IIsEvendefaultGate = IsEvendefault.GetInPort( 'Gate' )
+    OIsEvendefaulta = IsEvendefault.OutPort( 'a' , 'long' )
+    OIsEvendefaultEven = IsEvendefault.OutPort( 'Even' , 'long' )
+    OIsEvendefaultGate = IsEvendefault.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyLoop.append( '    Index = Max ' )
+    PyLoop.append( '    return Index,Min,Max      ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreLoop.append( '       if Index >= Min :    ' )
+    PyMoreLoop.append( '               DoLoop = 1      ' )
+    PyMoreLoop.append( '       else :      ' )
+    PyMoreLoop.append( '               DoLoop = 0      ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max      ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextLoop.append( '       Index = Index - 1      ' )
+    PyNextLoop.append( '       return Index,Min,Max      ' )
+    Loop,EndOfLoop = GraphLoopSwitchsBranchesdefault.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1097 , 309 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 18 , 389 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import *      ' )
+    PySwitchOdd.append( 'def SwitchOdd(a) :        ' )
+    PySwitchOdd.append( '    sleep(1) ' )
+    PySwitchOdd.append( '    if a <= 0 : ' )
+    PySwitchOdd.append( '        OddEven = '<=0' ' )
+    PySwitchOdd.append( '        return 0,0,0,a,OddEven ' )
+    PySwitchOdd.append( '    OddEven = 'Odd'    ' )
+    PySwitchOdd.append( '    if (a&1) == 0 :    ' )
+    PySwitchOdd.append( '        OddEven = 'Even'    ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),1-(a&1),a,OddEven    ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchsBranchesdefault.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 718 , 162 )
+    PyEndOfSwitchOdd = []
+    PyEndOfSwitchOdd.append( 'from time import *  ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ' )
+    PyEndOfSwitchOdd.append( '    sleep(1)  ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd  ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddEven = EndOfSwitchOdd.InPort( 'Even' , 'long' )
+    IEndOfSwitchOddOddEven = EndOfSwitchOdd.InPort( 'OddEven' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 240 , 142 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdddefault = SwitchOdd.OutPort( 'default' , 'long' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'long' )
+    OSwitchOddOddEven = SwitchOdd.OutPort( 'OddEven' , 'string' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *            ' )
+    PySwitchEven.append( 'def SwitchEven(a) :          ' )
+    PySwitchEven.append( '    sleep(1)  ' )
+    PySwitchEven.append( '    if a <= 0 :  ' )
+    PySwitchEven.append( '        OddEven = '<=0'  ' )
+    PySwitchEven.append( '        return 0,0,0,a,OddEven  ' )
+    PySwitchEven.append( '    OddEven = 'Even'         ' )
+    PySwitchEven.append( '    if (a&1) != 0 :         ' )
+    PySwitchEven.append( '        OddEven = 'Odd'      ' )
+    PySwitchEven.append( '    print (a&1),1-(a&1),(a&1),a,OddEven    ' )
+    PySwitchEven.append( '    return (a&1),1-(a&1),(a&1),a,OddEven         ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchsBranchesdefault.SNode( 'SwitchEven' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 721 , 477 )
+    PyEndOfSwitchEven = []
+    PyEndOfSwitchEven.append( 'from time import *  ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even,Odd,OddEven) :  ' )
+    PyEndOfSwitchEven.append( '    sleep(1)  ' )
+    PyEndOfSwitchEven.append( '    return a,Even  ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenOdd = EndOfSwitchEven.InPort( 'Odd' , 'long' )
+    IEndOfSwitchEvenOddEven = EndOfSwitchEven.InPort( 'OddEven' , 'string' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 230 , 457 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvendefault = SwitchEven.OutPort( 'default' , 'long' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenOddEven = SwitchEven.OutPort( 'OddEven' , 'string' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchsBranchesdefault.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopSwitchsBranchesdefault.Link( OIsOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddOddIsOddGate = GraphLoopSwitchsBranchesdefault.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddEvenIsNotOddEven = GraphLoopSwitchsBranchesdefault.Link( OSwitchOddEven , IIsNotOddEven )
+    
+    LSwitchOdddefaultIsOdddefaultGate = GraphLoopSwitchsBranchesdefault.Link( OSwitchOdddefault , IIsOdddefaultGate )
+    
+    LSwitchOddaIsOdddefaulta = GraphLoopSwitchsBranchesdefault.Link( OSwitchOdda , IIsOdddefaulta )
+    
+    LSwitchOddaIsOdda = GraphLoopSwitchsBranchesdefault.Link( OSwitchOdda , IIsOdda )
+    
+    LSwitchOddOddEvenEndOfSwitchOddOddEven = GraphLoopSwitchsBranchesdefault.Link( OSwitchOddOddEven , IEndOfSwitchOddOddEven )
+    
+    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchsBranchesdefault.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
+    
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchsBranchesdefault.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchsBranchesdefault.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchsBranchesdefault.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopSwitchsBranchesdefault.Link( OIsEvenEven , IEndOfSwitchEvenEven )
+    
+    LLoopIndexSwitchsCompareIndex = GraphLoopSwitchsBranchesdefault.Link( OLoopIndex , ISwitchsCompareIndex )
+    
+    LLoopIndexSwitchOdda = GraphLoopSwitchsBranchesdefault.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopIndexSwitchEvena = GraphLoopSwitchsBranchesdefault.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopMinEndOfLoopMin = GraphLoopSwitchsBranchesdefault.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchsBranchesdefault.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenOddIsNotEvenOdd = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvenOdd , IIsNotEvenOdd )
+    
+    LSwitchEvenEvenIsEvenGate = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvenEven , IIsEvenGate )
+    
+    LSwitchEvendefaultIsEvendefaultGate = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvendefault , IIsEvendefaultGate )
+    
+    LSwitchEvenaIsEvena = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvena , IIsEvena )
+    
+    LSwitchEvenaIsEvendefaulta = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvena , IIsEvendefaulta )
+    
+    LSwitchEvenOddEvenEndOfSwitchEvenOddEven = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvenOddEven , IEndOfSwitchEvenOddEven )
+    
+    LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopSwitchsBranchesdefault.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
+    
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchsBranchesdefault.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchsBranchesdefault.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareIndexEndOfLoopIndex = GraphLoopSwitchsBranchesdefault.Link( OSwitchsCompareIndex , IEndOfLoopIndex )
+    
+    LIsNotOddEvenEndOfSwitchOddEven = GraphLoopSwitchsBranchesdefault.Link( OIsNotOddEven , IEndOfSwitchOddEven )
+    
+    LIsNotEvenOddEndOfSwitchEvenOdd = GraphLoopSwitchsBranchesdefault.Link( OIsNotEvenOdd , IEndOfSwitchEvenOdd )
+    
+    LIsOdddefaultaEndOfSwitchOdda = GraphLoopSwitchsBranchesdefault.Link( OIsOdddefaulta , IEndOfSwitchOdda )
+    
+    LIsOdddefaultOddEndOfSwitchOddOdd = GraphLoopSwitchsBranchesdefault.Link( OIsOdddefaultOdd , IEndOfSwitchOddOdd )
+    
+    LIsEvendefaultaEndOfSwitchEvena = GraphLoopSwitchsBranchesdefault.Link( OIsEvendefaulta , IEndOfSwitchEvena )
+    
+    LIsEvendefaultEvenEndOfSwitchEvenEven = GraphLoopSwitchsBranchesdefault.Link( OIsEvendefaultEven , IEndOfSwitchEvenEven )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( -5 )
+    ILoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchsBranchesdefault
+
+
+GraphLoopSwitchsBranchesdefault = DefGraphLoopSwitchsBranchesdefault()
diff --git a/examples/GraphLoopSwitchsBranchesdefault.xml b/examples/GraphLoopSwitchsBranchesdefault.xml
new file mode 100644 (file)
index 0000000..29a71f6
--- /dev/null
@@ -0,0 +1,826 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchsBranchesdefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchsBranchesdefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>11/2/2005 - 17:25:28</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>2</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchOdd(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0' ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Odd'    ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Even'    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),1-(a&1),a,OddEven    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>142</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>718</x-position>
+    <y-position>162</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>472</x-position>
+    <y-position>724</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>18</x-position>
+    <y-position>389</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1097</x-position>
+    <y-position>309</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *            ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchEven(a) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0'  ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven  ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Even'         ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) != 0 :         ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Odd'      ]]></PyFunc>
+      <PyFunc><![CDATA[    print (a&1),1-(a&1),(a&1),a,OddEven    ]]></PyFunc>
+      <PyFunc><![CDATA[    return (a&1),1-(a&1),(a&1),a,OddEven         ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>230</x-position>
+    <y-position>457</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even,Odd,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>721</x-position>
+    <y-position>477</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchsCompare</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SwitchsCompare</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aOdd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even,Index) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>916</x-position>
+    <y-position>269</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotOdd(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>137</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotEven(Odd) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:9:54</creation-date>
+    <lastmodification-date>11/2/2005 - 17:9:54</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>475</x-position>
+    <y-position>601</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdddefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdddefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdddefault</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdddefault(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0 ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:16:6</creation-date>
+    <lastmodification-date>11/2/2005 - 17:16:6</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>285</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEvendefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdddefault_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEvendefault</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEvendefault(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0  ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>11/2/2005 - 17:23:32</creation-date>
+    <lastmodification-date>11/2/2005 - 17:23:32</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>478</x-position>
+    <y-position>434</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsNotOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aOdd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsNotEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchsCompare</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchsBranchesdefault</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsBranchesdefault</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsBranchesdefault</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopSwitchsNOTValid.py b/examples/GraphLoopSwitchsNOTValid.py
new file mode 100644 (file)
index 0000000..09b9a00
--- /dev/null
@@ -0,0 +1,229 @@
+
+# Generated python file of Graph GraphLoopSwitchsNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphLoopSwitchsNOTValid
+def DefGraphLoopSwitchsNOTValid() :
+    GraphLoopSwitchsNOTValid = Graph( 'GraphLoopSwitchsNOTValid' )
+    GraphLoopSwitchsNOTValid.SetName( 'GraphLoopSwitchsNOTValid' )
+    GraphLoopSwitchsNOTValid.SetAuthor( 'JR' )
+    GraphLoopSwitchsNOTValid.SetComment( '' )
+    GraphLoopSwitchsNOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *    ' )
+    PyIsOdd.append( 'def IsOdd(a) :        ' )
+    PyIsOdd.append( '    print a,"IsOdd"       ' )
+    PyIsOdd.append( '    sleep( 1 )    ' )
+    PyIsOdd.append( '    return a      ' )
+    IsOdd = GraphLoopSwitchsNOTValid.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphLoopSwitchsNOTValid.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 479 , 311 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PySwitchsCompare = []
+    PySwitchsCompare.append( 'def SwitchsCompare(aOdd,Odd,aEven,Even) : ' )
+    PySwitchsCompare.append( '    return a ' )
+    SwitchsCompare = GraphLoopSwitchsNOTValid.INode( 'SwitchsCompare' , PySwitchsCompare )
+    SwitchsCompare.SetName( 'SwitchsCompare' )
+    SwitchsCompare.SetAuthor( '' )
+    SwitchsCompare.SetComment( 'Compute Node' )
+    SwitchsCompare.Coords( 919 , 242 )
+    ISwitchsCompareaOdd = SwitchsCompare.InPort( 'aOdd' , 'long' )
+    ISwitchsCompareOdd = SwitchsCompare.InPort( 'Odd' , 'boolean' )
+    ISwitchsCompareaEven = SwitchsCompare.InPort( 'aEven' , 'long' )
+    ISwitchsCompareEven = SwitchsCompare.InPort( 'Even' , 'boolean' )
+    ISwitchsCompareGate = SwitchsCompare.GetInPort( 'Gate' )
+    OSwitchsComparea = SwitchsCompare.OutPort( 'a' , 'long' )
+    OSwitchsCompareGate = SwitchsCompare.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyLoop.append( '   return Index,Min,Max     ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreLoop.append( '       if Index <= Max :   ' )
+    PyMoreLoop.append( '               DoLoop = 1     ' )
+    PyMoreLoop.append( '       else :     ' )
+    PyMoreLoop.append( '               DoLoop = 0     ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max     ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextLoop.append( '       Index = Index + 1     ' )
+    PyNextLoop.append( '       return Index,Min,Max     ' )
+    Loop,EndOfLoop = GraphLoopSwitchsNOTValid.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1102 , 282 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 12 , 276 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import * ' )
+    PySwitchOdd.append( 'def Switch(a) :   ' )
+    PySwitchOdd.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitchOdd.append( '        sleep(1)    ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),a    ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopSwitchsNOTValid.SNode( 'Switch' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 711 , 161 )
+    PyEndOfSwitchOdd = []
+    EndOfSwitchOdd.SetPyFunction( '' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 240 , 141 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'int' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *  ' )
+    PySwitchEven.append( 'def Switch(a) :    ' )
+    PySwitchEven.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitchEven.append( '        sleep(1)  ' )
+    PySwitchEven.append( '    return a & 1,1-(a&1),a    ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopSwitchsNOTValid.SNode( 'Switch' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 718 , 361 )
+    PyEndOfSwitchEven = []
+    EndOfSwitchEven.SetPyFunction( '' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 235 , 386 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopSwitchsNOTValid.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LSwitchOddOddIsOddGate = GraphLoopSwitchsNOTValid.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddOddEndOfSwitchOddOdd = GraphLoopSwitchsNOTValid.Link( OSwitchOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddaIsOdda = GraphLoopSwitchsNOTValid.Link( OSwitchOdda , IIsOdda )
+    LSwitchOddaIsOdda.AddCoord( 1 , 443 , 121 )
+    LSwitchOddaIsOdda.AddCoord( 2 , 443 , 212 )
+    
+    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopSwitchsNOTValid.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
+    
+    LEndOfSwitchOddaSwitchsCompareaOdd = GraphLoopSwitchsNOTValid.Link( OEndOfSwitchOdda , ISwitchsCompareaOdd )
+    
+    LEndOfSwitchOddOddSwitchsCompareOdd = GraphLoopSwitchsNOTValid.Link( OEndOfSwitchOddOdd , ISwitchsCompareOdd )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopSwitchsNOTValid.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LLoopIndexSwitchEvena = GraphLoopSwitchsNOTValid.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopIndexSwitchOdda = GraphLoopSwitchsNOTValid.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopMinEndOfLoopMin = GraphLoopSwitchsNOTValid.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopSwitchsNOTValid.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenOddIsEvenGate = GraphLoopSwitchsNOTValid.Link( OSwitchEvenOdd , IIsEvenGate )
+    
+    LSwitchEvenEvenEndOfSwitchEvenDefault = GraphLoopSwitchsNOTValid.Link( OSwitchEvenEven , IEndOfSwitchEvenDefault )
+    
+    LSwitchEvenaIsEvena = GraphLoopSwitchsNOTValid.Link( OSwitchEvena , IIsEvena )
+    LSwitchEvenaIsEvena.AddCoord( 1 , 434 , 382 )
+    LSwitchEvenaIsEvena.AddCoord( 2 , 434 , 457 )
+    
+    LEndOfSwitchEvenaSwitchsCompareaEven = GraphLoopSwitchsNOTValid.Link( OEndOfSwitchEvena , ISwitchsCompareaEven )
+    
+    LEndOfSwitchEvenEvenSwitchsCompareEven = GraphLoopSwitchsNOTValid.Link( OEndOfSwitchEvenEven , ISwitchsCompareEven )
+    
+    LSwitchsCompareaEndOfLoopIndex = GraphLoopSwitchsNOTValid.Link( OSwitchsComparea , IEndOfLoopIndex )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( 0 )
+    ILoopMax.Input( 100 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitchEvenEven = EndOfSwitchEven.GetInPort( 'Even' )
+    
+    # Output Ports of the graph
+    #OSwitchOddEven = SwitchOdd.GetOutPort( 'Even' )
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    return GraphLoopSwitchsNOTValid
+
+
+GraphLoopSwitchsNOTValid = DefGraphLoopSwitchsNOTValid()
diff --git a/examples/GraphLoopSwitchsNOTValid.xml b/examples/GraphLoopSwitchsNOTValid.xml
new file mode 100644 (file)
index 0000000..5ba6267
--- /dev/null
@@ -0,0 +1,559 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopSwitchsNOTValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopSwitchsNOTValid</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>EndOfSwitchEven__Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>SwitchOdd__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:57</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>141</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>711</x-position>
+    <y-position>161</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>479</x-position>
+    <y-position>311</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>12</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1102</x-position>
+    <y-position>282</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>235</x-position>
+    <y-position>386</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>718</x-position>
+    <y-position>361</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchsCompare</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>SwitchsCompare</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aOdd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchsCompare</FuncName>
+      <PyFunc><![CDATA[def SwitchsCompare(aOdd,Odd,aEven,Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/2/2005 - 11:26:56</creation-date>
+    <lastmodification-date>8/2/2005 - 11:26:56</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>919</x-position>
+    <y-position>242</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>443</x>
+      <y>121</y>     </coord>
+     <coord>
+<x>443</x>
+      <y>212</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aOdd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>434</x>
+      <y>382</y>     </coord>
+     <coord>
+<x>434</x>
+      <y>457</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>aEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>SwitchsCompare</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchsCompare</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopSwitchsNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopSwitchsNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopSwitchsNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>100</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphLoopTwoBranches.py b/examples/GraphLoopTwoBranches.py
new file mode 100644 (file)
index 0000000..2aa4b70
--- /dev/null
@@ -0,0 +1,326 @@
+
+# Generated python file of Graph GraphLoopTwoBranches_1
+
+from SuperV import *
+
+# Graph creation of GraphLoopTwoBranches_1
+def DefGraphLoopTwoBranches_1() :
+    GraphLoopTwoBranches_1 = Graph( 'GraphLoopTwoBranches_1' )
+    GraphLoopTwoBranches_1.SetName( 'GraphLoopTwoBranches_1' )
+    GraphLoopTwoBranches_1.SetAuthor( '' )
+    GraphLoopTwoBranches_1.SetComment( '' )
+    GraphLoopTwoBranches_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *     ' )
+    PyIsOdd.append( 'def IsOdd(a) :         ' )
+    PyIsOdd.append( '    print a,"IsOdd"        ' )
+    PyIsOdd.append( '    sleep( 1 )     ' )
+    PyIsOdd.append( '    return a,1 ' )
+    IsOdd = GraphLoopTwoBranches_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 476 , 2 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddOdd = IsOdd.OutPort( 'Odd' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(a) :         ' )
+    PyIsEven.append( '    print a,"IsEven"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a,1 ' )
+    IsEven = GraphLoopTwoBranches_1.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Python function' )
+    IsEven.Coords( 472 , 724 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenEven = IsEven.OutPort( 'Even' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyIsNotOdd = []
+    PyIsNotOdd.append( 'from time import * ' )
+    PyIsNotOdd.append( 'def IsNotOdd(Even) : ' )
+    PyIsNotOdd.append( '    sleep(1) ' )
+    PyIsNotOdd.append( '    return Even ' )
+    IsNotOdd = GraphLoopTwoBranches_1.INode( 'IsNotOdd' , PyIsNotOdd )
+    IsNotOdd.SetName( 'IsNotOdd' )
+    IsNotOdd.SetAuthor( '' )
+    IsNotOdd.SetComment( 'Compute Node' )
+    IsNotOdd.Coords( 477 , 137 )
+    IIsNotOddEven = IsNotOdd.InPort( 'Even' , 'long' )
+    IIsNotOddGate = IsNotOdd.GetInPort( 'Gate' )
+    OIsNotOddEven = IsNotOdd.OutPort( 'Even' , 'long' )
+    OIsNotOddGate = IsNotOdd.GetOutPort( 'Gate' )
+    
+    PyIsNotEven = []
+    PyIsNotEven.append( 'from time import *  ' )
+    PyIsNotEven.append( 'def IsNotEven(Odd) :  ' )
+    PyIsNotEven.append( '    sleep(1)  ' )
+    PyIsNotEven.append( '    return Odd ' )
+    IsNotEven = GraphLoopTwoBranches_1.INode( 'IsNotEven' , PyIsNotEven )
+    IsNotEven.SetName( 'IsNotEven' )
+    IsNotEven.SetAuthor( '' )
+    IsNotEven.SetComment( 'Compute Node' )
+    IsNotEven.Coords( 475 , 601 )
+    IIsNotEvenOdd = IsNotEven.InPort( 'Odd' , 'long' )
+    IIsNotEvenGate = IsNotEven.GetInPort( 'Gate' )
+    OIsNotEvenOdd = IsNotEven.OutPort( 'Odd' , 'long' )
+    OIsNotEvenGate = IsNotEven.GetOutPort( 'Gate' )
+    
+    PyIsOdddefault = []
+    PyIsOdddefault.append( 'from time import * ' )
+    PyIsOdddefault.append( 'def IsOdddefault(a) : ' )
+    PyIsOdddefault.append( '    sleep(1) ' )
+    PyIsOdddefault.append( '    return a,0 ' )
+    PyIsOdddefault.append( '' )
+    IsOdddefault = GraphLoopTwoBranches_1.INode( 'IsOdddefault' , PyIsOdddefault )
+    IsOdddefault.SetName( 'IsOdddefault' )
+    IsOdddefault.SetAuthor( '' )
+    IsOdddefault.SetComment( 'Compute Node' )
+    IsOdddefault.Coords( 477 , 285 )
+    IIsOdddefaulta = IsOdddefault.InPort( 'a' , 'long' )
+    IIsOdddefaultGate = IsOdddefault.GetInPort( 'Gate' )
+    OIsOdddefaulta = IsOdddefault.OutPort( 'a' , 'long' )
+    OIsOdddefaultOdd = IsOdddefault.OutPort( 'Odd' , 'long' )
+    OIsOdddefaultGate = IsOdddefault.GetOutPort( 'Gate' )
+    
+    PyIsEvendefault = []
+    PyIsEvendefault.append( 'from time import *  ' )
+    PyIsEvendefault.append( 'def IsEvendefault(a) :  ' )
+    PyIsEvendefault.append( '    sleep(1)  ' )
+    PyIsEvendefault.append( '    return a,0  ' )
+    PyIsEvendefault.append( '' )
+    IsEvendefault = GraphLoopTwoBranches_1.INode( 'IsEvendefault' , PyIsEvendefault )
+    IsEvendefault.SetName( 'IsEvendefault' )
+    IsEvendefault.SetAuthor( '' )
+    IsEvendefault.SetComment( 'Compute Node' )
+    IsEvendefault.Coords( 478 , 434 )
+    IIsEvendefaulta = IsEvendefault.InPort( 'a' , 'long' )
+    IIsEvendefaultGate = IsEvendefault.GetInPort( 'Gate' )
+    OIsEvendefaulta = IsEvendefault.OutPort( 'a' , 'long' )
+    OIsEvendefaultEven = IsEvendefault.OutPort( 'Even' , 'long' )
+    OIsEvendefaultGate = IsEvendefault.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyLoop.append( '    Index = Max ' )
+    PyLoop.append( '    return Index,Min,Max      ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreLoop.append( '       if Index >= Min :    ' )
+    PyMoreLoop.append( '               DoLoop = 1      ' )
+    PyMoreLoop.append( '       else :      ' )
+    PyMoreLoop.append( '               DoLoop = 0      ' )
+    PyMoreLoop.append( '       return DoLoop,Index,Min,Max      ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextLoop.append( '       Index = Index - 1      ' )
+    PyNextLoop.append( '       return Index,Min,Max      ' )
+    Loop,EndOfLoop = GraphLoopTwoBranches_1.LNode( 'InitLoop' , PyLoop , 'MoreLoop' , PyMoreLoop , 'NextLoop' , PyNextLoop )
+    EndOfLoop.SetName( 'EndOfLoop' )
+    EndOfLoop.SetAuthor( '' )
+    EndOfLoop.SetComment( 'Compute Node' )
+    EndOfLoop.Coords( 1097 , 309 )
+    PyEndOfLoop = []
+    EndOfLoop.SetPyFunction( '' , PyEndOfLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndOfLoopDoLoop = EndOfLoop.GetInPort( 'DoLoop' )
+    IEndOfLoopIndex = EndOfLoop.GetInPort( 'Index' )
+    IEndOfLoopMin = EndOfLoop.GetInPort( 'Min' )
+    IEndOfLoopMax = EndOfLoop.GetInPort( 'Max' )
+    IEndOfLoopGate = EndOfLoop.GetInPort( 'Gate' )
+    OEndOfLoopDoLoop = EndOfLoop.GetOutPort( 'DoLoop' )
+    OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    OEndOfLoopGate = EndOfLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 18 , 389 )
+    
+    # Creation of Switch Nodes
+    PySwitchOdd = []
+    PySwitchOdd.append( 'from time import *      ' )
+    PySwitchOdd.append( 'def SwitchOdd(a) :        ' )
+    PySwitchOdd.append( '    sleep(1) ' )
+    PySwitchOdd.append( '    if a <= 0 : ' )
+    PySwitchOdd.append( '        OddEven = '<=0' ' )
+    PySwitchOdd.append( '        return 0,0,0,a,OddEven ' )
+    PySwitchOdd.append( '    OddEven = 'Odd'    ' )
+    PySwitchOdd.append( '    if (a&1) == 0 :    ' )
+    PySwitchOdd.append( '        OddEven = 'Even'    ' )
+    PySwitchOdd.append( '    return a & 1,1-(a&1),1-(a&1),a,OddEven    ' )
+    SwitchOdd,EndOfSwitchOdd = GraphLoopTwoBranches_1.SNode( 'SwitchOdd' , PySwitchOdd )
+    EndOfSwitchOdd.SetName( 'EndOfSwitchOdd' )
+    EndOfSwitchOdd.SetAuthor( '' )
+    EndOfSwitchOdd.SetComment( 'Compute Node' )
+    EndOfSwitchOdd.Coords( 718 , 162 )
+    PyEndOfSwitchOdd = []
+    PyEndOfSwitchOdd.append( 'from time import *  ' )
+    PyEndOfSwitchOdd.append( 'def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ' )
+    PyEndOfSwitchOdd.append( '    sleep(1)  ' )
+    PyEndOfSwitchOdd.append( '    return a,Odd  ' )
+    EndOfSwitchOdd.SetPyFunction( 'EndOfSwitchOdd' , PyEndOfSwitchOdd )
+    IEndOfSwitchOdda = EndOfSwitchOdd.InPort( 'a' , 'long' )
+    IEndOfSwitchOddOdd = EndOfSwitchOdd.InPort( 'Odd' , 'boolean' )
+    IEndOfSwitchOddEven = EndOfSwitchOdd.InPort( 'Even' , 'long' )
+    IEndOfSwitchOddOddEven = EndOfSwitchOdd.InPort( 'OddEven' , 'boolean' )
+    IEndOfSwitchOddDefault = EndOfSwitchOdd.GetInPort( 'Default' )
+    OEndOfSwitchOdda = EndOfSwitchOdd.OutPort( 'a' , 'long' )
+    OEndOfSwitchOddOdd = EndOfSwitchOdd.OutPort( 'Odd' , 'boolean' )
+    OEndOfSwitchOddGate = EndOfSwitchOdd.GetOutPort( 'Gate' )
+    SwitchOdd.SetName( 'SwitchOdd' )
+    SwitchOdd.SetAuthor( '' )
+    SwitchOdd.SetComment( 'Compute Node' )
+    SwitchOdd.Coords( 240 , 142 )
+    ISwitchOdda = SwitchOdd.InPort( 'a' , 'long' )
+    ISwitchOddGate = SwitchOdd.GetInPort( 'Gate' )
+    OSwitchOddOdd = SwitchOdd.OutPort( 'Odd' , 'long' )
+    OSwitchOddEven = SwitchOdd.OutPort( 'Even' , 'int' )
+    OSwitchOdddefault = SwitchOdd.OutPort( 'default' , 'long' )
+    OSwitchOdda = SwitchOdd.OutPort( 'a' , 'long' )
+    OSwitchOddOddEven = SwitchOdd.OutPort( 'OddEven' , 'string' )
+    OSwitchOddDefault = SwitchOdd.GetOutPort( 'Default' )
+    
+    PySwitchEven = []
+    PySwitchEven.append( 'from time import *            ' )
+    PySwitchEven.append( 'def SwitchEven(a) :          ' )
+    PySwitchEven.append( '    sleep(1)  ' )
+    PySwitchEven.append( '    if a <= 0 :  ' )
+    PySwitchEven.append( '        OddEven = '<=0'  ' )
+    PySwitchEven.append( '        return 0,0,0,a,OddEven  ' )
+    PySwitchEven.append( '    OddEven = 'Even'         ' )
+    PySwitchEven.append( '    if (a&1) != 0 :         ' )
+    PySwitchEven.append( '        OddEven = 'Odd'      ' )
+    PySwitchEven.append( '    print (a&1),1-(a&1),(a&1),a,OddEven    ' )
+    PySwitchEven.append( '    return (a&1),1-(a&1),(a&1),a,OddEven         ' )
+    SwitchEven,EndOfSwitchEven = GraphLoopTwoBranches_1.SNode( 'SwitchEven' , PySwitchEven )
+    EndOfSwitchEven.SetName( 'EndOfSwitchEven' )
+    EndOfSwitchEven.SetAuthor( '' )
+    EndOfSwitchEven.SetComment( 'Compute Node' )
+    EndOfSwitchEven.Coords( 721 , 477 )
+    PyEndOfSwitchEven = []
+    PyEndOfSwitchEven.append( 'from time import *  ' )
+    PyEndOfSwitchEven.append( 'def EndOfSwitchEven(a,Even,Odd,OddEven) :  ' )
+    PyEndOfSwitchEven.append( '    sleep(1)  ' )
+    PyEndOfSwitchEven.append( '    return a,Even  ' )
+    EndOfSwitchEven.SetPyFunction( 'EndOfSwitchEven' , PyEndOfSwitchEven )
+    IEndOfSwitchEvena = EndOfSwitchEven.InPort( 'a' , 'long' )
+    IEndOfSwitchEvenEven = EndOfSwitchEven.InPort( 'Even' , 'boolean' )
+    IEndOfSwitchEvenOdd = EndOfSwitchEven.InPort( 'Odd' , 'long' )
+    IEndOfSwitchEvenOddEven = EndOfSwitchEven.InPort( 'OddEven' , 'string' )
+    IEndOfSwitchEvenDefault = EndOfSwitchEven.GetInPort( 'Default' )
+    OEndOfSwitchEvena = EndOfSwitchEven.OutPort( 'a' , 'long' )
+    OEndOfSwitchEvenEven = EndOfSwitchEven.OutPort( 'Even' , 'boolean' )
+    OEndOfSwitchEvenGate = EndOfSwitchEven.GetOutPort( 'Gate' )
+    SwitchEven.SetName( 'SwitchEven' )
+    SwitchEven.SetAuthor( '' )
+    SwitchEven.SetComment( 'Compute Node' )
+    SwitchEven.Coords( 230 , 457 )
+    ISwitchEvena = SwitchEven.InPort( 'a' , 'long' )
+    ISwitchEvenGate = SwitchEven.GetInPort( 'Gate' )
+    OSwitchEvenOdd = SwitchEven.OutPort( 'Odd' , 'long' )
+    OSwitchEvenEven = SwitchEven.OutPort( 'Even' , 'int' )
+    OSwitchEvendefault = SwitchEven.OutPort( 'default' , 'long' )
+    OSwitchEvena = SwitchEven.OutPort( 'a' , 'int' )
+    OSwitchEvenOddEven = SwitchEven.OutPort( 'OddEven' , 'string' )
+    OSwitchEvenDefault = SwitchEven.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitchOdda = GraphLoopTwoBranches_1.Link( OIsOdda , IEndOfSwitchOdda )
+    
+    LIsOddOddEndOfSwitchOddOdd = GraphLoopTwoBranches_1.Link( OIsOddOdd , IEndOfSwitchOddOdd )
+    
+    LSwitchOddOddIsOddGate = GraphLoopTwoBranches_1.Link( OSwitchOddOdd , IIsOddGate )
+    
+    LSwitchOddEvenIsNotOddEven = GraphLoopTwoBranches_1.Link( OSwitchOddEven , IIsNotOddEven )
+    
+    LSwitchOdddefaultIsOdddefaultGate = GraphLoopTwoBranches_1.Link( OSwitchOdddefault , IIsOdddefaultGate )
+    
+    LSwitchOddaIsOdddefaulta = GraphLoopTwoBranches_1.Link( OSwitchOdda , IIsOdddefaulta )
+    
+    LSwitchOddaIsOdda = GraphLoopTwoBranches_1.Link( OSwitchOdda , IIsOdda )
+    
+    LSwitchOddOddEvenEndOfSwitchOddOddEven = GraphLoopTwoBranches_1.Link( OSwitchOddOddEven , IEndOfSwitchOddOddEven )
+    
+    LSwitchOddDefaultEndOfSwitchOddDefault = GraphLoopTwoBranches_1.Link( OSwitchOddDefault , IEndOfSwitchOddDefault )
+    
+    LEndOfSwitchOddaEndOfLoopIndex = GraphLoopTwoBranches_1.Link( OEndOfSwitchOdda , IEndOfLoopIndex )
+    
+    LIsEvenaEndOfSwitchEvena = GraphLoopTwoBranches_1.Link( OIsEvena , IEndOfSwitchEvena )
+    
+    LIsEvenEvenEndOfSwitchEvenEven = GraphLoopTwoBranches_1.Link( OIsEvenEven , IEndOfSwitchEvenEven )
+    
+    LLoopIndexSwitchOdda = GraphLoopTwoBranches_1.Link( OLoopIndex , ISwitchOdda )
+    
+    LLoopIndexSwitchEvena = GraphLoopTwoBranches_1.Link( OLoopIndex , ISwitchEvena )
+    
+    LLoopMinEndOfLoopMin = GraphLoopTwoBranches_1.Link( OLoopMin , IEndOfLoopMin )
+    
+    LLoopMaxEndOfLoopMax = GraphLoopTwoBranches_1.Link( OLoopMax , IEndOfLoopMax )
+    
+    LSwitchEvenOddIsNotEvenOdd = GraphLoopTwoBranches_1.Link( OSwitchEvenOdd , IIsNotEvenOdd )
+    
+    LSwitchEvenEvenIsEvenGate = GraphLoopTwoBranches_1.Link( OSwitchEvenEven , IIsEvenGate )
+    
+    LSwitchEvendefaultIsEvendefaultGate = GraphLoopTwoBranches_1.Link( OSwitchEvendefault , IIsEvendefaultGate )
+    
+    LSwitchEvenaIsEvena = GraphLoopTwoBranches_1.Link( OSwitchEvena , IIsEvena )
+    
+    LSwitchEvenaIsEvendefaulta = GraphLoopTwoBranches_1.Link( OSwitchEvena , IIsEvendefaulta )
+    
+    LSwitchEvenOddEvenEndOfSwitchEvenOddEven = GraphLoopTwoBranches_1.Link( OSwitchEvenOddEven , IEndOfSwitchEvenOddEven )
+    
+    LSwitchEvenDefaultEndOfSwitchEvenDefault = GraphLoopTwoBranches_1.Link( OSwitchEvenDefault , IEndOfSwitchEvenDefault )
+    
+    LEndOfSwitchEvenGateEndOfLoopGate = GraphLoopTwoBranches_1.Link( OEndOfSwitchEvenGate , IEndOfLoopGate )
+    
+    LIsNotOddEvenEndOfSwitchOddEven = GraphLoopTwoBranches_1.Link( OIsNotOddEven , IEndOfSwitchOddEven )
+    
+    LIsNotEvenOddEndOfSwitchEvenOdd = GraphLoopTwoBranches_1.Link( OIsNotEvenOdd , IEndOfSwitchEvenOdd )
+    
+    LIsOdddefaultaEndOfSwitchOdda = GraphLoopTwoBranches_1.Link( OIsOdddefaulta , IEndOfSwitchOdda )
+    
+    LIsOdddefaultOddEndOfSwitchOddOdd = GraphLoopTwoBranches_1.Link( OIsOdddefaultOdd , IEndOfSwitchOddOdd )
+    
+    LIsEvendefaultaEndOfSwitchEvena = GraphLoopTwoBranches_1.Link( OIsEvendefaulta , IEndOfSwitchEvena )
+    
+    LIsEvendefaultEvenEndOfSwitchEvenEven = GraphLoopTwoBranches_1.Link( OIsEvendefaultEven , IEndOfSwitchEvenEven )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMin.Input( -5 )
+    ILoopMax.Input( 11 )
+    
+    # Output Ports of the graph
+    #OEndOfSwitchOddOdd = EndOfSwitchOdd.GetOutPort( 'Odd' )
+    #OEndOfLoopIndex = EndOfLoop.GetOutPort( 'Index' )
+    #OEndOfLoopMin = EndOfLoop.GetOutPort( 'Min' )
+    #OEndOfLoopMax = EndOfLoop.GetOutPort( 'Max' )
+    #OEndOfSwitchEvena = EndOfSwitchEven.GetOutPort( 'a' )
+    #OEndOfSwitchEvenEven = EndOfSwitchEven.GetOutPort( 'Even' )
+    return GraphLoopTwoBranches_1
+
+
+GraphLoopTwoBranches_1 = DefGraphLoopTwoBranches_1()
diff --git a/examples/GraphLoopTwoBranches.xml b/examples/GraphLoopTwoBranches.xml
new file mode 100644 (file)
index 0000000..4d484bf
--- /dev/null
@@ -0,0 +1,767 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopTwoBranches_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopTwoBranches_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>EndOfSwitchOdd__Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfSwitchEven__a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>EndOfSwitchEven__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>4/7/2005 - 15:59:20</creation-date>
+    <lastmodification-date>4/7/2005 - 17:43:34</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>476</x-position>
+    <y-position>2</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchOdd</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchOdd</coupled-node>
+    <service>
+<service-name>SwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchOdd(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0' ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Odd'    ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Even'    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),1-(a&1),a,OddEven    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>142</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchOdd</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchOdd</coupled-node>
+    <service>
+<service-name>EndOfSwitchOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchOdd</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchOdd(a,Odd,Even,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Odd  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>718</x-position>
+    <y-position>162</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,1 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>472</x-position>
+    <y-position>724</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfLoop</coupled-node>
+    <service>
+<service-name>Loop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>18</x-position>
+    <y-position>389</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndOfLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1097</x-position>
+    <y-position>309</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchEven</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitchEven</coupled-node>
+    <service>
+<service-name>SwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>OddEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *            ]]></PyFunc>
+      <PyFunc><![CDATA[def SwitchEven(a) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = '<=0'  ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,0,a,OddEven  ]]></PyFunc>
+      <PyFunc><![CDATA[    OddEven = 'Even'         ]]></PyFunc>
+      <PyFunc><![CDATA[    if (a&1) != 0 :         ]]></PyFunc>
+      <PyFunc><![CDATA[        OddEven = 'Odd'      ]]></PyFunc>
+      <PyFunc><![CDATA[    print (a&1),1-(a&1),(a&1),a,OddEven    ]]></PyFunc>
+      <PyFunc><![CDATA[    return (a&1),1-(a&1),(a&1),a,OddEven         ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>230</x-position>
+    <y-position>457</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitchEven</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchEven</coupled-node>
+    <service>
+<service-name>EndOfSwitchEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>boolean</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>OddEven</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitchEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitchEven(a,Even,Odd,OddEven) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Even  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>721</x-position>
+    <y-position>477</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotOdd(Even) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>137</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsNotEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsNotEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Odd</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsNotEven</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsNotEven(Odd) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>475</x-position>
+    <y-position>601</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdddefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdddefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdddefault</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdddefault(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0 ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>477</x-position>
+    <y-position>285</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEvendefault</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEvendefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEvendefault</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEvendefault(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,0  ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>4/7/2005 - 17:38:58</creation-date>
+    <lastmodification-date>4/7/2005 - 17:38:58</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>478</x-position>
+    <y-position>434</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsNotOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdddefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchOdd</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsNotEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEvendefault</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>OddEven</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>OddEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchEven</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitchEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfLoop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotOdd</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsNotEven</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdddefault</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchOdd</tonode-name>
+    <toserviceparameter-name>Odd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEvendefault</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitchEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopTwoBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopTwoBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphLoopTwoBranches_1</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>11</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 9d63e77d3658760080eac0f7c600f6213e4d5681..32a276cacfef9237361eb12b1afdd309904b6163 100644 (file)
@@ -104,7 +104,7 @@ def DefGraphLoopsGates_1() :
     EndInit.SetName( 'EndInit' )
     EndInit.SetAuthor( '' )
     EndInit.SetComment( 'Compute Node' )
-    EndInit.Coords( 851 , 200 )
+    EndInit.Coords( 838 , 243 )
     PyEndInit = []
     EndInit.SetPyFunction( 'EndInit' , PyEndInit )
     IInitDoLoop = Init.GetInPort( 'DoLoop' )
@@ -210,7 +210,7 @@ def DefGraphLoopsGates_1() :
     
     LSub_1GateGateG2 = GraphLoopsGates_1.Link( OSub_1Gate , IGateG2 )
     
-    LGateGEndInitGate = GraphLoopsGates_1.Link( OGateG , IEndInitGate )
+    LGateGateEndInitGate = GraphLoopsGates_1.Link( OGateGate , IEndInitGate )
     
     LInit_1IndexEndInit_1Index = GraphLoopsGates_1.Link( OInit_1Index , IEndInit_1Index )
     
@@ -246,6 +246,7 @@ def DefGraphLoopsGates_1() :
     #OAdd_1z = Add_1.GetOutPort( 'z' )
     #OSubz = Sub.GetOutPort( 'z' )
     #OSub_1z = Sub_1.GetOutPort( 'z' )
+    #OGateG = Gate.GetOutPort( 'G' )
     #OEndInit_1Index = EndInit_1.GetOutPort( 'Index' )
     #OEndInit_1Min = EndInit_1.GetOutPort( 'Min' )
     #OEndInit_1Max = EndInit_1.GetOutPort( 'Max' )
index 38c05b665a56abf4426a7b5c00ef53d9b88ce29f..0fdc0dc3e6b6a3cb771eb0c5d480df855fe0ef7a 100644 (file)
@@ -70,6 +70,9 @@
 <outParameter-type>double</outParameter-type>
        <outParameter-name>Sub_1__z</outParameter-name>      </outParameter>
       <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Gate__G</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndInit_1__Index</outParameter-name>      </outParameter>
       <outParameter>
@@ -81,7 +84,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>7/1/2005 - 16:57:1</creation-date>
-    <lastmodification-date>7/1/2005 - 17:57:7</lastmodification-date>
+    <lastmodification-date>5/7/2005 - 16:16:19</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
       <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</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>
+    <x-position>838</x-position>
+    <y-position>243</y-position>   </node>
    <node>
 <component-name>AddComponent</component-name>
     <interface-name>AddComponent</interface-name>
        <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <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>
+    <creation-date>5/7/2005 - 16:15:13</creation-date>
+    <lastmodification-date>5/7/2005 - 16:15:13</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <coord-list/>   </link>
    <link>
 <fromnode-name>Gate</fromnode-name>
-    <fromserviceparameter-name>G</fromserviceparameter-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
     <tonode-name>EndInit</tonode-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list/>   </link>
diff --git a/examples/GraphLoopsStupidCoupledSwitchs.py b/examples/GraphLoopsStupidCoupledSwitchs.py
new file mode 100644 (file)
index 0000000..6119a43
--- /dev/null
@@ -0,0 +1,273 @@
+
+# Generated python file of Graph GraphLoopsStupidCoupledSwitchs
+
+from SuperV import *
+
+# Graph creation of GraphLoopsStupidCoupledSwitchs
+def DefGraphLoopsStupidCoupledSwitchs() :
+    GraphLoopsStupidCoupledSwitchs = Graph( 'GraphLoopsStupidCoupledSwitchs' )
+    GraphLoopsStupidCoupledSwitchs.SetName( 'GraphLoopsStupidCoupledSwitchs' )
+    GraphLoopsStupidCoupledSwitchs.SetAuthor( '' )
+    GraphLoopsStupidCoupledSwitchs.SetComment( '' )
+    GraphLoopsStupidCoupledSwitchs.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphLoopsStupidCoupledSwitchs.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 458 , 52 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *   ' )
+    PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+    PyIsOdd_1.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+    PyIsOdd_1.append( '    sleep( 1 )   ' )
+    PyIsOdd_1.append( '    return a     ' )
+    IsOdd_1 = GraphLoopsStupidCoupledSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 487 , 321 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphLoopsStupidCoupledSwitchs.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 955 , 122 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 14 , 136 )
+    
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphLoopsStupidCoupledSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 961 , 369 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 391 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphLoopsStupidCoupledSwitchs.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 690 , 129 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 245 , 136 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphLoopsStupidCoupledSwitchs.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 695 , 387 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 258 , 391 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphLoopsStupidCoupledSwitchs.Link( OIsOdda , IEndOfSwitcha )
+    
+    LIsOddGateEndOfSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OIsOddGate , IEndOfSwitchDefault )
+    
+    LInitLoopSwitchIndexSwitcha = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LInitLoopSwitchGateEndSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopSwitchGate , IEndSwitchDefault )
+    
+    LSwitchaIsOdda = GraphLoopsStupidCoupledSwitchs.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphLoopsStupidCoupledSwitchs.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LIsOdd_1aEndSwitcha = GraphLoopsStupidCoupledSwitchs.Link( OIsOdd_1a , IEndSwitcha )
+    
+    LIsOdd_1GateEndSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OIsOdd_1Gate , IEndSwitchDefault )
+    
+    LIsOdd_1GateEndOfSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OIsOdd_1Gate , IEndOfSwitchDefault )
+    
+    LInitLoopIndexSwitch_1a = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LInitLoopGateSwitchGate = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopGate , ISwitchGate )
+    
+    LInitLoopGateSwitch_1Gate = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopGate , ISwitch_1Gate )
+    
+    LInitLoopGateIsOdd_1Gate = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopGate , IIsOdd_1Gate )
+    
+    LInitLoopGateEndOfSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OInitLoopGate , IEndOfSwitchDefault )
+    
+    LSwitch_1EvenEndSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Even , IEndSwitchDefault )
+    
+    LSwitch_1aIsOdd_1a = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1a , IIsOdd_1a )
+    
+    LSwitch_1DefaultIsOddGate = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Default , IIsOddGate )
+    
+    LSwitch_1DefaultEndOfSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Default , IEndOfSwitchDefault )
+    
+    LSwitch_1DefaultEndOfInitLoopSwitchGate = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Default , IEndOfInitLoopSwitchGate )
+    
+    LSwitch_1DefaultEndOfInitLoopGate = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Default , IEndOfInitLoopGate )
+    
+    LSwitch_1DefaultEndSwitchDefault = GraphLoopsStupidCoupledSwitchs.Link( OSwitch_1Default , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphLoopsStupidCoupledSwitchs.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 20 )
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 20 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchOdd = Switch.GetOutPort( 'Odd' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OSwitch_1Odd = Switch_1.GetOutPort( 'Odd' )
+    return GraphLoopsStupidCoupledSwitchs
+
+
+GraphLoopsStupidCoupledSwitchs = DefGraphLoopsStupidCoupledSwitchs()
diff --git a/examples/GraphLoopsStupidCoupledSwitchs.xml b/examples/GraphLoopsStupidCoupledSwitchs.xml
new file mode 100644 (file)
index 0000000..1a90e1e
--- /dev/null
@@ -0,0 +1,706 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphLoopsStupidCoupledSwitchs</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphLoopsStupidCoupledSwitchs</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch__Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch_1__Odd</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>29/4/2005 - 17:18:4</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>458</x-position>
+    <y-position>52</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>14</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>955</x-position>
+    <y-position>122</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>245</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>690</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>487</x-position>
+    <y-position>321</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>391</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>961</x-position>
+    <y-position>369</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>258</x-position>
+    <y-position>391</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>29/4/2005 - 17:8:53</creation-date>
+    <lastmodification-date>29/4/2005 - 17:8:53</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>695</x-position>
+    <y-position>387</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphLoopsStupidCoupledSwitchs</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 75fdfe07e0138065c456b2bcb873a47c91cad2f7..a27018413bf8522f6317da8e6df20280b84c44ad 100644 (file)
@@ -17,8 +17,8 @@ def DefGraphMacroNodes() :
     Add.SetName( 'Add' )
     Add.SetAuthor( '' )
     Add.SetContainer( 'FactoryServer' )
-    Add.SetComment( '' )
-    Add.Coords( 15 , 241 )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 9 , 293 )
     IAddx = Add.GetInPort( 'x' )
     IAddy = Add.GetInPort( 'y' )
     IAddGate = Add.GetInPort( 'Gate' )
@@ -30,7 +30,7 @@ def DefGraphMacroNodes() :
     Sub.SetName( 'Sub' )
     Sub.SetAuthor( '' )
     Sub.SetContainer( 'FactoryServer' )
-    Sub.SetComment( '' )
+    Sub.SetComment( 'Sub from SubComponent' )
     Sub.Coords( 227 , 99 )
     ISubx = Sub.GetInPort( 'x' )
     ISuby = Sub.GetInPort( 'y' )
@@ -42,7 +42,7 @@ def DefGraphMacroNodes() :
     Mul.SetName( 'Mul' )
     Mul.SetAuthor( '' )
     Mul.SetContainer( 'FactoryServer' )
-    Mul.SetComment( '' )
+    Mul.SetComment( 'Mul from MulComponent' )
     Mul.Coords( 443 , 278 )
     IMulx = Mul.GetInPort( 'x' )
     IMuly = Mul.GetInPort( 'y' )
@@ -54,7 +54,7 @@ def DefGraphMacroNodes() :
     Div.SetName( 'Div' )
     Div.SetAuthor( '' )
     Div.SetContainer( 'FactoryServer' )
-    Div.SetComment( '' )
+    Div.SetComment( 'Div from DivComponent' )
     Div.Coords( 634 , 97 )
     IDivx = Div.GetInPort( 'x' )
     IDivy = Div.GetInPort( 'y' )
@@ -65,10 +65,11 @@ def DefGraphMacroNodes() :
     # Creation of Macro Nodes
     SyrStruct_1 = DefSyrStruct_1()
     Macro_SyrStruct = GraphMacroNodes.GraphMNode( SyrStruct_1 )
+    Macro_SyrStruct.SetCoupled( 'SyrStruct_1' )
     Macro_SyrStruct.SetName( 'Macro_SyrStruct' )
     Macro_SyrStruct.SetAuthor( '' )
-    Macro_SyrStruct.SetComment( '' )
-    Macro_SyrStruct.Coords( 0 , 0 )
+    Macro_SyrStruct.SetComment( 'Macro Node' )
+    Macro_SyrStruct.Coords( 13 , 6 )
     IMacro_SyrStructSyrComponent__aContainer = Macro_SyrStruct.GetInPort( 'SyrComponent__aContainer' )
     IMacro_SyrStructSyrComponent__aComponent = Macro_SyrStruct.GetInPort( 'SyrComponent__aComponent' )
     IMacro_SyrStructforN__N = Macro_SyrStruct.GetInPort( 'forN__N' )
@@ -90,10 +91,11 @@ def DefGraphMacroNodes() :
     
     SyrStruct_1_1 = DefSyrStruct_1_1()
     Macro_SyrStruct_1 = GraphMacroNodes.GraphMNode( SyrStruct_1_1 )
+    Macro_SyrStruct_1.SetCoupled( 'SyrStruct_1_1' )
     Macro_SyrStruct_1.SetName( 'Macro_SyrStruct_1' )
     Macro_SyrStruct_1.SetAuthor( '' )
-    Macro_SyrStruct_1.SetComment( '' )
-    Macro_SyrStruct_1.Coords( 0 , 0 )
+    Macro_SyrStruct_1.SetComment( 'Macro Node' )
+    Macro_SyrStruct_1.Coords( 8 , 441 )
     IMacro_SyrStruct_1SyrComponent__aContainer = Macro_SyrStruct_1.GetInPort( 'SyrComponent__aContainer' )
     IMacro_SyrStruct_1SyrComponent__aComponent = Macro_SyrStruct_1.GetInPort( 'SyrComponent__aComponent' )
     IMacro_SyrStruct_1forN__N = Macro_SyrStruct_1.GetInPort( 'forN__N' )
@@ -143,7 +145,7 @@ def DefGraphMacroNodes() :
     IMacro_SyrStruct_1forN__max.Input( 9 )
     IMacro_SyrStruct_1fori__i.Input( 0 )
     
-# Output Ports of the graph
+    # Output Ports of the graph
     #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
     #ODivz = Div.GetOutPort( 'z' )
     #OMacro_SyrStructEndOfforN__N = Macro_SyrStruct.GetOutPort( 'EndOfforN__N' )
@@ -169,6 +171,7 @@ def DefGraphMacroNodes() :
 # Graph creation of SyrStruct_1
 def DefSyrStruct_1() :
     SyrStruct_1 = Graph( 'SyrStruct_1' )
+    SyrStruct_1.SetCoupled( 'Macro_SyrStruct' )
     SyrStruct_1.SetName( 'SyrStruct_1' )
     SyrStruct_1.SetAuthor( 'JR' )
     SyrStruct_1.SetComment( 'Syracuse algorithm' )
@@ -277,7 +280,7 @@ def DefSyrStruct_1() :
     EndOfforN.Coords( 1535 , 332 )
     PyEndOfforN = []
     EndOfforN.SetPyFunction( '' , PyEndOfforN )
-    IforNInitLoop = forN.GetInPort( 'DoLoop' )
+    IforNDoLoop = forN.GetInPort( 'DoLoop' )
     IforNN = forN.InPort( 'N' , 'long' )
     IforNK = forN.InPort( 'K' , 'long' )
     IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
@@ -303,6 +306,7 @@ def DefSyrStruct_1() :
     OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
     OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
     OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
+    OEndOfforNGate = EndOfforN.GetOutPort( 'Gate' )
     forN.SetName( 'forN' )
     forN.SetAuthor( '' )
     forN.SetComment( 'InitN , MoreN , NextN' )
@@ -329,7 +333,7 @@ def DefSyrStruct_1() :
     EndOfwhileNotOne.Coords( 1366 , 303 )
     PyEndOfwhileNotOne = []
     EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
-    IwhileNotOneInitLoop = whileNotOne.GetInPort( 'DoLoop' )
+    IwhileNotOneDoLoop = whileNotOne.GetInPort( 'DoLoop' )
     IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
     IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
     IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
@@ -347,6 +351,7 @@ def DefSyrStruct_1() :
     OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
     OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
     OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
+    OEndOfwhileNotOneGate = EndOfwhileNotOne.GetOutPort( 'Gate' )
     whileNotOne.SetName( 'whileNotOne' )
     whileNotOne.SetAuthor( '' )
     whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
@@ -372,7 +377,7 @@ def DefSyrStruct_1() :
     EndOffori.Coords( 976 , 212 )
     PyEndOffori = []
     EndOffori.SetPyFunction( '' , PyEndOffori )
-    IforiInitLoop = fori.GetInPort( 'DoLoop' )
+    IforiDoLoop = fori.GetInPort( 'DoLoop' )
     Iforii = fori.InPort( 'i' , 'long' )
     IforiK = fori.InPort( 'K' , 'long' )
     IforiGate = fori.GetInPort( 'Gate' )
@@ -386,6 +391,7 @@ def DefSyrStruct_1() :
     OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
     OEndOfforii = EndOffori.GetOutPort( 'i' )
     OEndOfforiK = EndOffori.GetOutPort( 'K' )
+    OEndOfforiGate = EndOffori.GetOutPort( 'Gate' )
     fori.SetName( 'fori' )
     fori.SetAuthor( '' )
     fori.SetComment( 'Initfori, Morefori, Nextfori' )
@@ -411,7 +417,7 @@ def DefSyrStruct_1() :
     EndOfwhileEven.Coords( 988 , 451 )
     PyEndOfwhileEven = []
     EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
-    IwhileEvenInitLoop = whileEven.GetInPort( 'DoLoop' )
+    IwhileEvenDoLoop = whileEven.GetInPort( 'DoLoop' )
     IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
     IwhileEvenN = whileEven.InPort( 'N' , 'long' )
     IwhileEvenK = whileEven.InPort( 'K' , 'long' )
@@ -429,6 +435,7 @@ def DefSyrStruct_1() :
     OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
     OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
     OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
+    OEndOfwhileEvenGate = EndOfwhileEven.GetOutPort( 'Gate' )
     whileEven.SetName( 'whileEven' )
     whileEven.SetAuthor( '' )
     whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
@@ -589,7 +596,7 @@ def DefSyrStruct_1() :
     #IforNmax = forN.GetInPort( 'max' )
     #Iforii = fori.GetInPort( 'i' )
     
-# Output Ports of the graph
+    # Output Ports of the graph
     #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
     #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
     #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
@@ -604,6 +611,7 @@ def DefSyrStruct_1() :
 # Graph creation of SyrStruct_1_1
 def DefSyrStruct_1_1() :
     SyrStruct_1_1 = Graph( 'SyrStruct_1_1' )
+    SyrStruct_1_1.SetCoupled( 'Macro_SyrStruct_1' )
     SyrStruct_1_1.SetName( 'SyrStruct_1_1' )
     SyrStruct_1_1.SetAuthor( 'JR' )
     SyrStruct_1_1.SetComment( 'Syracuse algorithm' )
@@ -712,7 +720,7 @@ def DefSyrStruct_1_1() :
     EndOfforN.Coords( 1535 , 332 )
     PyEndOfforN = []
     EndOfforN.SetPyFunction( '' , PyEndOfforN )
-    IforNInitLoop = forN.GetInPort( 'DoLoop' )
+    IforNDoLoop = forN.GetInPort( 'DoLoop' )
     IforNN = forN.InPort( 'N' , 'long' )
     IforNK = forN.InPort( 'K' , 'long' )
     IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
@@ -738,6 +746,7 @@ def DefSyrStruct_1_1() :
     OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
     OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
     OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
+    OEndOfforNGate = EndOfforN.GetOutPort( 'Gate' )
     forN.SetName( 'forN' )
     forN.SetAuthor( '' )
     forN.SetComment( 'InitN , MoreN , NextN' )
@@ -764,7 +773,7 @@ def DefSyrStruct_1_1() :
     EndOfwhileNotOne.Coords( 1366 , 303 )
     PyEndOfwhileNotOne = []
     EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
-    IwhileNotOneInitLoop = whileNotOne.GetInPort( 'DoLoop' )
+    IwhileNotOneDoLoop = whileNotOne.GetInPort( 'DoLoop' )
     IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
     IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
     IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
@@ -782,6 +791,7 @@ def DefSyrStruct_1_1() :
     OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
     OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
     OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
+    OEndOfwhileNotOneGate = EndOfwhileNotOne.GetOutPort( 'Gate' )
     whileNotOne.SetName( 'whileNotOne' )
     whileNotOne.SetAuthor( '' )
     whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
@@ -807,7 +817,7 @@ def DefSyrStruct_1_1() :
     EndOffori.Coords( 976 , 212 )
     PyEndOffori = []
     EndOffori.SetPyFunction( '' , PyEndOffori )
-    IforiInitLoop = fori.GetInPort( 'DoLoop' )
+    IforiDoLoop = fori.GetInPort( 'DoLoop' )
     Iforii = fori.InPort( 'i' , 'long' )
     IforiK = fori.InPort( 'K' , 'long' )
     IforiGate = fori.GetInPort( 'Gate' )
@@ -821,6 +831,7 @@ def DefSyrStruct_1_1() :
     OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
     OEndOfforii = EndOffori.GetOutPort( 'i' )
     OEndOfforiK = EndOffori.GetOutPort( 'K' )
+    OEndOfforiGate = EndOffori.GetOutPort( 'Gate' )
     fori.SetName( 'fori' )
     fori.SetAuthor( '' )
     fori.SetComment( 'Initfori, Morefori, Nextfori' )
@@ -846,7 +857,7 @@ def DefSyrStruct_1_1() :
     EndOfwhileEven.Coords( 988 , 451 )
     PyEndOfwhileEven = []
     EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
-    IwhileEvenInitLoop = whileEven.GetInPort( 'DoLoop' )
+    IwhileEvenDoLoop = whileEven.GetInPort( 'DoLoop' )
     IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
     IwhileEvenN = whileEven.InPort( 'N' , 'long' )
     IwhileEvenK = whileEven.InPort( 'K' , 'long' )
@@ -864,6 +875,7 @@ def DefSyrStruct_1_1() :
     OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
     OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
     OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
+    OEndOfwhileEvenGate = EndOfwhileEven.GetOutPort( 'Gate' )
     whileEven.SetName( 'whileEven' )
     whileEven.SetAuthor( '' )
     whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
@@ -1024,7 +1036,7 @@ def DefSyrStruct_1_1() :
     #IforNmax = forN.GetInPort( 'max' )
     #Iforii = fori.GetInPort( 'i' )
     
-# Output Ports of the graph
+    # Output Ports of the graph
     #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
     #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
     #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
index 584f9f3fbdf78c03d023bbea3ed617c249d3e426..f02edb58c6e3ea5f2189c7662e62a6c1bc8643ba 100644 (file)
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:54</lastmodification-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
        <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>FactoryServer</container>
-    <comment>?</comment>
-    <x-position>15</x-position>
-    <y-position>241</y-position>   </node>
+    <comment>Add from AddComponent</comment>
+    <x-position>9</x-position>
+    <y-position>293</y-position>   </node>
    <node>
 <component-name>SubComponent</component-name>
     <interface-name>SubComponent</interface-name>
        <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>FactoryServer</container>
-    <comment>?</comment>
+    <comment>Sub from SubComponent</comment>
     <x-position>227</x-position>
     <y-position>99</y-position>   </node>
    <node>
        <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>FactoryServer</container>
-    <comment>?</comment>
+    <comment>Mul from MulComponent</comment>
     <x-position>443</x-position>
     <y-position>278</y-position>   </node>
    <node>
        <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>FactoryServer</container>
-    <comment>?</comment>
+    <comment>Div from DivComponent</comment>
     <x-position>634</x-position>
     <y-position>97</y-position>   </node>
    <node>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
-    <comment>?</comment>
-    <x-position>0</x-position>
-    <y-position>0</y-position>   </node>
+    <comment>Macro Node</comment>
+    <x-position>13</x-position>
+    <y-position>6</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:54</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:54</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
-    <comment>?</comment>
-    <x-position>0</x-position>
-    <y-position>0</y-position>   </node>  </node-list>
+    <comment>Macro Node</comment>
+    <x-position>8</x-position>
+    <y-position>441</y-position>   </node>  </node-list>
   <link-list>
 <link>
 <fromnode-name>Add</fromnode-name>
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb) ]]></PyFunc>
       <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
       <PyFunc><![CDATA[    return ComponentRef ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfforN</coupled-node>
     <service>
-<service-name>InitN</service-name>
+<service-name>forN</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
       <PyFunc><![CDATA[    N = NN + 1 ]]></PyFunc>
       <PyFunc><![CDATA[    K = KK ]]></PyFunc>
       <PyFunc><![CDATA[    return N,K,SyrComponent,min,max ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>forN</coupled-node>
     <service>
-<service-name>EndInitN</service-name>
+<service-name>EndOfforN</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:51</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:51</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfwhileNotOne</coupled-node>
     <service>
-<service-name>InitNotOne</service-name>
+<service-name>whileNotOne</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
       <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
       <PyFunc><![CDATA[def NextNotOne( SyrComponent , N , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>whileNotOne</coupled-node>
     <service>
-<service-name>EndInitNotOne</service-name>
+<service-name>EndOfwhileNotOne</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOffori</coupled-node>
     <service>
-<service-name>Initfori</service-name>
+<service-name>fori</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
       <PyFunc><![CDATA[def Nextfori( ii , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    ii = ii + 1]]></PyFunc>
       <PyFunc><![CDATA[    return ii,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>fori</coupled-node>
     <service>
-<service-name>EndInitfori</service-name>
+<service-name>EndOffori</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfwhileEven</coupled-node>
     <service>
-<service-name>InitEven</service-name>
+<service-name>whileEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
       <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
       <PyFunc><![CDATA[def NextEven( SyrComponent , N , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>whileEven</coupled-node>
     <service>
-<service-name>EndInitEven</service-name>
+<service-name>EndOfwhileEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    Even = SyrComponent.C_ISEVEN( N )]]></PyFunc>
       <PyFunc><![CDATA[    Odd = 1 - Even]]></PyFunc>
       <PyFunc><![CDATA[    return Odd,Even,SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>7</kind>
     <coupled-node>ifNotEven</coupled-node>
     <service>
-<service-name>EndifNotEven</service-name>
+<service-name>EndOfifNotEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:52</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>15/6/2004 - 10:28:52</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:54</lastmodification-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb) ]]></PyFunc>
       <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
       <PyFunc><![CDATA[    return ComponentRef ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfforN</coupled-node>
     <service>
-<service-name>InitN</service-name>
+<service-name>forN</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
       <PyFunc><![CDATA[    N = NN + 1 ]]></PyFunc>
       <PyFunc><![CDATA[    K = KK ]]></PyFunc>
       <PyFunc><![CDATA[    return N,K,SyrComponent,min,max ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>forN</coupled-node>
     <service>
-<service-name>EndInitN</service-name>
+<service-name>EndOfforN</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfwhileNotOne</coupled-node>
     <service>
-<service-name>InitNotOne</service-name>
+<service-name>whileNotOne</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
       <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
       <PyFunc><![CDATA[def NextNotOne( SyrComponent , N , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>whileNotOne</coupled-node>
     <service>
-<service-name>EndInitNotOne</service-name>
+<service-name>EndOfwhileNotOne</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOffori</coupled-node>
     <service>
-<service-name>Initfori</service-name>
+<service-name>fori</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
       <PyFunc><![CDATA[def Nextfori( ii , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    ii = ii + 1]]></PyFunc>
       <PyFunc><![CDATA[    return ii,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>fori</coupled-node>
     <service>
-<service-name>EndInitfori</service-name>
+<service-name>EndOffori</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>4</kind>
     <coupled-node>EndOfwhileEven</coupled-node>
     <service>
-<service-name>InitEven</service-name>
+<service-name>whileEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
       <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
       <PyFunc><![CDATA[def NextEven( SyrComponent , N , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>5</kind>
     <coupled-node>whileEven</coupled-node>
     <service>
-<service-name>EndInitEven</service-name>
+<service-name>EndOfwhileEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:53</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:53</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    Even = SyrComponent.C_ISEVEN( N )]]></PyFunc>
       <PyFunc><![CDATA[    Odd = 1 - Even]]></PyFunc>
       <PyFunc><![CDATA[    return Odd,Even,SyrComponent,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:54</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:54</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <kind>7</kind>
     <coupled-node>ifNotEven</coupled-node>
     <service>
-<service-name>EndifNotEven</service-name>
+<service-name>EndOfifNotEven</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>15/6/2004 - 10:28:54</creation-date>
-    <lastmodification-date>15/6/2004 - 10:28:54</lastmodification-date>
+    <creation-date>4/5/2005 - 14:6:2</creation-date>
+    <lastmodification-date>4/5/2005 - 14:6:2</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
index 8a2c2d74a9875afb02cdd727db1db013be7651c8..5886ba43da1d88dd84ab162ddc60b102ee95d638 100755 (executable)
 # Generated python file of Graph GraphObjRef
 
 from SuperV import *
-# Graph creation 
-GraphObjRef = Graph( 'GraphObjRef' )
-GraphObjRef.SetName( 'GraphObjRef' )
-GraphObjRef.SetAuthor( '' )
-GraphObjRef.SetComment( '' )
-GraphObjRef.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
+# Graph creation of GraphObjRef
+def DefGraphObjRef() :
+    GraphObjRef = Graph( 'GraphObjRef' )
+    GraphObjRef.SetName( 'GraphObjRef' )
+    GraphObjRef.SetAuthor( '' )
+    GraphObjRef.SetComment( '' )
+    GraphObjRef.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Addition = GraphObjRef.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition.SetName( 'Addition' )
+    Addition.SetAuthor( '' )
+    Addition.SetContainer( 'localhost/AdditionServer' )
+    Addition.SetComment( 'Addition from AddComponent' )
+    Addition.Coords( 10 , 15 )
+    IAdditionGate = Addition.GetInPort( 'Gate' )
+    OAdditionAdder = Addition.GetOutPort( 'Adder' )
+    OAdditionGate = Addition.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PySyrComponent = []
+    PySyrComponent.append( 'from LifeCycleCORBA import *     ' )
+    PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :     ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+    PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ' )
+    PySyrComponent.append( '    print "SyrComponent orb",orb   ' )
+    PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)     ' )
+    PySyrComponent.append( '    print "SyrComponent lcc",lcc   ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+    PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ' )
+    PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ' )
+    PySyrComponent.append( '    return ComponentRef    ' )
+    PySyrComponent.append( '' )
+    SyrComponent = GraphObjRef.INode( 'SyrComponent' , PySyrComponent )
+    SyrComponent.SetName( 'SyrComponent' )
+    SyrComponent.SetAuthor( '' )
+    SyrComponent.SetComment( 'Compute Node' )
+    SyrComponent.Coords( 26 , 209 )
+    ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
+    ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
+    ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
+    OSyrComponentanObjRef = SyrComponent.OutPort( 'anObjRef' , 'objref' )
+    OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'from time import * ' )
+    PyInit.append( 'def Init( Adder , anObjRef , Index ) : ' )
+    PyInit.append( '    sleep( 1 ) ' )
+    PyInit.append( '    return Adder,anObjRef,0   ' )
+    PyInit.append( ' ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More( Adder , anObjRef , Index ) :       ' )
+    PyMoreInit.append( '    OutLoop = 0       ' )
+    PyMoreInit.append( '    if 10 > Index :       ' )
+    PyMoreInit.append( '        OutLoop = 1       ' )
+    PyMoreInit.append( '    return OutLoop,Adder,anObjRef,Index    ' )
+    PyMoreInit.append( ' ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Nextfori( Adder , anObjRef , Index ) :      ' )
+    PyNextInit.append( '    Index = Index + 1      ' )
+    PyNextInit.append( '    return Adder,anObjRef,Index    ' )
+    PyNextInit.append( ' ' )
+    Init,EndInit = GraphObjRef.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Nextfori' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( '' )
+    EndInit.SetComment( 'Compute Node' )
+    EndInit.Coords( 449 , 165 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitAddder = Init.InPort( 'Addder' , 'objref' )
+    IInitanObjRef = Init.InPort( 'anObjRef' , 'objref' )
+    IInitIndex = Init.InPort( 'Index' , 'long' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitAddder = Init.GetOutPort( 'Addder' )
+    OInitanObjRef = Init.GetOutPort( 'anObjRef' )
+    OInitIndex = Init.GetOutPort( 'Index' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitAddder = EndInit.GetInPort( 'Addder' )
+    IEndInitanObjRef = EndInit.GetInPort( 'anObjRef' )
+    IEndInitIndex = EndInit.GetInPort( 'Index' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitAddder = EndInit.GetOutPort( 'Addder' )
+    OEndInitanObjRef = EndInit.GetOutPort( 'anObjRef' )
+    OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( '' )
+    Init.SetComment( 'Compute Node' )
+    Init.Coords( 236 , 161 )
+    
+    # Creation of Links
+    LAdditionAdderInitAddder = GraphObjRef.Link( OAdditionAdder , IInitAddder )
+    LAdditionAdderInitAddder.AddCoord( 1 , 202 , 194 )
+    LAdditionAdderInitAddder.AddCoord( 2 , 201 , 95 )
+    
+    LSyrComponentanObjRefInitanObjRef = GraphObjRef.Link( OSyrComponentanObjRef , IInitanObjRef )
+    LSyrComponentanObjRefInitanObjRef.AddCoord( 1 , 209 , 224 )
+    LSyrComponentanObjRefInitanObjRef.AddCoord( 2 , 208 , 289 )
+    
+    LInitAddderEndInitAddder = GraphObjRef.Link( OInitAddder , IEndInitAddder )
+    
+    LInitanObjRefEndInitanObjRef = GraphObjRef.Link( OInitanObjRef , IEndInitanObjRef )
+    
+    LInitIndexEndInitIndex = GraphObjRef.Link( OInitIndex , IEndInitIndex )
+    
+    # Input datas
+    ISyrComponentaContainer.Input( 'FactoryServer' )
+    ISyrComponentaComponent.Input( 'SyrComponent' )
+    IInitIndex.Input( 0 )
+    
+    # Output Ports of the graph
+    #OEndInitAddder = EndInit.GetOutPort( 'Addder' )
+    #OEndInitanObjRef = EndInit.GetOutPort( 'anObjRef' )
+    #OEndInitIndex = EndInit.GetOutPort( 'Index' )
+    return GraphObjRef
 
-Addition = GraphObjRef.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
-Addition.SetName( 'Addition' )
-Addition.SetAuthor( '' )
-Addition.SetContainer( 'localhost/AdditionServer' )
-Addition.SetComment( 'Addition from AddComponent' )
-Addition.Coords( 10 , 15 )
 
-# Creation of InLine Nodes
-PySyrComponent = []
-PySyrComponent.append( 'from LifeCycleCORBA import *     ' )
-PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :     ' )
-PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
-PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ' )
-PySyrComponent.append( '    print "SyrComponent orb",orb   ' )
-PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)     ' )
-PySyrComponent.append( '    print "SyrComponent lcc",lcc   ' )
-PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
-PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ' )
-PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ' )
-PySyrComponent.append( '    return ComponentRef    ' )
-PySyrComponent.append( '' )
-SyrComponent = GraphObjRef.INode( 'SyrComponent' , PySyrComponent )
-SyrComponent.InPort( 'aContainer' , 'string' )
-SyrComponent.InPort( 'aComponent' , 'string' )
-SyrComponent.OutPort( 'anObjRef' , 'objref' )
-SyrComponent.SetName( 'SyrComponent' )
-SyrComponent.SetAuthor( '' )
-SyrComponent.SetComment( 'Compute Node' )
-SyrComponent.Coords( 26 , 209 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init( Adder , anObjRef , Index ) :       ' )
-PyInit.append( '    return Adder,anObjRef,0  ' )
-PyInit.append( '' )
-PyMoreInit = []
-PyMoreInit.append( 'def More( Adder , anObjRef , Index ) :      ' )
-PyMoreInit.append( '    OutLoop = 0      ' )
-PyMoreInit.append( '    if 10 > Index :      ' )
-PyMoreInit.append( '        OutLoop = 1      ' )
-PyMoreInit.append( '    return OutLoop,Adder,anObjRef,Index   ' )
-PyMoreInit.append( '' )
-PyNextInit = []
-PyNextInit.append( 'def Nextfori( Adder , anObjRef , Index ) :     ' )
-PyNextInit.append( '    Index = Index + 1     ' )
-PyNextInit.append( '    return Adder,anObjRef,Index   ' )
-PyNextInit.append( '' )
-Init,EndInit = GraphObjRef.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Nextfori' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( '' )
-EndInit.SetComment( '' )
-EndInit.Coords( 441 , 177 )
-Init.InPort( 'Addder' , 'objref' )
-Init.InPort( 'anObjRef' , 'objref' )
-Init.InPort( 'Index' , 'long' )
-Init.OutPort( 'Addder' , 'objref' )
-Init.OutPort( 'anObjRef' , 'objref' )
-Init.OutPort( 'Index' , 'long' )
-Init.SetName( 'Init' )
-Init.SetAuthor( '' )
-Init.SetComment( '' )
-Init.Coords( 236 , 161 )
-
-# Creation of Links
-AdditionAdder = Addition.Port( 'Adder' )
-InitAddder = GraphObjRef.Link( AdditionAdder , Init.Port( 'Addder' ) )
-InitAddder.AddCoord( 1 , 202 , 194 )
-InitAddder.AddCoord( 2 , 201 , 95 )
-
-SyrComponentanObjRef = SyrComponent.Port( 'anObjRef' )
-InitanObjRef = GraphObjRef.Link( SyrComponentanObjRef , Init.Port( 'anObjRef' ) )
-InitanObjRef.AddCoord( 1 , 209 , 224 )
-InitanObjRef.AddCoord( 2 , 208 , 289 )
-
-InitAddder = Init.Port( 'Addder' )
-EndInitAddder = GraphObjRef.Link( InitAddder , EndInit.Port( 'Addder' ) )
-
-InitanObjRef = Init.Port( 'anObjRef' )
-EndInitanObjRef = GraphObjRef.Link( InitanObjRef , EndInit.Port( 'anObjRef' ) )
-
-InitIndex = Init.Port( 'Index' )
-EndInitIndex = GraphObjRef.Link( InitIndex , EndInit.Port( 'Index' ) )
-
-# Creation of Input datas
-SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer')
-SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent')
-InitIndex = Init.Input( 'Index' , 0)
-
-# Creation of Output variables
-EndInitAddder = EndInit.Port( 'Addder' )
-EndInitanObjRef = EndInit.Port( 'anObjRef' )
-EndInitIndex = EndInit.Port( 'Index' )
-
-GraphObjRef.Run()
-GraphObjRef.DoneW()
-GraphObjRef.State()
-GraphObjRef.PrintPorts()
+GraphObjRef = DefGraphObjRef()
index ec02fa88d58acd274c58b16c3e6c7d0dc8fd7fe4..752d0a0f8c79eee5735b18d40c648d914b14e562 100755 (executable)
-<!DOCTYPE Dataflow>
-<dataflow>
-<info-list>
-<node>
-<component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>GraphObjRef</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>GraphObjRef</service-name>
-    <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
-      <inParameter-name>SyrComponent\aContainer</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>string</inParameter-type>
-      <inParameter-name>SyrComponent\aComponent</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\Index</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\Addder</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\anObjRef</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>1/7/2003 - 19:4:59</creation-date>
-   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
-<node>
-<component-name>AddComponent</component-name>
-   <interface-name>AddComponent</interface-name>
-   <node-name>Addition</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>Addition</service-name>
-    <inParameter-list/>
-    <outParameter-list>
-<outParameter>
-<outParameter-type>Adder</outParameter-type>
-      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>18/9/2003 - 17:38:33</creation-date>
-   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>localhost/AdditionServer</container>
-   <comment>Addition from AddComponent</comment>
-   <x-position>10</x-position>
-   <y-position>15</y-position>  </node>
-  <node>
-<component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>SyrComponent</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>SyrComponent</service-name>
-    <inParameter-list>
-<inParameter>
-<inParameter-type>string</inParameter-type>
-      <inParameter-name>aContainer</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>string</inParameter-type>
-      <inParameter-name>aComponent</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>anObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction>
-<FuncName>SyrComponent</FuncName>
-     <PyFunc><![CDATA[from LifeCycleCORBA import *     ]]></PyFunc>
-     <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :     ]]></PyFunc>
-     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
-     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ]]></PyFunc>
-     <PyFunc><![CDATA[    print "SyrComponent orb",orb   ]]></PyFunc>
-     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)     ]]></PyFunc>
-     <PyFunc><![CDATA[    print "SyrComponent lcc",lcc   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
-     <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ]]></PyFunc>
-     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ]]></PyFunc>
-     <PyFunc><![CDATA[    return ComponentRef    ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>18/9/2003 - 17:38:33</creation-date>
-   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>26</x-position>
-   <y-position>209</y-position>  </node>
-  <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>objref</inParameter-type>
-      <inParameter-name>Addder</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>objref</inParameter-type>
-      <inParameter-name>anObjRef</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>Addder</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>anObjRef</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction>
-<FuncName>Init</FuncName>
-     <PyFunc><![CDATA[def Init( Adder , anObjRef , Index ) :       ]]></PyFunc>
-     <PyFunc><![CDATA[    return Adder,anObjRef,0  ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
-<FuncName>More</FuncName>
-     <PyFunc><![CDATA[def More( Adder , anObjRef , Index ) :      ]]></PyFunc>
-     <PyFunc><![CDATA[    OutLoop = 0      ]]></PyFunc>
-     <PyFunc><![CDATA[    if 10 > Index :      ]]></PyFunc>
-     <PyFunc><![CDATA[        OutLoop = 1      ]]></PyFunc>
-     <PyFunc><![CDATA[    return OutLoop,Adder,anObjRef,Index   ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
-<FuncName>Nextfori</FuncName>
-     <PyFunc><![CDATA[def Nextfori( Adder , anObjRef , Index ) :     ]]></PyFunc>
-     <PyFunc><![CDATA[    Index = Index + 1     ]]></PyFunc>
-     <PyFunc><![CDATA[    return Adder,anObjRef,Index   ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>18/9/2003 - 17:38:33</creation-date>
-   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>236</x-position>
-   <y-position>161</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>objref</inParameter-type>
-      <inParameter-name>Addder</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>objref</inParameter-type>
-      <inParameter-name>anObjRef</inParameter-name>     </inParameter>
-     <inParameter>
-<inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
-<outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>Addder</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>objref</outParameter-type>
-      <outParameter-name>anObjRef</outParameter-name>     </outParameter>
-     <outParameter>
-<outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>18/9/2003 - 17:38:33</creation-date>
-   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>441</x-position>
-   <y-position>177</y-position>  </node> </node-list>
- <link-list>
-<link>
-<fromnode-name>Addition</fromnode-name>
-   <fromserviceparameter-name>Adder</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>Addder</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>202</x>
-     <y>194</y>    </coord>
-    <coord>
-<x>201</x>
-     <y>95</y>    </coord>   </coord-list>  </link>
-  <link>
-<fromnode-name>SyrComponent</fromnode-name>
-   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>anObjRef</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>209</x>
-     <y>224</y>    </coord>
-    <coord>
-<x>208</x>
-     <y>289</y>    </coord>   </coord-list>  </link>
-  <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>Addder</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>Addder</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
-<fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>anObjRef</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>EndInit</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
- <data-list>
-<data>
-<fromnode-name>GraphObjRef</fromnode-name>
-   <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
-   <tonode-name>SyrComponent</tonode-name>
-   <toserviceparameter-name>aContainer</toserviceparameter-name>
-   <data-value>
-<value-type>18</value-type>
-    <value>FactoryServer</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphObjRef</fromnode-name>
-   <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
-   <tonode-name>SyrComponent</tonode-name>
-   <toserviceparameter-name>aComponent</toserviceparameter-name>
-   <data-value>
-<value-type>18</value-type>
-    <value>SyrComponent</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphObjRef</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-list></dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphObjRef</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphObjRef</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>SyrComponent__aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>SyrComponent__aComponent</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Init__Index</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>EndInit__Addder</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>EndInit__anObjRef</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndInit__Index</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/7/2003 - 19:4:59</creation-date>
+    <lastmodification-date>25/8/2005 - 11:24:44</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>?</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>
+   </node>
+  </info-list>
+  <node-list>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:24:44</creation-date>
+    <lastmodification-date>25/8/2005 - 11:24:44</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/AdditionServer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>10</x-position>
+    <y-position>15</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SyrComponent</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>SyrComponent</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aComponent</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>anObjRef</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>SyrComponent</FuncName>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent orb",orb   ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent lcc",lcc   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+      <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ]]></PyFunc>
+      <PyFunc><![CDATA[    return ComponentRef    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:24:44</creation-date>
+    <lastmodification-date>25/8/2005 - 11:24:44</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>26</x-position>
+    <y-position>209</y-position>
+   </node>
+   <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>objref</inParameter-type>
+       <inParameter-name>Addder</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>objref</inParameter-type>
+       <inParameter-name>anObjRef</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>Addder</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>anObjRef</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Init</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Init( Adder , anObjRef , Index ) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 ) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Adder,anObjRef,0   ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More( Adder , anObjRef , Index ) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    OutLoop = 0       ]]></PyFunc>
+      <PyFunc><![CDATA[    if 10 > Index :       ]]></PyFunc>
+      <PyFunc><![CDATA[        OutLoop = 1       ]]></PyFunc>
+      <PyFunc><![CDATA[    return OutLoop,Adder,anObjRef,Index    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>Nextfori</FuncName>
+      <PyFunc><![CDATA[def Nextfori( Adder , anObjRef , Index ) :      ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index + 1      ]]></PyFunc>
+      <PyFunc><![CDATA[    return Adder,anObjRef,Index    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:24:44</creation-date>
+    <lastmodification-date>25/8/2005 - 11:24:44</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>236</x-position>
+    <y-position>161</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>objref</inParameter-type>
+       <inParameter-name>Addder</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>objref</inParameter-type>
+       <inParameter-name>anObjRef</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>Addder</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>anObjRef</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:24:44</creation-date>
+    <lastmodification-date>25/8/2005 - 11:24:44</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>449</x-position>
+    <y-position>165</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>Addition</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>Addder</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>202</x>
+      <y>194</y>
+     </coord>
+     <coord>
+      <x>201</x>
+      <y>95</y>
+     </coord>
+    </coord-list>
+   </link>
+   <link>
+    <fromnode-name>SyrComponent</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>anObjRef</toserviceparameter-name>
+    <coord-list>
+     <coord>
+      <x>209</x>
+      <y>224</y>
+     </coord>
+     <coord>
+      <x>208</x>
+      <y>289</y>
+     </coord>
+    </coord-list>
+   </link>
+   <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>Addder</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>Addder</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Init</fromnode-name>
+    <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>anObjRef</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>EndInit</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphObjRef</fromnode-name>
+    <fromserviceparameter-name>SyrComponent__aContainer</fromserviceparameter-name>
+    <tonode-name>SyrComponent</tonode-name>
+    <toserviceparameter-name>aContainer</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[FactoryServer]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRef</fromnode-name>
+    <fromserviceparameter-name>SyrComponent__aComponent</fromserviceparameter-name>
+    <tonode-name>SyrComponent</tonode-name>
+    <toserviceparameter-name>aComponent</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[SyrComponent]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRef</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-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphObjRefOMNIORB4.py b/examples/GraphObjRefOMNIORB4.py
new file mode 100644 (file)
index 0000000..aec7e71
--- /dev/null
@@ -0,0 +1,229 @@
+
+# Generated python file of Graph GraphObjRefOMNIORB4
+
+from SuperV import *
+
+# Graph creation of GraphObjRefOMNIORB4
+def DefGraphObjRefOMNIORB4() :
+    GraphObjRefOMNIORB4 = Graph( 'GraphObjRefOMNIORB4' )
+    GraphObjRefOMNIORB4.SetName( 'GraphObjRefOMNIORB4' )
+    GraphObjRefOMNIORB4.SetAuthor( '' )
+    GraphObjRefOMNIORB4.SetComment( '' )
+    GraphObjRefOMNIORB4.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Addition = GraphObjRefOMNIORB4.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    Addition.SetName( 'Addition' )
+    Addition.SetAuthor( '' )
+    Addition.SetContainer( 'localhost/FactoryServer' )
+    Addition.SetComment( 'Addition from AddComponent' )
+    Addition.Coords( 13 , 185 )
+    IAdditionGate = Addition.GetInPort( 'Gate' )
+    OAdditionAdder = Addition.GetOutPort( 'Adder' )
+    OAdditionGate = Addition.GetOutPort( 'Gate' )
+    
+    EmbeddedAddition = GraphObjRefOMNIORB4.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+    EmbeddedAddition.SetName( 'EmbeddedAddition' )
+    EmbeddedAddition.SetAuthor( '' )
+    EmbeddedAddition.SetContainer( 'localhost/SuperVisionContainer' )
+    EmbeddedAddition.SetComment( 'Addition from AddComponent' )
+    EmbeddedAddition.Coords( 17 , 347 )
+    IEmbeddedAdditionGate = EmbeddedAddition.GetInPort( 'Gate' )
+    OEmbeddedAdditionAdder = EmbeddedAddition.GetOutPort( 'Adder' )
+    OEmbeddedAdditionGate = EmbeddedAddition.GetOutPort( 'Gate' )
+    
+    AdditionObjRefs = GraphObjRefOMNIORB4.FNode( 'AddComponent' , 'AddComponent' , 'AdditionObjRefs' )
+    AdditionObjRefs.SetName( 'AdditionObjRefs' )
+    AdditionObjRefs.SetAuthor( '' )
+    AdditionObjRefs.SetContainer( 'localhost/FactoryServer' )
+    AdditionObjRefs.SetComment( 'AdditionObjRefs from AddComponent' )
+    AdditionObjRefs.Coords( 453 , 164 )
+    IAdditionObjRefsAddComponent1 = AdditionObjRefs.GetInPort( 'AddComponent1' )
+    IAdditionObjRefsAdder2 = AdditionObjRefs.GetInPort( 'Adder2' )
+    IAdditionObjRefsAdder3 = AdditionObjRefs.GetInPort( 'Adder3' )
+    IAdditionObjRefsGate = AdditionObjRefs.GetInPort( 'Gate' )
+    OAdditionObjRefsreturn = AdditionObjRefs.GetOutPort( 'return' )
+    OAdditionObjRefsRetAddComponent1 = AdditionObjRefs.GetOutPort( 'RetAddComponent1' )
+    OAdditionObjRefsRetAdder2 = AdditionObjRefs.GetOutPort( 'RetAdder2' )
+    OAdditionObjRefsRetAdder3 = AdditionObjRefs.GetOutPort( 'RetAdder3' )
+    OAdditionObjRefsGate = AdditionObjRefs.GetOutPort( 'Gate' )
+    
+    AdditionObjRefs_1 = GraphObjRefOMNIORB4.FNode( 'AddComponent' , 'AddComponent' , 'AdditionObjRefs' )
+    AdditionObjRefs_1.SetName( 'AdditionObjRefs_1' )
+    AdditionObjRefs_1.SetAuthor( '' )
+    AdditionObjRefs_1.SetContainer( 'localhost/AdditionObjRefsServer' )
+    AdditionObjRefs_1.SetComment( 'AdditionObjRefs from AddComponent' )
+    AdditionObjRefs_1.Coords( 457 , 345 )
+    IAdditionObjRefs_1AddComponent1 = AdditionObjRefs_1.GetInPort( 'AddComponent1' )
+    IAdditionObjRefs_1Adder2 = AdditionObjRefs_1.GetInPort( 'Adder2' )
+    IAdditionObjRefs_1Adder3 = AdditionObjRefs_1.GetInPort( 'Adder3' )
+    IAdditionObjRefs_1Gate = AdditionObjRefs_1.GetInPort( 'Gate' )
+    OAdditionObjRefs_1return = AdditionObjRefs_1.GetOutPort( 'return' )
+    OAdditionObjRefs_1RetAddComponent1 = AdditionObjRefs_1.GetOutPort( 'RetAddComponent1' )
+    OAdditionObjRefs_1RetAdder2 = AdditionObjRefs_1.GetOutPort( 'RetAdder2' )
+    OAdditionObjRefs_1RetAdder3 = AdditionObjRefs_1.GetOutPort( 'RetAdder3' )
+    OAdditionObjRefs_1Gate = AdditionObjRefs_1.GetOutPort( 'Gate' )
+    
+    # Creation of Computing Nodes
+    LccAddComponent_ServiceinParameter = []
+    LccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'SuperVisionTest::Adder' , 'Adder' ) )
+    LccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'string' , 'aContainer' ) )
+    LccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'string' , 'aComponentName' ) )
+    LccAddComponent_ServiceoutParameter = []
+    LccAddComponent_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Component' , 'return' ) )
+    LccAddComponent_ServiceinStreamParameter = []
+    LccAddComponent_ServiceoutStreamParameter = []
+    LccAddComponent_Service = SALOME_ModuleCatalog.Service( 'LccAddComponent' , LccAddComponent_ServiceinParameter , LccAddComponent_ServiceoutParameter , LccAddComponent_ServiceinStreamParameter , LccAddComponent_ServiceoutStreamParameter , 0 , 0 )
+    LccAddComponent = GraphObjRefOMNIORB4.CNode( LccAddComponent_Service )
+    LccAddComponent.SetName( 'LccAddComponent' )
+    LccAddComponent.SetAuthor( '' )
+    LccAddComponent.SetComment( 'Compute Node' )
+    LccAddComponent.Coords( 235 , 184 )
+    ILccAddComponentAdder = LccAddComponent.GetInPort( 'Adder' )
+    ILccAddComponentaContainer = LccAddComponent.GetInPort( 'aContainer' )
+    ILccAddComponentaComponentName = LccAddComponent.GetInPort( 'aComponentName' )
+    ILccAddComponentGate = LccAddComponent.GetInPort( 'Gate' )
+    OLccAddComponentreturn = LccAddComponent.GetOutPort( 'return' )
+    OLccAddComponentGate = LccAddComponent.GetOutPort( 'Gate' )
+    
+    EmbeddedLccAddComponent_ServiceinParameter = []
+    EmbeddedLccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'SuperVisionTest::Adder' , 'Adder' ) )
+    EmbeddedLccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'string' , 'aContainer' ) )
+    EmbeddedLccAddComponent_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'string' , 'aComponentName' ) )
+    EmbeddedLccAddComponent_ServiceoutParameter = []
+    EmbeddedLccAddComponent_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Component' , 'return' ) )
+    EmbeddedLccAddComponent_ServiceinStreamParameter = []
+    EmbeddedLccAddComponent_ServiceoutStreamParameter = []
+    EmbeddedLccAddComponent_Service = SALOME_ModuleCatalog.Service( 'LccAddComponent' , EmbeddedLccAddComponent_ServiceinParameter , EmbeddedLccAddComponent_ServiceoutParameter , EmbeddedLccAddComponent_ServiceinStreamParameter , EmbeddedLccAddComponent_ServiceoutStreamParameter , 0 , 0 )
+    EmbeddedLccAddComponent = GraphObjRefOMNIORB4.CNode( EmbeddedLccAddComponent_Service )
+    EmbeddedLccAddComponent.SetName( 'EmbeddedLccAddComponent' )
+    EmbeddedLccAddComponent.SetAuthor( '' )
+    EmbeddedLccAddComponent.SetComment( 'Compute Node' )
+    EmbeddedLccAddComponent.Coords( 235 , 347 )
+    IEmbeddedLccAddComponentAdder = EmbeddedLccAddComponent.GetInPort( 'Adder' )
+    IEmbeddedLccAddComponentaContainer = EmbeddedLccAddComponent.GetInPort( 'aContainer' )
+    IEmbeddedLccAddComponentaComponentName = EmbeddedLccAddComponent.GetInPort( 'aComponentName' )
+    IEmbeddedLccAddComponentGate = EmbeddedLccAddComponent.GetInPort( 'Gate' )
+    OEmbeddedLccAddComponentreturn = EmbeddedLccAddComponent.GetOutPort( 'return' )
+    OEmbeddedLccAddComponentGate = EmbeddedLccAddComponent.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyAddComponent = []
+    PyAddComponent.append( 'import CORBA ' )
+    PyAddComponent.append( 'from LifeCycleCORBA import *    ' )
+    PyAddComponent.append( 'import SuperVisionTest    ' )
+    PyAddComponent.append( 'def defAddComponent( aContainer , aComponent ) :        ' )
+    PyAddComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)        ' )
+    PyAddComponent.append( '    lcc = LifeCycleCORBA(orb)        ' )
+    PyAddComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )        ' )
+    PyAddComponent.append( '    ComponentObjRef = ComponentRef._narrow( SuperVisionTest.AddComponent )   ' )
+    PyAddComponent.append( '    return ComponentObjRef._duplicate( SuperVisionTest.AddComponent )      ' )
+    AddComponent = GraphObjRefOMNIORB4.INode( 'defAddComponent' , PyAddComponent )
+    AddComponent.SetName( 'AddComponent' )
+    AddComponent.SetAuthor( '' )
+    AddComponent.SetComment( 'Compute Node' )
+    AddComponent.Coords( 240 , 31 )
+    IAddComponentaContainer = AddComponent.InPort( 'aContainer' , 'string' )
+    IAddComponentaComponent = AddComponent.InPort( 'aComponent' , 'string' )
+    IAddComponentGate = AddComponent.GetInPort( 'Gate' )
+    OAddComponentAddComponentobjref = AddComponent.OutPort( 'AddComponentobjref' , 'objref' )
+    OAddComponentGate = AddComponent.GetOutPort( 'Gate' )
+    
+    PyFindComponentInstance = []
+    PyFindComponentInstance.append( 'from salome import *     ' )
+    PyFindComponentInstance.append( 'def FindComponentInstance( ComponentRef ) :         ' )
+    PyFindComponentInstance.append( '    MESSAGE("FindComponentInstance "+ str( ComponentRef ))      ' )
+    PyFindComponentInstance.append( '    print "FindComponentInstance",ComponentRef        ' )
+    PyFindComponentInstance.append( '    AddComponentObjRef = ComponentRef._narrow(Engines.Component)         ' )
+    PyFindComponentInstance.append( '    MESSAGE("FindComponentInstance")      ' )
+    PyFindComponentInstance.append( '    print "FindComponentInstance",AddComponentObjRef        ' )
+    PyFindComponentInstance.append( '    TheContainer = AddComponentObjRef.GetContainerRef()           ' )
+    PyFindComponentInstance.append( '    MESSAGE("FindComponentInstance")      ' )
+    PyFindComponentInstance.append( '    print "FindComponentInstance",TheContainer       ' )
+    PyFindComponentInstance.append( '    TheAddComponentObjRef=TheContainer.find_component_instance( "AddComponent" ,0 )            ' )
+    PyFindComponentInstance.append( '    MESSAGE("FindComponentInstance "+ str( TheAddComponentObjRef ))      ' )
+    PyFindComponentInstance.append( '    print "FindComponentInstance",TheAddComponentObjRef       ' )
+    PyFindComponentInstance.append( '    return TheAddComponentObjRef            ' )
+    FindComponentInstance = GraphObjRefOMNIORB4.INode( 'FindComponentInstance' , PyFindComponentInstance )
+    FindComponentInstance.SetName( 'FindComponentInstance' )
+    FindComponentInstance.SetAuthor( '' )
+    FindComponentInstance.SetComment( 'Compute Node' )
+    FindComponentInstance.Coords( 648 , 184 )
+    IFindComponentInstanceAddComponentObjRef = FindComponentInstance.InPort( 'AddComponentObjRef' , 'objref' )
+    IFindComponentInstanceGate = FindComponentInstance.GetInPort( 'Gate' )
+    OFindComponentInstanceAddComponentObjRef = FindComponentInstance.OutPort( 'AddComponentObjRef' , 'objref' )
+    OFindComponentInstanceGate = FindComponentInstance.GetOutPort( 'Gate' )
+    
+    PyFindComponentInstance_1 = []
+    PyFindComponentInstance_1.append( 'from salome import *     ' )
+    PyFindComponentInstance_1.append( 'def FindComponentInstance_1( ComponentRef ) :           ' )
+    PyFindComponentInstance_1.append( '    print "FindComponentInstance_1 beginning"   ' )
+    PyFindComponentInstance_1.append( '    MESSAGE("FindComponentInstance_1 "+ str( ComponentRef ) )       ' )
+    PyFindComponentInstance_1.append( '    print "FindComponentInstance_1",ComponentRef          ' )
+    PyFindComponentInstance_1.append( '    AddComponentObjRef = ComponentRef._narrow(Engines.Component)           ' )
+    PyFindComponentInstance_1.append( '    MESSAGE("FindComponentInstance_1")       ' )
+    PyFindComponentInstance_1.append( '    print "FindComponentInstance_1",AddComponentObjRef          ' )
+    PyFindComponentInstance_1.append( '    TheContainer = AddComponentObjRef.GetContainerRef()             ' )
+    PyFindComponentInstance_1.append( '    MESSAGE("FindComponentInstance_1")       ' )
+    PyFindComponentInstance_1.append( '    print "FindComponentInstance_1",TheContainer         ' )
+    PyFindComponentInstance_1.append( '    TheAddComponentObjRef=TheContainer.find_component_instance( "AddComponent" ,0 )       ' )
+    PyFindComponentInstance_1.append( '    if TheAddComponentObjRef == None :   ' )
+    PyFindComponentInstance_1.append( '        MESSAGE("FindComponentInstance_1 None")   ' )
+    PyFindComponentInstance_1.append( '    else :   ' )
+    PyFindComponentInstance_1.append( '        MESSAGE("FindComponentInstance_1")       ' )
+    PyFindComponentInstance_1.append( '        print "FindComponentInstance_1",TheAddComponentObjRef         ' )
+    PyFindComponentInstance_1.append( '    return TheAddComponentObjRef              ' )
+    FindComponentInstance_1 = GraphObjRefOMNIORB4.INode( 'FindComponentInstance_1' , PyFindComponentInstance_1 )
+    FindComponentInstance_1.SetName( 'FindComponentInstance_1' )
+    FindComponentInstance_1.SetAuthor( '' )
+    FindComponentInstance_1.SetComment( 'Compute Node' )
+    FindComponentInstance_1.Coords( 647 , 31 )
+    IFindComponentInstance_1AddComponentRef = FindComponentInstance_1.InPort( 'AddComponentRef' , 'objref' )
+    IFindComponentInstance_1Gate = FindComponentInstance_1.GetInPort( 'Gate' )
+    OFindComponentInstance_1AddComponentRef = FindComponentInstance_1.OutPort( 'AddComponentRef' , 'objref' )
+    OFindComponentInstance_1Gate = FindComponentInstance_1.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LAddComponentAddComponentobjrefAdditionObjRefsAddComponent1 = GraphObjRefOMNIORB4.Link( OAddComponentAddComponentobjref , IAdditionObjRefsAddComponent1 )
+    
+    LAddComponentAddComponentobjrefFindComponentInstance_1AddComponentRef = GraphObjRefOMNIORB4.Link( OAddComponentAddComponentobjref , IFindComponentInstance_1AddComponentRef )
+    
+    LAddComponentAddComponentobjrefAdditionObjRefs_1AddComponent1 = GraphObjRefOMNIORB4.Link( OAddComponentAddComponentobjref , IAdditionObjRefs_1AddComponent1 )
+    
+    LAdditionAdderLccAddComponentAdder = GraphObjRefOMNIORB4.Link( OAdditionAdder , ILccAddComponentAdder )
+    
+    LEmbeddedAdditionAdderEmbeddedLccAddComponentAdder = GraphObjRefOMNIORB4.Link( OEmbeddedAdditionAdder , IEmbeddedLccAddComponentAdder )
+    
+    LLccAddComponentreturnAdditionObjRefsAdder2 = GraphObjRefOMNIORB4.Link( OLccAddComponentreturn , IAdditionObjRefsAdder2 )
+    
+    LLccAddComponentreturnAdditionObjRefs_1Adder2 = GraphObjRefOMNIORB4.Link( OLccAddComponentreturn , IAdditionObjRefs_1Adder2 )
+    
+    LEmbeddedLccAddComponentreturnAdditionObjRefsAdder3 = GraphObjRefOMNIORB4.Link( OEmbeddedLccAddComponentreturn , IAdditionObjRefsAdder3 )
+    
+    LEmbeddedLccAddComponentreturnAdditionObjRefs_1Adder3 = GraphObjRefOMNIORB4.Link( OEmbeddedLccAddComponentreturn , IAdditionObjRefs_1Adder3 )
+    
+    LAdditionObjRefsRetAddComponent1FindComponentInstanceAddComponentObjRef = GraphObjRefOMNIORB4.Link( OAdditionObjRefsRetAddComponent1 , IFindComponentInstanceAddComponentObjRef )
+    
+    # Input datas
+    IAddComponentaContainer.Input( 'FactoryServer' )
+    IAddComponentaComponent.Input( 'AddComponent' )
+    ILccAddComponentaContainer.Input( 'FactoryServer' )
+    ILccAddComponentaComponentName.Input( 'AddComponent' )
+    IEmbeddedLccAddComponentaContainer.Input( 'SuperVisionContainer' )
+    IEmbeddedLccAddComponentaComponentName.Input( 'AddComponent' )
+    
+    # Output Ports of the graph
+    #OAdditionObjRefsreturn = AdditionObjRefs.GetOutPort( 'return' )
+    #OAdditionObjRefsRetAdder2 = AdditionObjRefs.GetOutPort( 'RetAdder2' )
+    #OAdditionObjRefsRetAdder3 = AdditionObjRefs.GetOutPort( 'RetAdder3' )
+    #OFindComponentInstanceAddComponentObjRef = FindComponentInstance.GetOutPort( 'AddComponentObjRef' )
+    #OFindComponentInstance_1AddComponentRef = FindComponentInstance_1.GetOutPort( 'AddComponentRef' )
+    #OAdditionObjRefs_1return = AdditionObjRefs_1.GetOutPort( 'return' )
+    #OAdditionObjRefs_1RetAddComponent1 = AdditionObjRefs_1.GetOutPort( 'RetAddComponent1' )
+    #OAdditionObjRefs_1RetAdder2 = AdditionObjRefs_1.GetOutPort( 'RetAdder2' )
+    #OAdditionObjRefs_1RetAdder3 = AdditionObjRefs_1.GetOutPort( 'RetAdder3' )
+    return GraphObjRefOMNIORB4
+
+
+GraphObjRefOMNIORB4 = DefGraphObjRefOMNIORB4()
diff --git a/examples/GraphObjRefOMNIORB4.xml b/examples/GraphObjRefOMNIORB4.xml
new file mode 100644 (file)
index 0000000..8194e8e
--- /dev/null
@@ -0,0 +1,625 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphObjRefOMNIORB4</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphObjRefOMNIORB4</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>AddComponent__aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>AddComponent__aComponent</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>LccAddComponent__aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>LccAddComponent__aComponentName</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>EmbeddedLccAddComponent__aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>EmbeddedLccAddComponent__aComponentName</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>AdditionObjRefs__return</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>AdditionObjRefs__RetAdder2</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>AdditionObjRefs__RetAdder3</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>FindComponentInstance__AddComponentObjRef</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>FindComponentInstance_1__AddComponentRef</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>AdditionObjRefs_1__return</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>AddComponent</outParameter-type>
+       <outParameter-name>AdditionObjRefs_1__RetAddComponent1</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>AdditionObjRefs_1__RetAdder2</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>AdditionObjRefs_1__RetAdder3</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/8/2005 - 12:45:3</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>AddComponent</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>AddComponent</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aComponent</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>AddComponentobjref</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>defAddComponent</FuncName>
+      <PyFunc><![CDATA[import CORBA ]]></PyFunc>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *    ]]></PyFunc>
+      <PyFunc><![CDATA[import SuperVisionTest    ]]></PyFunc>
+      <PyFunc><![CDATA[def defAddComponent( aContainer , aComponent ) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)        ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)        ]]></PyFunc>
+      <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )        ]]></PyFunc>
+      <PyFunc><![CDATA[    ComponentObjRef = ComponentRef._narrow( SuperVisionTest.AddComponent )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return ComponentObjRef._duplicate( SuperVisionTest.AddComponent )      ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>240</x-position>
+    <y-position>31</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>Addition</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>13</x-position>
+    <y-position>185</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>EmbeddedAddition</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Addition</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>Adder</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/SuperVisionContainer</container>
+    <comment>Addition from AddComponent</comment>
+    <x-position>17</x-position>
+    <y-position>347</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>LccAddComponent</node-name>
+    <kind>2</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>LccAddComponent</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>SuperVisionTest::Adder</inParameter-type>
+       <inParameter-name>Adder</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aComponentName</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Component</outParameter-type>
+       <outParameter-name>return</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>235</x-position>
+    <y-position>184</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EmbeddedLccAddComponent</node-name>
+    <kind>2</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>LccAddComponent</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>SuperVisionTest::Adder</inParameter-type>
+       <inParameter-name>Adder</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aContainer</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>string</inParameter-type>
+       <inParameter-name>aComponentName</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>Component</outParameter-type>
+       <outParameter-name>return</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>235</x-position>
+    <y-position>347</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>AdditionObjRefs</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>AdditionObjRefs</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>AddComponent</inParameter-type>
+       <inParameter-name>AddComponent1</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder2</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder3</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>return</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>AddComponent</outParameter-type>
+       <outParameter-name>RetAddComponent1</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>RetAdder2</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>RetAdder3</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>AdditionObjRefs from AddComponent</comment>
+    <x-position>453</x-position>
+    <y-position>164</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>FindComponentInstance</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>FindComponentInstance</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>objref</inParameter-type>
+       <inParameter-name>AddComponentObjRef</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>AddComponentObjRef</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>FindComponentInstance</FuncName>
+      <PyFunc><![CDATA[from salome import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def FindComponentInstance( ComponentRef ) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance "+ str( ComponentRef ))      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance",ComponentRef        ]]></PyFunc>
+      <PyFunc><![CDATA[    AddComponentObjRef = ComponentRef._narrow(Engines.Component)         ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance")      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance",AddComponentObjRef        ]]></PyFunc>
+      <PyFunc><![CDATA[    TheContainer = AddComponentObjRef.GetContainerRef()           ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance")      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance",TheContainer       ]]></PyFunc>
+      <PyFunc><![CDATA[    TheAddComponentObjRef=TheContainer.find_component_instance( "AddComponent" ,0 )            ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance "+ str( TheAddComponentObjRef ))      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance",TheAddComponentObjRef       ]]></PyFunc>
+      <PyFunc><![CDATA[    return TheAddComponentObjRef            ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>648</x-position>
+    <y-position>184</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>FindComponentInstance_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>FindComponentInstance_1</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>objref</inParameter-type>
+       <inParameter-name>AddComponentRef</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>objref</outParameter-type>
+       <outParameter-name>AddComponentRef</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>FindComponentInstance_1</FuncName>
+      <PyFunc><![CDATA[from salome import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def FindComponentInstance_1( ComponentRef ) :           ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance_1 beginning"   ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance_1 "+ str( ComponentRef ) )       ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance_1",ComponentRef          ]]></PyFunc>
+      <PyFunc><![CDATA[    AddComponentObjRef = ComponentRef._narrow(Engines.Component)           ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance_1")       ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance_1",AddComponentObjRef          ]]></PyFunc>
+      <PyFunc><![CDATA[    TheContainer = AddComponentObjRef.GetContainerRef()             ]]></PyFunc>
+      <PyFunc><![CDATA[    MESSAGE("FindComponentInstance_1")       ]]></PyFunc>
+      <PyFunc><![CDATA[    print "FindComponentInstance_1",TheContainer         ]]></PyFunc>
+      <PyFunc><![CDATA[    TheAddComponentObjRef=TheContainer.find_component_instance( "AddComponent" ,0 )       ]]></PyFunc>
+      <PyFunc><![CDATA[    if TheAddComponentObjRef == None :   ]]></PyFunc>
+      <PyFunc><![CDATA[        MESSAGE("FindComponentInstance_1 None")   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        MESSAGE("FindComponentInstance_1")       ]]></PyFunc>
+      <PyFunc><![CDATA[        print "FindComponentInstance_1",TheAddComponentObjRef         ]]></PyFunc>
+      <PyFunc><![CDATA[    return TheAddComponentObjRef              ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>647</x-position>
+    <y-position>31</y-position>
+   </node>
+   <node>
+    <component-name>AddComponent</component-name>
+    <interface-name>AddComponent</interface-name>
+    <node-name>AdditionObjRefs_1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>AdditionObjRefs</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>AddComponent</inParameter-type>
+       <inParameter-name>AddComponent1</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder2</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>Adder</inParameter-type>
+       <inParameter-name>Adder3</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>boolean</outParameter-type>
+       <outParameter-name>return</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>AddComponent</outParameter-type>
+       <outParameter-name>RetAddComponent1</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>RetAdder2</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>Adder</outParameter-type>
+       <outParameter-name>RetAdder3</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>25/8/2005 - 11:29:11</creation-date>
+    <lastmodification-date>25/8/2005 - 11:29:11</lastmodification-date>
+    <editor-release>3.0</editor-release>
+    <author>?</author>
+    <container>localhost/AdditionObjRefsServer</container>
+    <comment>AdditionObjRefs from AddComponent</comment>
+    <x-position>457</x-position>
+    <y-position>345</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>AddComponent</fromnode-name>
+    <fromserviceparameter-name>AddComponentobjref</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs</tonode-name>
+    <toserviceparameter-name>AddComponent1</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>AddComponent</fromnode-name>
+    <fromserviceparameter-name>AddComponentobjref</fromserviceparameter-name>
+    <tonode-name>FindComponentInstance_1</tonode-name>
+    <toserviceparameter-name>AddComponentRef</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>AddComponent</fromnode-name>
+    <fromserviceparameter-name>AddComponentobjref</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs_1</tonode-name>
+    <toserviceparameter-name>AddComponent1</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Addition</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>LccAddComponent</tonode-name>
+    <toserviceparameter-name>Adder</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EmbeddedAddition</fromnode-name>
+    <fromserviceparameter-name>Adder</fromserviceparameter-name>
+    <tonode-name>EmbeddedLccAddComponent</tonode-name>
+    <toserviceparameter-name>Adder</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>LccAddComponent</fromnode-name>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs</tonode-name>
+    <toserviceparameter-name>Adder2</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>LccAddComponent</fromnode-name>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs_1</tonode-name>
+    <toserviceparameter-name>Adder2</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EmbeddedLccAddComponent</fromnode-name>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs</tonode-name>
+    <toserviceparameter-name>Adder3</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EmbeddedLccAddComponent</fromnode-name>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>AdditionObjRefs_1</tonode-name>
+    <toserviceparameter-name>Adder3</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>AdditionObjRefs</fromnode-name>
+    <fromserviceparameter-name>RetAddComponent1</fromserviceparameter-name>
+    <tonode-name>FindComponentInstance</tonode-name>
+    <toserviceparameter-name>AddComponentObjRef</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>AddComponent__aContainer</fromserviceparameter-name>
+    <tonode-name>AddComponent</tonode-name>
+    <toserviceparameter-name>aContainer</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[FactoryServer]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>AddComponent__aComponent</fromserviceparameter-name>
+    <tonode-name>AddComponent</tonode-name>
+    <toserviceparameter-name>aComponent</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[AddComponent]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>LccAddComponent__aContainer</fromserviceparameter-name>
+    <tonode-name>LccAddComponent</tonode-name>
+    <toserviceparameter-name>aContainer</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[FactoryServer]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>LccAddComponent__aComponentName</fromserviceparameter-name>
+    <tonode-name>LccAddComponent</tonode-name>
+    <toserviceparameter-name>aComponentName</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[AddComponent]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>EmbeddedLccAddComponent__aContainer</fromserviceparameter-name>
+    <tonode-name>EmbeddedLccAddComponent</tonode-name>
+    <toserviceparameter-name>aContainer</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[SuperVisionContainer]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphObjRefOMNIORB4</fromnode-name>
+    <fromserviceparameter-name>EmbeddedLccAddComponent__aComponentName</fromserviceparameter-name>
+    <tonode-name>EmbeddedLccAddComponent</tonode-name>
+    <toserviceparameter-name>aComponentName</toserviceparameter-name>
+    <data-value>
+     <value-type>18</value-type>
+     <value><![CDATA[AddComponent]]></value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphObjRefOMNIORB4_StandAlone.py b/examples/GraphObjRefOMNIORB4_StandAlone.py
new file mode 100644 (file)
index 0000000..3b151a6
--- /dev/null
@@ -0,0 +1,27 @@
+from SuperV import *
+import Engines
+def FindComponentInstance( ComponentRef ) :
+    print "FindComponentInstance",ComponentRef
+    AddComponentObjRef = ComponentRef._narrow(Engines.Component)
+    print "FindComponentInstance",AddComponentObjRef
+    TheContainer = AddComponentObjRef.GetContainerRef()
+    print "FindComponentInstance",TheContainer
+    TheAddComponentObjRef=TheContainer.find_component_instance( "AddComponent" , 0 )
+    print "FindComponentInstance",TheAddComponentObjRef
+    return TheAddComponentObjRef
+
+from LifeCycleCORBA import *
+def defAddComponent( aContainer , aComponent ) :
+    orb = CORBA.ORB_init([], CORBA.ORB_ID)
+    lcc = LifeCycleCORBA(orb)
+    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )
+    return ComponentRef
+
+AddComponent = defAddComponent( 'FactoryServer' , 'AddComponent' )
+AddComponent._narrow( Engines.Component ).ping()
+
+ComponentRef = FindComponentInstance( AddComponent )
+ComponentRef.ping()
+
+
+
index ddd184e82a25202b9158563225076c786459553a..91c5de5424216d920b66d86ba727847cd103f551 100755 (executable)
 
-# Generated python file of Graph GraphSwitch
+# Generated python file of Graph GraphPyFunctions_1
 
 from SuperV import *
-# Graph creation 
-GraphPyFunctions = Graph( 'GraphPyFunctions' )
-GraphPyFunctions.SetName( 'GraphPyFunctions' )
-GraphPyFunctions.SetAuthor( '' )
-GraphPyFunctions.SetComment( '' )
-GraphPyFunctions.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-IsOdd = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-
-PyIsOdd_1 = []
-PyIsOdd_1.append( 'from time import *   ' )
-PyIsOdd_1.append( 'def IsOdd(a) :       ' )
-PyIsOdd_1.append( '    print a,"IsOdd"      ' )
-PyIsOdd_1.append( '    sleep( 1 )   ' )
-PyIsOdd_1.append( '    return a     ' )
-IsOdd_1 = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd_1 )
-IsOdd_1.SetName( 'IsOdd_1' )
-IsOdd_1.SetAuthor( '' )
-IsOdd_1.SetComment( 'Python function' )
-IsOdd_1.Coords( 391 , 288 )
-IsOdd_1.InPort( 'a' , 'long' )
-IsOdd_1.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
-PyInitLoop.append( '   return Index,Min,Max     ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
-PyMoreInitLoop.append( '       if Index <= Max :   ' )
-PyMoreInitLoop.append( '               DoLoop = 1     ' )
-PyMoreInitLoop.append( '       else :     ' )
-PyMoreInitLoop.append( '               DoLoop = 0     ' )
-PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
-PyNextInitLoop.append( '       Index = Index + 1     ' )
-PyNextInitLoop.append( '       return Index,Min,Max     ' )
-InitLoop,EndOfInitLoop = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 766 , 127 )
-PyEndOfInitLoop = []
-EndOfInitLoop.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 129 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-PyInitLoop_1 = []
-PyMoreInitLoop_1 = []
-PyMoreInitLoop_1.append( '' )
-PyNextInitLoop_1 = []
-PyNextInitLoop_1.append( '' )
-InitLoop_1,EndOfInitLoop_1 = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop_1 , 'MoreLoop' , PyMoreInitLoop_1 , 'NextLoop' , PyNextInitLoop_1 )
-EndOfInitLoop_1.SetName( 'EndOfInitLoop_1' )
-EndOfInitLoop_1.SetAuthor( '' )
-EndOfInitLoop_1.SetComment( '' )
-EndOfInitLoop_1.Coords( 784 , 361 )
-PyEndOfInitLoop_1 = []
-EndOfInitLoop_1.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop_1 )
-InitLoop_1.SetName( 'InitLoop_1' )
-InitLoop_1.SetAuthor( '' )
-InitLoop_1.SetComment( '' )
-InitLoop_1.Coords( 12 , 369 )
-InitLoop_1.InPort( 'Index' , 'long' )
-InitLoop_1.InPort( 'Min' , 'long' )
-InitLoop_1.InPort( 'Max' , 'long' )
-InitLoop_1.OutPort( 'Index' , 'long' )
-InitLoop_1.OutPort( 'Min' , 'long' )
-InitLoop_1.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-Switch,EndOfSwitch = GraphPyFunctions.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-PySwitch_1 = []
-PySwitch_1.append( 'from time import *  ' )
-PySwitch_1.append( 'def Switch(a) :    ' )
-PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
-PySwitch_1.append( '        sleep(1)  ' )
-PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
-Switch_1,EndOfSwitch_1 = GraphPyFunctions.SNode( 'Switch' , PySwitch_1 )
-EndOfSwitch_1.SetName( 'EndOfSwitch_1' )
-EndOfSwitch_1.SetAuthor( '' )
-EndOfSwitch_1.SetComment( '' )
-EndOfSwitch_1.Coords( 594 , 362 )
-PyEndOfSwitch_1 = []
-EndOfSwitch_1.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch_1 )
-EndOfSwitch_1.InPort( 'a' , 'long' )
-EndOfSwitch_1.OutPort( 'a' , 'long' )
-Switch_1.SetName( 'Switch_1' )
-Switch_1.SetAuthor( '' )
-Switch_1.SetComment( '' )
-Switch_1.Coords( 185 , 368 )
-Switch_1.InPort( 'a' , 'long' )
-Switch_1.OutPort( 'Odd' , 'long' )
-Switch_1.OutPort( 'Even' , 'int' )
-Switch_1.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphPyFunctions.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 571 , 160 )
-EndOfSwitcha.AddCoord( 2 , 571 , 129 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switcha = GraphPyFunctions.Link( InitLoopIndex , Switch.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphPyFunctions.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphPyFunctions.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphPyFunctions.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphPyFunctions.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 366 , 131 )
-IsOdda.AddCoord( 2 , 365 , 223 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphPyFunctions.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphPyFunctions.Link( EndOfSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-IsOdd_1a = IsOdd_1.Port( 'a' )
-EndOfSwitch_1a = GraphPyFunctions.Link( IsOdd_1a , EndOfSwitch_1.Port( 'a' ) )
-EndOfSwitch_1a.AddCoord( 1 , 580 , 396 )
-EndOfSwitch_1a.AddCoord( 2 , 580 , 368 )
-
-InitLoop_1Index = InitLoop_1.Port( 'Index' )
-Switch_1a = GraphPyFunctions.Link( InitLoop_1Index , Switch_1.Port( 'a' ) )
-
-InitLoop_1Min = InitLoop_1.Port( 'Min' )
-EndOfInitLoop_1Min = GraphPyFunctions.Link( InitLoop_1Min , EndOfInitLoop_1.Port( 'Min' ) )
-
-InitLoop_1Max = InitLoop_1.Port( 'Max' )
-EndOfInitLoop_1Max = GraphPyFunctions.Link( InitLoop_1Max , EndOfInitLoop_1.Port( 'Max' ) )
-
-Switch_1Odd = Switch_1.Port( 'Odd' )
-IsOdd_1InGate = GraphPyFunctions.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
-
-Switch_1Even = Switch_1.Port( 'Even' )
-EndOfSwitch_1Default = GraphPyFunctions.Link( Switch_1Even , EndOfSwitch_1.Port( 'Default' ) )
-
-Switch_1a = Switch_1.Port( 'a' )
-IsOdd_1a = GraphPyFunctions.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
-IsOdd_1a.AddCoord( 1 , 368 , 368 )
-IsOdd_1a.AddCoord( 2 , 367 , 460 )
-
-EndOfSwitch_1a = EndOfSwitch_1.Port( 'a' )
-EndOfInitLoop_1Index = GraphPyFunctions.Link( EndOfSwitch_1a , EndOfInitLoop_1.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-InitLoop_1Index = InitLoop_1.Input( 'Index' , 0)
-InitLoop_1Min = InitLoop_1.Input( 'Min' , 0)
-InitLoop_1Max = InitLoop_1.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-EndOfInitLoop_1Index = EndOfInitLoop_1.Port( 'Index' )
-EndOfInitLoop_1Min = EndOfInitLoop_1.Port( 'Min' )
-EndOfInitLoop_1Max = EndOfInitLoop_1.Port( 'Max' )
-
-GraphPyFunctions.Run()
-GraphPyFunctions.DoneW()
-GraphPyFunctions.State()
-GraphPyFunctions.PrintPorts()
+# Graph creation of GraphPyFunctions_1
+def DefGraphPyFunctions_1() :
+    GraphPyFunctions_1 = Graph( 'GraphPyFunctions_1' )
+    GraphPyFunctions_1.SetName( 'GraphPyFunctions_1' )
+    GraphPyFunctions_1.SetAuthor( '' )
+    GraphPyFunctions_1.SetComment( '' )
+    GraphPyFunctions_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    IsOdd = GraphPyFunctions_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 388 , 50 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *   ' )
+    PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+    PyIsOdd_1.append( '    print a,"IsOdd"      ' )
+    PyIsOdd_1.append( '    sleep( 1 )   ' )
+    PyIsOdd_1.append( '    return a     ' )
+    IsOdd_1 = GraphPyFunctions_1.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 391 , 288 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphPyFunctions_1.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 766 , 127 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 129 )
+    
+    PyInitLoop_1 = []
+    PyMoreInitLoop_1 = []
+    PyMoreInitLoop_1.append( '' )
+    PyNextInitLoop_1 = []
+    PyNextInitLoop_1.append( '' )
+    InitLoop_1,EndOfInitLoop_1 = GraphPyFunctions_1.LNode( 'InitLoop' , PyInitLoop_1 , 'MoreLoop' , PyMoreInitLoop_1 , 'NextLoop' , PyNextInitLoop_1 )
+    EndOfInitLoop_1.SetName( 'EndOfInitLoop_1' )
+    EndOfInitLoop_1.SetAuthor( '' )
+    EndOfInitLoop_1.SetComment( 'Compute Node' )
+    EndOfInitLoop_1.Coords( 784 , 361 )
+    PyEndOfInitLoop_1 = []
+    EndOfInitLoop_1.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop_1 )
+    IInitLoop_1DoLoop = InitLoop_1.GetInPort( 'DoLoop' )
+    IInitLoop_1Index = InitLoop_1.InPort( 'Index' , 'long' )
+    IInitLoop_1Min = InitLoop_1.InPort( 'Min' , 'long' )
+    IInitLoop_1Max = InitLoop_1.InPort( 'Max' , 'long' )
+    IInitLoop_1Gate = InitLoop_1.GetInPort( 'Gate' )
+    OInitLoop_1DoLoop = InitLoop_1.GetOutPort( 'DoLoop' )
+    OInitLoop_1Index = InitLoop_1.GetOutPort( 'Index' )
+    OInitLoop_1Min = InitLoop_1.GetOutPort( 'Min' )
+    OInitLoop_1Max = InitLoop_1.GetOutPort( 'Max' )
+    IEndOfInitLoop_1DoLoop = EndOfInitLoop_1.GetInPort( 'DoLoop' )
+    IEndOfInitLoop_1Index = EndOfInitLoop_1.GetInPort( 'Index' )
+    IEndOfInitLoop_1Min = EndOfInitLoop_1.GetInPort( 'Min' )
+    IEndOfInitLoop_1Max = EndOfInitLoop_1.GetInPort( 'Max' )
+    IEndOfInitLoop_1Gate = EndOfInitLoop_1.GetInPort( 'Gate' )
+    OEndOfInitLoop_1DoLoop = EndOfInitLoop_1.GetOutPort( 'DoLoop' )
+    OEndOfInitLoop_1Index = EndOfInitLoop_1.GetOutPort( 'Index' )
+    OEndOfInitLoop_1Min = EndOfInitLoop_1.GetOutPort( 'Min' )
+    OEndOfInitLoop_1Max = EndOfInitLoop_1.GetOutPort( 'Max' )
+    OEndOfInitLoop_1Gate = EndOfInitLoop_1.GetOutPort( 'Gate' )
+    InitLoop_1.SetName( 'InitLoop_1' )
+    InitLoop_1.SetAuthor( '' )
+    InitLoop_1.SetComment( 'Compute Node' )
+    InitLoop_1.Coords( 12 , 369 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    Switch,EndOfSwitch = GraphPyFunctions_1.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndOfSwitch_1 = GraphPyFunctions_1.SNode( 'Switch' , PySwitch_1 )
+    EndOfSwitch_1.SetName( 'EndOfSwitch_1' )
+    EndOfSwitch_1.SetAuthor( '' )
+    EndOfSwitch_1.SetComment( 'Compute Node' )
+    EndOfSwitch_1.Coords( 594 , 362 )
+    PyEndOfSwitch_1 = []
+    EndOfSwitch_1.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch_1 )
+    IEndOfSwitch_1a = EndOfSwitch_1.InPort( 'a' , 'long' )
+    IEndOfSwitch_1Default = EndOfSwitch_1.GetInPort( 'Default' )
+    OEndOfSwitch_1a = EndOfSwitch_1.OutPort( 'a' , 'long' )
+    OEndOfSwitch_1Gate = EndOfSwitch_1.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 185 , 368 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphPyFunctions_1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 571 , 160 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 571 , 129 )
+    
+    LIsOdd_1aEndOfSwitch_1a = GraphPyFunctions_1.Link( OIsOdd_1a , IEndOfSwitch_1a )
+    LIsOdd_1aEndOfSwitch_1a.AddCoord( 1 , 580 , 396 )
+    LIsOdd_1aEndOfSwitch_1a.AddCoord( 2 , 580 , 368 )
+    
+    LInitLoopIndexSwitcha = GraphPyFunctions_1.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphPyFunctions_1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphPyFunctions_1.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LInitLoop_1IndexSwitch_1a = GraphPyFunctions_1.Link( OInitLoop_1Index , ISwitch_1a )
+    
+    LInitLoop_1MinEndOfInitLoop_1Min = GraphPyFunctions_1.Link( OInitLoop_1Min , IEndOfInitLoop_1Min )
+    
+    LInitLoop_1MaxEndOfInitLoop_1Max = GraphPyFunctions_1.Link( OInitLoop_1Max , IEndOfInitLoop_1Max )
+    
+    LSwitchOddIsOddGate = GraphPyFunctions_1.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphPyFunctions_1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 366 , 131 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 223 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphPyFunctions_1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+    LSwitchDefaultEndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphPyFunctions_1.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    LSwitch_1OddIsOdd_1Gate = GraphPyFunctions_1.Link( OSwitch_1Odd , IIsOdd_1Gate )
+    
+    LSwitch_1aIsOdd_1a = GraphPyFunctions_1.Link( OSwitch_1a , IIsOdd_1a )
+    LSwitch_1aIsOdd_1a.AddCoord( 1 , 368 , 368 )
+    LSwitch_1aIsOdd_1a.AddCoord( 2 , 367 , 460 )
+    
+    LSwitch_1DefaultEndOfSwitch_1Default = GraphPyFunctions_1.Link( OSwitch_1Default , IEndOfSwitch_1Default )
+    
+    LEndOfSwitch_1aEndOfInitLoop_1Index = GraphPyFunctions_1.Link( OEndOfSwitch_1a , IEndOfInitLoop_1Index )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 25 )
+    IInitLoop_1Index.Input( 0 )
+    IInitLoop_1Min.Input( 0 )
+    IInitLoop_1Max.Input( 35 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    #OEndOfInitLoop_1Index = EndOfInitLoop_1.GetOutPort( 'Index' )
+    #OEndOfInitLoop_1Min = EndOfInitLoop_1.GetOutPort( 'Min' )
+    #OEndOfInitLoop_1Max = EndOfInitLoop_1.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OSwitch_1Even = Switch_1.GetOutPort( 'Even' )
+    return GraphPyFunctions_1
+
+
+GraphPyFunctions_1 = DefGraphPyFunctions_1()
index 91826b5f4e228f7d675a532128f40b8f7c2f27e3..477b68fe789cbd01032e552713fe436275e45629 100755 (executable)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>GraphPyFunctions</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>GraphPyFunctions</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>GraphPyFunctions_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphPyFunctions_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop_1\Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop_1__Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop_1\Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop_1__Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop_1\Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>InitLoop_1__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop_1\Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop_1__Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop_1\Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop_1__Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop_1\Max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop_1__Max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>23/10/2003 - 17:46:20</creation-date>
-   <lastmodification-date>23/10/2003 - 17:47:28</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch_1__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>23/10/2003 - 17:46:20</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>IsOdd</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:20</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:20</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Python function</comment>
-   <x-position>388</x-position>
-   <y-position>50</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>388</x-position>
+    <y-position>50</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>IsOdd_1</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>IsOdd_1</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
-     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd"      ]]></PyFunc>
-     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
-     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:21</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:21</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Python function</comment>
-   <x-position>391</x-position>
-   <y-position>288</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>391</x-position>
+    <y-position>288</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>InitLoop</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInitLoop</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
 <service-name>InitLoop</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitLoop</FuncName>
-     <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>MoreLoop</FuncName>
-     <PyFunc><![CDATA[def MoreLoop(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>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
-     <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
-     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:23</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>10</x-position>
-   <y-position>129</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInitLoop</node-name>
-   <kind>5</kind>
-   <coupled-node>InitLoop</coupled-node>
-   <service>
-<service-name>EndInitLoop</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndInitLoop</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:23</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>766</x-position>
-   <y-position>127</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>766</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>InitLoop_1</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInitLoop_1</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop_1</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop_1</coupled-node>
+    <service>
 <service-name>InitLoop_1</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitLoop</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>MoreLoop</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>NextLoop</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:24</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>12</x-position>
-   <y-position>369</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>12</x-position>
+    <y-position>369</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInitLoop_1</node-name>
-   <kind>5</kind>
-   <coupled-node>InitLoop_1</coupled-node>
-   <service>
-<service-name>EndInitLoop</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop_1</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop_1</coupled-node>
+    <service>
+<service-name>EndOfInitLoop_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndInitLoop</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:24</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>784</x-position>
-   <y-position>361</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>784</x-position>
+    <y-position>361</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Switch</node-name>
-   <kind>6</kind>
-   <coupled-node>EndOfSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
 <service-name>Switch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Odd</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:26</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>186</x-position>
-   <y-position>130</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfSwitch</node-name>
-   <kind>7</kind>
-   <coupled-node>Switch</coupled-node>
-   <service>
-<service-name>EndSwitch</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndOfSwitch_1</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:26</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>587</x-position>
-   <y-position>126</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Switch_1</node-name>
-   <kind>6</kind>
-   <coupled-node>EndOfSwitch_1</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch_1</coupled-node>
+    <service>
 <service-name>Switch_1</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Odd</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
-     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
-     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:27</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>185</x-position>
-   <y-position>368</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>185</x-position>
+    <y-position>368</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfSwitch_1</node-name>
-   <kind>7</kind>
-   <coupled-node>Switch_1</coupled-node>
-   <service>
-<service-name>EndSwitch</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch_1</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
+<service-name>EndOfSwitch_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndOfSwitch_1</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>23/10/2003 - 17:46:27</creation-date>
-   <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>594</x-position>
-   <y-position>362</y-position>  </node> </node-list>
- <link-list>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:22:37</creation-date>
+    <lastmodification-date>8/7/2005 - 11:22:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>594</x-position>
+    <y-position>362</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>571</x>
-     <y>160</y>    </coord>
-    <coord>
+      <y>160</y>     </coord>
+     <coord>
 <x>571</x>
-     <y>129</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>129</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>IsOdd_1</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch_1</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>580</x>
-     <y>396</y>    </coord>
-    <coord>
+      <y>396</y>     </coord>
+     <coord>
 <x>580</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>368</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Index</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Min</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Max</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfInitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop_1</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop_1</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop_1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop_1</fromnode-name>
-   <fromserviceparameter-name>Index</fromserviceparameter-name>
-   <tonode-name>Switch_1</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop_1</fromnode-name>
-   <fromserviceparameter-name>Min</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop_1</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop_1</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop_1</fromnode-name>
-   <fromserviceparameter-name>Max</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop_1</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop_1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfInitLoop_1</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>InitLoop_1</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop_1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>366</x>
-     <y>131</y>    </coord>
-    <coord>
+      <y>131</y>     </coord>
+     <coord>
 <x>365</x>
-     <y>223</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>223</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>572</x>
-     <y>194</y>    </coord>
-    <coord>
+      <y>194</y>     </coord>
+     <coord>
 <x>571</x>
-     <y>257</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>257</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>EndOfSwitch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
-<fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd_1</tonode-name>
-   <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>Even</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch_1</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>IsOdd_1</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>368</x>
-     <y>368</y>    </coord>
-    <coord>
+      <y>368</y>     </coord>
+     <coord>
 <x>367</x>
-     <y>460</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>460</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch_1</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfSwitch_1</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop_1</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
- <data-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop_1</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <data-value>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>100</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop_1\Index</fromserviceparameter-name>
-   <tonode-name>InitLoop_1</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <data-value>
+     <value>25</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop_1__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop_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>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop_1\Min</fromserviceparameter-name>
-   <tonode-name>InitLoop_1</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop_1__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop_1</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphPyFunctions</fromnode-name>
-   <fromserviceparameter-name>InitLoop_1\Max</fromserviceparameter-name>
-   <tonode-name>InitLoop_1</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphPyFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop_1__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop_1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>100</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>35</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 0f8877367ff132238ad8e0153f3c4b6cc2da603f..4fe93a6c71a2b7144136617aa61319709c923cb3 100644 (file)
 # Generated python file of Graph GraphStreamInLines
 
 from SuperV import *
-# Graph creation 
-GraphStreamInLines = StreamGraph( 'GraphStreamInLines' )
-GraphStreamInLines.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
-GraphStreamInLines.SetName( 'GraphStreamInLines' )
-GraphStreamInLines.SetAuthor( '' )
-GraphStreamInLines.SetComment( '' )
-GraphStreamInLines.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import *    ' )
-PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
-PyIsOdd.append( '    print a,"IsOdd (GraphStreamInLines1)"       ' )
-PyIsOdd.append( '    sleep( 1 )    ' )
-PyIsOdd.append( '    return a      ' )
-IsOdd = GraphStreamInLines.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 394 , 59 )
-IIsOdda = IsOdd.InPort( 'a' , 'long' )
-IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
-IIsOddGate = IsOdd.GetInPort( 'Gate' )
-OIsOdda = IsOdd.OutPort( 'a' , 'long' )
-OIsOddGate = IsOdd.GetOutPort( 'Gate' )
-IIsOddistream = IsOdd.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IIsOddistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OIsOddostream = IsOdd.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OIsOddostream.SetNumberOfValues( 0 )
-
-# Creation of Loop Nodes
-PyInitLoop = []
-PyMoreInitLoop = []
-PyMoreInitLoop.append( '' )
-PyNextInitLoop = []
-PyNextInitLoop.append( '' )
-InitLoop,EndOfInitLoop = GraphStreamInLines.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 776 , 105 )
-PyEndOfInitLoop = []
-PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
-PyEndOfInitLoop.append( '      Index = Index + 1     ' )
-PyEndOfInitLoop.append( '      if Index <= Max :   ' )
-PyEndOfInitLoop.append( '              DoLoop = 1     ' )
-PyEndOfInitLoop.append( '      else :     ' )
-PyEndOfInitLoop.append( '              DoLoop = 0     ' )
-PyEndOfInitLoop.append( '      return DoLoop,Index,Min,Max     ' )
-EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
-IInitLoopInitLoop = InitLoop.GetInPort( 'DoLoop' )
-IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
-IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
-IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
-IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-IInitLoopGate = InitLoop.GetInPort( 'Gate' )
-OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
-OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
-OInitLoopMin = InitLoop.GetOutPort( 'Min' )
-OInitLoopMax = InitLoop.GetOutPort( 'Max' )
-OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OInitLoopostream.SetNumberOfValues( 0 )
-IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
-IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
-IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
-IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
-IEndOfInitLoopistream = EndOfInitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-IEndOfInitLoopistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
-IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
-OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
-OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
-OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
-OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-OEndOfInitLoopostream = EndOfInitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-OEndOfInitLoopostream.SetNumberOfValues( 0 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 11 , 119 )
-IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OInitLoopostream.SetNumberOfValues( 0 )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import *  ' )
-PySwitch.append( 'def Switch(a) :    ' )
-PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
-PySwitch.append( '        sleep(1)  ' )
-PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-Switch,EndSwitch = GraphStreamInLines.SNode( 'Switch' , PySwitch )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 587 , 104 )
-PyEndSwitch = []
-PyEndSwitch.append( 'def EndOfSwitch(a) :    ' )
-PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
-PyEndSwitch.append( '        sleep(1)  ' )
-PyEndSwitch.append( '    return a    ' )
-EndSwitch.SetPyFunction( 'EndOfSwitch' , PyEndSwitch )
-IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
-IEndSwitchistream = EndSwitch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-IEndSwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
-OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
-OEndSwitchostream = EndSwitch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-OEndSwitchostream.SetNumberOfValues( 0 )
-OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 197 , 119 )
-ISwitcha = Switch.InPort( 'a' , 'long' )
-ISwitchGate = Switch.GetInPort( 'Gate' )
-OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
-OSwitchEven = Switch.OutPort( 'Even' , 'int' )
-OSwitcha = Switch.OutPort( 'a' , 'int' )
-OSwitchDefault = Switch.GetOutPort( 'Default' )
-ISwitchistream = Switch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
-ISwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
-OSwitchostream = Switch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
-OSwitchostream.SetNumberOfValues( 0 )
-
-# Creation of Links
-LIsOddaEndSwitcha = GraphStreamInLines.Link( OIsOdda , IEndSwitcha )
-
-LIsOddostreamInitLoopistream = GraphStreamInLines.StreamLink( OIsOddostream , IInitLoopistream )
-LIsOddostreamInitLoopistream.AddCoord( 1 , 3 , 240 )
-LIsOddostreamInitLoopistream.AddCoord( 2 , 3 , 395 )
-LIsOddostreamInitLoopistream.AddCoord( 3 , 571 , 394 )
-LIsOddostreamInitLoopistream.AddCoord( 4 , 571 , 187 )
-
-LInitLoopIndexSwitcha = GraphStreamInLines.Link( OInitLoopIndex , ISwitcha )
-
-LInitLoopMinEndOfInitLoopMin = GraphStreamInLines.Link( OInitLoopMin , IEndOfInitLoopMin )
-
-LInitLoopMaxEndOfInitLoopMax = GraphStreamInLines.Link( OInitLoopMax , IEndOfInitLoopMax )
-
-LInitLoopostreamEndSwitchistream = GraphStreamInLines.StreamLink( OInitLoopostream , IEndSwitchistream )
-LInitLoopostreamEndSwitchistream.AddCoord( 1 , 584 , 167 )
-LInitLoopostreamEndSwitchistream.AddCoord( 2 , 584 , 369 )
-LInitLoopostreamEndSwitchistream.AddCoord( 3 , 184 , 368 )
-LInitLoopostreamEndSwitchistream.AddCoord( 4 , 185 , 240 )
-
-LSwitchOddIsOddGate = GraphStreamInLines.Link( OSwitchOdd , IIsOddGate )
-LSwitchOddIsOddGate.AddCoord( 1 , 373 , 222 )
-LSwitchOddIsOddGate.AddCoord( 2 , 373 , 147 )
-
-LSwitchEvenEndSwitchDefault = GraphStreamInLines.Link( OSwitchEven , IEndSwitchDefault )
-
-LSwitchEvenIsOddEven = GraphStreamInLines.Link( OSwitchEven , IIsOddEven )
-LSwitchEvenIsOddEven.AddCoord( 1 , 363 , 154 )
-LSwitchEvenIsOddEven.AddCoord( 2 , 362 , 177 )
-
-LSwitchaIsOdda = GraphStreamInLines.Link( OSwitcha , IIsOdda )
-LSwitchaIsOdda.AddCoord( 1 , 385 , 123 )
-LSwitchaIsOdda.AddCoord( 2 , 386 , 206 )
-
-LSwitchostreamIsOddistream = GraphStreamInLines.StreamLink( OSwitchostream , IIsOddistream )
-LSwitchostreamIsOddistream.AddCoord( 1 , 360 , 185 )
-LSwitchostreamIsOddistream.AddCoord( 2 , 361 , 240 )
-
-LSwitchostreamEndOfInitLoopistream = GraphStreamInLines.StreamLink( OSwitchostream , IEndOfInitLoopistream )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 1 , 775 , 226 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 2 , 775 , 261 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 3 , 361 , 261 )
-LSwitchostreamEndOfInitLoopistream.AddCoord( 4 , 361 , 240 )
-
-LEndSwitchaEndOfInitLoopIndex = GraphStreamInLines.Link( OEndSwitcha , IEndOfInitLoopIndex )
-
-LEndSwitchostreamSwitchistream = GraphStreamInLines.StreamLink( OEndSwitchostream , ISwitchistream )
-LEndSwitchostreamSwitchistream.AddCoord( 1 , 186 , 240 )
-LEndSwitchostreamSwitchistream.AddCoord( 2 , 186 , 331 )
-LEndSwitchostreamSwitchistream.AddCoord( 3 , 766 , 330 )
-LEndSwitchostreamSwitchistream.AddCoord( 4 , 766 , 167 )
-
-# Input datas
-IInitLoopIndex.Input( 0 )
-IInitLoopMin.Input( 0 )
-IInitLoopMax.Input( 100 )
-
-# Output Ports of the graph
-#OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
-#OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
-#OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
-
-
-
-GraphStreamInLines.Run()
-GraphStreamInLines.DoneW()
-print GraphStreamInLines.State()
-
-GraphStreamInLines.PrintPorts()
-
-
-subgraphs = GraphStreamInLines.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
-    nodes = GraphStreamInLines.SubGraphsNodes( i )
-    j = 0
-    while j < len(nodes) :
-        print 'SubGraph',i,nodes[j].Name()
-        j = j + 1
-    i = i + 1
-
-
-substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
-    nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
-    j = 0
-    while j < len(nodes) :
-        print 'SubStreamGraph',i,nodes[j].Name()
-        j = j + 1
-    i = i + 1
-
-GraphStreamInLines.Export('/tmp/GraphStreamInLines.xml')
-
-from SuperV import *
-GraphStreamInLines = StreamGraph('/tmp/GraphStreamInLines.xml')
-
-
-GraphStreamInLines.Run()
-GraphStreamInLines.DoneW()
-print GraphStreamInLines.State()
-
-subgraphs = GraphStreamInLines.SubGraphsNumber()
-i = 1
-while i <= subgraphs :
-    nodes = GraphStreamInLines.SubGraphsNodes( i )
-    j = 0
-    while j < len(nodes) :
-        print 'SubGraph',i,nodes[j].Name()
-        j = j + 1
-    i = i + 1
-
-
-substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
-i = 1
-while i <= substreamgraphs :
-    nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
-    j = 0
-    while j < len(nodes) :
-        print 'SubStreamGraph',i,nodes[j].Name()
-        j = j + 1
-    i = i + 1
 
+# Graph creation of GraphStreamInLines
+def DefGraphStreamInLines() :
+    GraphStreamInLines = StreamGraph( 'GraphStreamInLines' )
+    GraphStreamInLines.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
+    GraphStreamInLines.SetName( 'GraphStreamInLines' )
+    GraphStreamInLines.SetAuthor( '' )
+    GraphStreamInLines.SetComment( '' )
+    GraphStreamInLines.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *    ' )
+    PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphStreamInLines1)"       ' )
+    PyIsOdd.append( '    sleep( 1 )    ' )
+    PyIsOdd.append( '    return a      ' )
+    IsOdd = GraphStreamInLines.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 404 , 7 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    IIsOddistream = IsOdd.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    IIsOddistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+    OIsOddostream = IsOdd.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+    OIsOddostream.SetNumberOfValues( 0 )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( '' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( '' )
+    InitLoop,EndOfInitLoop = GraphStreamInLines.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 807 , 104 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+    PyEndOfInitLoop.append( '  Index = Index + 1     ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :   ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1     ' )
+    PyEndOfInitLoop.append( '  else :     ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0     ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max     ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+    OInitLoopostream.SetNumberOfValues( 0 )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopistream = EndOfInitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+    IEndOfInitLoopistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    OEndOfInitLoopostream = EndOfInitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    OEndOfInitLoopostream.SetNumberOfValues( 0 )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 11 , 119 )
+    IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+    OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+    OInitLoopostream.SetNumberOfValues( 0 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndSwitch = GraphStreamInLines.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 604 , 105 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndOfSwitch(a) :    ' )
+    PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PyEndSwitch.append( '        sleep(1)  ' )
+    PyEndSwitch.append( '    return a    ' )
+    EndSwitch.SetPyFunction( 'EndOfSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchistream = EndSwitch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    IEndSwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchostream = EndSwitch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    OEndSwitchostream.SetNumberOfValues( 0 )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 198 , 115 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    ISwitchistream = Switch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+    ISwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+    OSwitchostream = Switch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+    OSwitchostream.SetNumberOfValues( 0 )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphStreamInLines.Link( OIsOdda , IEndSwitcha )
+    
+    LIsOddostreamInitLoopistream = GraphStreamInLines.StreamLink( OIsOddostream , IInitLoopistream )
+    LIsOddostreamInitLoopistream.AddCoord( 1 , 3 , 240 )
+    LIsOddostreamInitLoopistream.AddCoord( 2 , 3 , 395 )
+    LIsOddostreamInitLoopistream.AddCoord( 3 , 571 , 394 )
+    LIsOddostreamInitLoopistream.AddCoord( 4 , 577 , 122 )
+    
+    LInitLoopIndexSwitcha = GraphStreamInLines.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphStreamInLines.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphStreamInLines.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LInitLoopostreamEndSwitchistream = GraphStreamInLines.StreamLink( OInitLoopostream , IEndSwitchistream )
+    LInitLoopostreamEndSwitchistream.AddCoord( 1 , 586 , 158 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 2 , 586 , 362 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 3 , 591 , 362 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 4 , 591 , 359 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 5 , 180 , 359 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 6 , 180 , 212 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 7 , 181 , 212 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 8 , 181 , 214 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 9 , 584 , 167 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 10 , 584 , 369 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 11 , 184 , 368 )
+    LInitLoopostreamEndSwitchistream.AddCoord( 12 , 185 , 240 )
+    
+    LSwitchOddIsOddGate = GraphStreamInLines.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenIsOddEven = GraphStreamInLines.Link( OSwitchEven , IIsOddEven )
+    
+    LSwitchaIsOdda = GraphStreamInLines.Link( OSwitcha , IIsOdda )
+    
+    LSwitchostreamIsOddistream = GraphStreamInLines.StreamLink( OSwitchostream , IIsOddistream )
+    
+    LSwitchostreamEndOfInitLoopistream = GraphStreamInLines.StreamLink( OSwitchostream , IEndOfInitLoopistream )
+    LSwitchostreamEndOfInitLoopistream.AddCoord( 1 , 779 , 203 )
+    LSwitchostreamEndOfInitLoopistream.AddCoord( 2 , 775 , 261 )
+    LSwitchostreamEndOfInitLoopistream.AddCoord( 3 , 397 , 260 )
+    LSwitchostreamEndOfInitLoopistream.AddCoord( 4 , 403 , 217 )
+    
+    LSwitchDefaultEndSwitchDefault = GraphStreamInLines.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphStreamInLines.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LEndSwitchostreamSwitchistream = GraphStreamInLines.StreamLink( OEndSwitchostream , ISwitchistream )
+    LEndSwitchostreamSwitchistream.AddCoord( 1 , 186 , 240 )
+    LEndSwitchostreamSwitchistream.AddCoord( 2 , 186 , 331 )
+    LEndSwitchostreamSwitchistream.AddCoord( 3 , 790 , 329 )
+    LEndSwitchostreamSwitchistream.AddCoord( 4 , 786 , 161 )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 35 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphStreamInLines
+
+
+GraphStreamInLines = DefGraphStreamInLines()
index 0af81824fc24f1d04746b2ede8bda97b54991f93..b329a2e55d2b872339d891cbb15edcf3e21c0407 100644 (file)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>GraphStreamInLines</node-name>
-   <kind>9</kind>
-   <streamgraph-timeout>300</streamgraph-timeout>
-   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
-   <streamgraph-deltatime>0</streamgraph-deltatime>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>GraphStreamInLines</node-name>
+    <kind>9</kind>
+    <streamgraph-timeout>300</streamgraph-timeout>
+    <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+    <streamgraph-deltatime>0</streamgraph-deltatime>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>GraphStreamInLines</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>EndOfInitLoop\ostream</outParameter-name>
-     <outParameter-dependency>1</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list/>
-   <creation-date>27/4/2004 - 15:5:25</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+      <outParameter-name>EndOfInitLoop__ostream</outParameter-name>
+      <outParameter-dependency>1</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list/>
+    <creation-date>27/4/2004 - 15:5:25</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</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>IsOdd</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>IsOdd</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>boolean</inParameter-type>
-      <inParameter-name>Even</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <inParameter>
 <inParameter-type>1</inParameter-type>
-     <inParameter-name>istream</inParameter-name>
-     <inParameter-dependency>1</inParameter-dependency>
-     <inParameter-schema>1</inParameter-schema>
-     <inParameter-interpolation>2</inParameter-interpolation>
-     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
-    <outParameter>
+      <inParameter-name>istream</inParameter-name>
+      <inParameter-dependency>1</inParameter-dependency>
+      <inParameter-schema>1</inParameter-schema>
+      <inParameter-interpolation>2</inParameter-interpolation>
+      <inParameter-extrapolation>0</inParameter-extrapolation>     </inParameter>
+     <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>
-     <outParameter-dependency>2</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list>
+      <outParameter-name>ostream</outParameter-name>
+      <outParameter-dependency>2</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-     <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd (GraphStreamInLines1)"       ]]></PyFunc>
-     <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-     <PyFunc><![CDATA[    return a      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>21/5/2004 - 10:45:38</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Python function</comment>
-   <x-position>394</x-position>
-   <y-position>59</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphStreamInLines1)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:28:41</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>404</x-position>
+    <y-position>7</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>InitLoop</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInitLoop</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
 <service-name>InitLoop</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <inParameter>
 <inParameter-type>1</inParameter-type>
-     <inParameter-name>istream</inParameter-name>
-     <inParameter-dependency>1</inParameter-dependency>
-     <inParameter-schema>1</inParameter-schema>
-     <inParameter-interpolation>2</inParameter-interpolation>
-     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
-    <outParameter>
+      <inParameter-name>istream</inParameter-name>
+      <inParameter-dependency>1</inParameter-dependency>
+      <inParameter-schema>1</inParameter-schema>
+      <inParameter-interpolation>2</inParameter-interpolation>
+      <inParameter-extrapolation>0</inParameter-extrapolation>     </inParameter>
+     <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>
-     <outParameter-dependency>2</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list>
+      <outParameter-name>ostream</outParameter-name>
+      <outParameter-dependency>2</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>?</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>?</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>?</FuncName>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>21/5/2004 - 10:45:38</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>11</x-position>
-   <y-position>119</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:28:41</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>11</x-position>
+    <y-position>119</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInitLoop</node-name>
-   <kind>5</kind>
-   <coupled-node>InitLoop</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
 <service-name>EndOfInitLoop</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <inParameter>
 <inParameter-type>1</inParameter-type>
-     <inParameter-name>istream</inParameter-name>
-     <inParameter-dependency>2</inParameter-dependency>
-     <inParameter-schema>0</inParameter-schema>
-     <inParameter-interpolation>0</inParameter-interpolation>
-     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
-    <outParameter>
+      <inParameter-name>istream</inParameter-name>
+      <inParameter-dependency>2</inParameter-dependency>
+      <inParameter-schema>0</inParameter-schema>
+      <inParameter-interpolation>0</inParameter-interpolation>
+      <inParameter-extrapolation>0</inParameter-extrapolation>     </inParameter>
+     <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>
-     <outParameter-dependency>1</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list>
+      <outParameter-name>ostream</outParameter-name>
+      <outParameter-dependency>1</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndOfInitLoop</FuncName>
-     <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
-     <PyFunc><![CDATA[ Index = Index + 1     ]]></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-list>
-   <creation-date>21/5/2004 - 10:45:38</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>776</x-position>
-   <y-position>105</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></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-list>
+    <creation-date>8/7/2005 - 11:28:41</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>807</x-position>
+    <y-position>104</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Switch</node-name>
-   <kind>6</kind>
-   <coupled-node>EndSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
 <service-name>Switch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Odd</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <inParameter>
 <inParameter-type>1</inParameter-type>
-     <inParameter-name>istream</inParameter-name>
-     <inParameter-dependency>1</inParameter-dependency>
-     <inParameter-schema>1</inParameter-schema>
-     <inParameter-interpolation>2</inParameter-interpolation>
-     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
-    <outParameter>
+      <inParameter-name>istream</inParameter-name>
+      <inParameter-dependency>1</inParameter-dependency>
+      <inParameter-schema>1</inParameter-schema>
+      <inParameter-interpolation>2</inParameter-interpolation>
+      <inParameter-extrapolation>0</inParameter-extrapolation>     </inParameter>
+     <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>
-     <outParameter-dependency>2</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list>
+      <outParameter-name>ostream</outParameter-name>
+      <outParameter-dependency>2</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
-     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
-     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>21/5/2004 - 10:45:38</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>197</x-position>
-   <y-position>119</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:28:41</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>198</x-position>
+    <y-position>115</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndSwitch</node-name>
-   <kind>7</kind>
-   <coupled-node>Switch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
 <service-name>EndSwitch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <DataStream-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list>
 <inParameter>
 <inParameter-type>1</inParameter-type>
-     <inParameter-name>istream</inParameter-name>
-     <inParameter-dependency>1</inParameter-dependency>
-     <inParameter-schema>1</inParameter-schema>
-     <inParameter-interpolation>2</inParameter-interpolation>
-     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
-    <outParameter>
+      <inParameter-name>istream</inParameter-name>
+      <inParameter-dependency>1</inParameter-dependency>
+      <inParameter-schema>1</inParameter-schema>
+      <inParameter-interpolation>2</inParameter-interpolation>
+      <inParameter-extrapolation>0</inParameter-extrapolation>     </inParameter>
+     <outParameter>
 <outParameter-type>1</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>
-     <outParameter-dependency>1</outParameter-dependency>
-     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
-   <PyFunction-list>
+      <outParameter-name>ostream</outParameter-name>
+      <outParameter-dependency>1</outParameter-dependency>
+      <outParameter-values>0</outParameter-values>     </outParameter>    </DataStream-list>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>EndOfSwitch</FuncName>
-     <PyFunc><![CDATA[def EndOfSwitch(a) :    ]]></PyFunc>
-     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>21/5/2004 - 10:45:38</creation-date>
-   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
-   <editor-release>2.0</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>587</x-position>
-   <y-position>104</y-position>  </node> </node-list>
- <link-list>
+      <PyFunc><![CDATA[def EndOfSwitch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 11:28:41</creation-date>
+    <lastmodification-date>8/7/2005 - 11:28:41</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>604</x-position>
+    <y-position>105</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>IsOdd</fromnode-name>
-   <fromserviceparameter-name>ostream</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>istream</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>ostream</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>istream</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>3</x>
-     <y>240</y>    </coord>
-    <coord>
+      <y>240</y>     </coord>
+     <coord>
 <x>3</x>
-     <y>395</y>    </coord>
-    <coord>
-<x>571</x>
-     <y>394</y>    </coord>
-    <coord>
+      <y>395</y>     </coord>
+     <coord>
 <x>571</x>
-     <y>187</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>394</y>     </coord>
+     <coord>
+<x>577</x>
+      <y>122</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Index</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Min</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Max</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>ostream</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>istream</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>ostream</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>istream</toserviceparameter-name>
+    <coord-list>
 <coord>
+<x>586</x>
+      <y>158</y>     </coord>
+     <coord>
+<x>586</x>
+      <y>362</y>     </coord>
+     <coord>
+<x>591</x>
+      <y>362</y>     </coord>
+     <coord>
+<x>591</x>
+      <y>359</y>     </coord>
+     <coord>
+<x>180</x>
+      <y>359</y>     </coord>
+     <coord>
+<x>180</x>
+      <y>212</y>     </coord>
+     <coord>
+<x>181</x>
+      <y>212</y>     </coord>
+     <coord>
+<x>181</x>
+      <y>214</y>     </coord>
+     <coord>
 <x>584</x>
-     <y>167</y>    </coord>
-    <coord>
+      <y>167</y>     </coord>
+     <coord>
 <x>584</x>
-     <y>369</y>    </coord>
-    <coord>
+      <y>369</y>     </coord>
+     <coord>
 <x>184</x>
-     <y>368</y>    </coord>
-    <coord>
+      <y>368</y>     </coord>
+     <coord>
 <x>185</x>
-     <y>240</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>240</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>EndOfInitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
-<fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>Gate</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>373</x>
-     <y>222</y>    </coord>
-    <coord>
-<x>373</x>
-     <y>147</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Even</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Even</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>Even</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>363</x>
-     <y>154</y>    </coord>
-    <coord>
-<x>362</x>
-     <y>177</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>385</x>
-     <y>123</y>    </coord>
-    <coord>
-<x>386</x>
-     <y>206</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>ostream</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>istream</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>360</x>
-     <y>185</y>    </coord>
-    <coord>
-<x>361</x>
-     <y>240</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>ostream</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>istream</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>ostream</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>istream</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>ostream</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>istream</toserviceparameter-name>
+    <coord-list>
 <coord>
+<x>779</x>
+      <y>203</y>     </coord>
+     <coord>
 <x>775</x>
-     <y>226</y>    </coord>
-    <coord>
-<x>775</x>
-     <y>261</y>    </coord>
-    <coord>
-<x>361</x>
-     <y>261</y>    </coord>
-    <coord>
-<x>361</x>
-     <y>240</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>261</y>     </coord>
+     <coord>
+<x>397</x>
+      <y>260</y>     </coord>
+     <coord>
+<x>403</x>
+      <y>217</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndSwitch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndSwitch</fromnode-name>
-   <fromserviceparameter-name>ostream</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>istream</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>ostream</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>istream</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>186</x>
-     <y>240</y>    </coord>
-    <coord>
+      <y>240</y>     </coord>
+     <coord>
 <x>186</x>
-     <y>331</y>    </coord>
-    <coord>
-<x>766</x>
-     <y>330</y>    </coord>
-    <coord>
-<x>766</x>
-     <y>167</y>    </coord>   </coord-list>  </link> </link-list>
- <data-list>
+      <y>331</y>     </coord>
+     <coord>
+<x>790</x>
+      <y>329</y>     </coord>
+     <coord>
+<x>786</x>
+      <y>161</y>     </coord>    </coord-list>   </link>  </link-list>
 <data-list>
 <data>
 <fromnode-name>GraphStreamInLines</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <data-value>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
 <fromnode-name>GraphStreamInLines</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <data-value>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
 <fromnode-name>GraphStreamInLines</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <data-value>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>100</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>35</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 04c5ee60810fec3673d555bb2415104f28b255a6..a773c8834f49eea948b3a076218be2e909805bb4 100644 (file)
@@ -129,7 +129,7 @@ def DefGraphSwitch() :
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
     IInitLoopSwitchMin.Input( 0 )
-    IInitLoopSwitchMax.Input( 100 )
+    IInitLoopSwitchMax.Input( 35 )
     
     # Output Ports of the graph
     #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
index 770cffa644764aa4d639f27daf8b601f6c7c4d42..92735d06450eb132e33aa7713d5f4b75c95f0fcf 100644 (file)
@@ -36,7 +36,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>1/10/2003 - 17:23:54</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -69,8 +69,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 15:34:39</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <creation-date>8/7/2005 - 11:33:23</creation-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 15:34:39</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <creation-date>8/7/2005 - 11:33:23</creation-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 15:34:39</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <creation-date>8/7/2005 - 11:33:23</creation-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 15:34:39</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <creation-date>8/7/2005 - 11:33:23</creation-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 15:34:39</creation-date>
-    <lastmodification-date>19/1/2005 - 15:34:39</lastmodification-date>
+    <creation-date>8/7/2005 - 11:33:23</creation-date>
+    <lastmodification-date>8/7/2005 - 11:33:23</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>Max</toserviceparameter-name>
     <data-value>
 <value-type>3</value-type>
-     <value>100</value>    </data-value>
+     <value>35</value>    </data-value>
     <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchBranchGates.py b/examples/GraphSwitchBranchGates.py
new file mode 100644 (file)
index 0000000..ee38905
--- /dev/null
@@ -0,0 +1,147 @@
+
+# Generated python file of Graph GraphSwitchBranchGates
+
+from SuperV import *
+
+# Graph creation of GraphSwitchBranchGates
+def DefGraphSwitchBranchGates() :
+    GraphSwitchBranchGates = Graph( 'GraphSwitchBranchGates' )
+    GraphSwitchBranchGates.SetName( 'GraphSwitchBranchGates' )
+    GraphSwitchBranchGates.SetAuthor( 'JR' )
+    GraphSwitchBranchGates.SetComment( '' )
+    GraphSwitchBranchGates.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch1)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchBranchGates.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '    Index = Max ' )
+    PyInitLoop.append( '    return Index,Min,Max      ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreInitLoop.append( '   if Index >= Min :    ' )
+    PyMoreInitLoop.append( '           DoLoop = 1      ' )
+    PyMoreInitLoop.append( '   else :      ' )
+    PyMoreInitLoop.append( '           DoLoop = 0      ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max      ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextInitLoop.append( '   Index = Index - 1      ' )
+    PyNextInitLoop.append( '   return Index,Min,Max      ' )
+    InitLoop,EndOfInitLoop = GraphSwitchBranchGates.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 777 , 170 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *    ' )
+    PySwitch.append( 'def Switch(a) :  ' )
+    PySwitch.append( '    if a <= 0 :  ' )
+    PySwitch.append( '        sleep(1) ' )
+    PySwitch.append( '        return 0,0,a  ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :    ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a      ' )
+    Switch,EndOfSwitch = GraphSwitchBranchGates.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 589 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 195 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchBranchGates.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 571 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 571 , 136 )
+    
+    LInitLoopIndexSwitcha = GraphSwitchBranchGates.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphSwitchBranchGates.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphSwitchBranchGates.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchBranchGates.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenEndOfSwitchDefault = GraphSwitchBranchGates.Link( OSwitchEven , IEndOfSwitchDefault )
+    
+    LSwitchaIsOdda = GraphSwitchBranchGates.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 375 , 136 )
+    LSwitchaIsOdda.AddCoord( 2 , 375 , 201 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchBranchGates.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphSwitchBranchGates.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( -5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphSwitchBranchGates
+
+
+GraphSwitchBranchGates = DefGraphSwitchBranchGates()
diff --git a/examples/GraphSwitchBranchGates.xml b/examples/GraphSwitchBranchGates.xml
new file mode 100644 (file)
index 0000000..407dbd5
--- /dev/null
@@ -0,0 +1,351 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchBranchGates</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchNOTValid_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:12:48</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch1)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 10:0:0</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 10:0:0</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 10:0:0</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>777</x-position>
+    <y-position>170</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,a  ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 10:0:0</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>195</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 10:0:0</creation-date>
+    <lastmodification-date>8/4/2005 - 10:0:0</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>589</x-position>
+    <y-position>170</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>571</x>
+      <y>201</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>136</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>375</x>
+      <y>136</y>     </coord>
+     <coord>
+<x>375</x>
+      <y>201</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchBranchGates</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphSwitchBranchGates</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphSwitchBranchGates</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchBranchGates1.py b/examples/GraphSwitchBranchGates1.py
new file mode 100644 (file)
index 0000000..e5d129e
--- /dev/null
@@ -0,0 +1,149 @@
+
+# Generated python file of Graph GraphSwitchBranchGates1
+
+from SuperV import *
+
+# Graph creation of GraphSwitchBranchGates1
+def DefGraphSwitchBranchGates1() :
+    GraphSwitchBranchGates1 = Graph( 'GraphSwitchBranchGates1' )
+    GraphSwitchBranchGates1.SetName( 'GraphSwitchBranchGates1' )
+    GraphSwitchBranchGates1.SetAuthor( 'JR' )
+    GraphSwitchBranchGates1.SetComment( '' )
+    GraphSwitchBranchGates1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch1)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchBranchGates1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoop.append( '    Index = Max ' )
+    PyInitLoop.append( '    return Index,Min,Max      ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreInitLoop.append( '   if Index >= Min :    ' )
+    PyMoreInitLoop.append( '           DoLoop = 1      ' )
+    PyMoreInitLoop.append( '   else :      ' )
+    PyMoreInitLoop.append( '           DoLoop = 0      ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max      ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextInitLoop.append( '   Index = Index - 1      ' )
+    PyNextInitLoop.append( '   return Index,Min,Max      ' )
+    InitLoop,EndOfInitLoop = GraphSwitchBranchGates1.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 777 , 170 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *    ' )
+    PySwitch.append( 'def Switch(a) :  ' )
+    PySwitch.append( '    if a <= 0 :  ' )
+    PySwitch.append( '        sleep(1) ' )
+    PySwitch.append( '        return 0,0,a  ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :    ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a      ' )
+    Switch,EndOfSwitch = GraphSwitchBranchGates1.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 589 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 195 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchBranchGates1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 571 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 571 , 136 )
+    
+    LIsOddGateEndOfSwitchDefault = GraphSwitchBranchGates1.Link( OIsOddGate , IEndOfSwitchDefault )
+    
+    LInitLoopIndexSwitcha = GraphSwitchBranchGates1.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphSwitchBranchGates1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphSwitchBranchGates1.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchBranchGates1.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenEndOfSwitchDefault = GraphSwitchBranchGates1.Link( OSwitchEven , IEndOfSwitchDefault )
+    
+    LSwitchaIsOdda = GraphSwitchBranchGates1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 375 , 136 )
+    LSwitchaIsOdda.AddCoord( 2 , 375 , 201 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchBranchGates1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphSwitchBranchGates1.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( -5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphSwitchBranchGates1
+
+
+GraphSwitchBranchGates1 = DefGraphSwitchBranchGates1()
diff --git a/examples/GraphSwitchBranchGates1.xml b/examples/GraphSwitchBranchGates1.xml
new file mode 100644 (file)
index 0000000..774e812
--- /dev/null
@@ -0,0 +1,357 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchBranchGates1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchNOTValid</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:12:48</creation-date>
+    <lastmodification-date>8/4/2005 - 9:55:15</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch1)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 9:39:12</creation-date>
+    <lastmodification-date>8/4/2005 - 9:39:12</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :    ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 9:39:12</creation-date>
+    <lastmodification-date>8/4/2005 - 9:39:12</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 9:39:12</creation-date>
+    <lastmodification-date>8/4/2005 - 9:39:12</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>777</x-position>
+    <y-position>170</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,a  ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 9:39:12</creation-date>
+    <lastmodification-date>8/4/2005 - 9:39:12</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>195</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 9:39:12</creation-date>
+    <lastmodification-date>8/4/2005 - 9:39:12</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>589</x-position>
+    <y-position>170</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>571</x>
+      <y>201</y>     </coord>
+     <coord>
+<x>571</x>
+      <y>136</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>375</x>
+      <y>136</y>     </coord>
+     <coord>
+<x>375</x>
+      <y>201</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchBranchGates1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphSwitchBranchGates1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphSwitchBranchGates1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchBugAborted.py b/examples/GraphSwitchBugAborted.py
new file mode 100644 (file)
index 0000000..2d3498f
--- /dev/null
@@ -0,0 +1,146 @@
+
+# Generated python file of Graph GraphSwitchBugAborted
+
+from SuperV import *
+
+# Graph creation of GraphSwitchBugAborted
+def DefGraphSwitchBugAborted() :
+    GraphSwitchBugAborted = Graph( 'GraphSwitchBugAborted' )
+    GraphSwitchBugAborted.SetName( 'GraphSwitchBugAborted' )
+    GraphSwitchBugAborted.SetAuthor( 'JR' )
+    GraphSwitchBugAborted.SetComment( '' )
+    GraphSwitchBugAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchBugAborted.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchBugAborted.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 772 , 132 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)     ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,a ' )
+    Switch,EndOfSwitch = GraphSwitchBugAborted.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 581 , 132 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Even,k) : ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchEven = EndOfSwitch.InPort( 'Even' , 'long' )
+    IEndOfSwitchk = EndOfSwitch.InPort( 'k' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchn = Switch.OutPort( 'n' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchBugAborted.Link( OIsOdda , IEndOfSwitcha )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchBugAborted.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchBugAborted.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchBugAborted.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchBugAborted.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitchBugAborted.Link( OSwitcha , IIsOdda )
+    
+    LSwitchnEndOfSwitchk = GraphSwitchBugAborted.Link( OSwitchn , IEndOfSwitchk )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchBugAborted.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 20 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitchEven = EndOfSwitch.GetInPort( 'Even' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchBugAborted
+
+
+GraphSwitchBugAborted = DefGraphSwitchBugAborted()
diff --git a/examples/GraphSwitchBugAborted.xml b/examples/GraphSwitchBugAborted.xml
new file mode 100644 (file)
index 0000000..0e2267f
--- /dev/null
@@ -0,0 +1,345 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchBugAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchBugNODefault_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfSwitch__Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 10:56:46</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 10:56:46</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 10:56:46</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>772</x-position>
+    <y-position>132</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 10:56:46</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>k</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Even,k) : ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 10:56:46</creation-date>
+    <lastmodification-date>28/6/2005 - 10:56:46</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>581</x-position>
+    <y-position>132</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>k</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchBugAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchBugAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchBugAborted</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchBugDefault.py b/examples/GraphSwitchBugDefault.py
new file mode 100644 (file)
index 0000000..6773671
--- /dev/null
@@ -0,0 +1,149 @@
+
+# Generated python file of Graph GraphSwitchBugDefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchBugDefault
+def DefGraphSwitchBugDefault() :
+    GraphSwitchBugDefault = Graph( 'GraphSwitchBugDefault' )
+    GraphSwitchBugDefault.SetName( 'GraphSwitchBugDefault' )
+    GraphSwitchBugDefault.SetAuthor( 'JR' )
+    GraphSwitchBugDefault.SetComment( '' )
+    GraphSwitchBugDefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchBugDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) : ' )
+    PyInitLoopSwitch.append( '    Index = Min ' )
+    PyInitLoopSwitch.append( '    return Index,Min,Max      ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :      ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :    ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1      ' )
+    PyMoreInitLoopSwitch.append( '     else :      ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0      ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max      ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :      ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1      ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max      ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchBugDefault.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 772 , 132 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)     ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,a ' )
+    Switch,EndOfSwitch = GraphSwitchBugDefault.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 581 , 132 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Even,k) : ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchEven = EndOfSwitch.InPort( 'Even' , 'long' )
+    IEndOfSwitchk = EndOfSwitch.InPort( 'k' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchn = Switch.OutPort( 'n' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchBugDefault.Link( OIsOdda , IEndOfSwitcha )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchBugDefault.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchBugDefault.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchBugDefault.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchBugDefault.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitchBugDefault.Link( OSwitcha , IIsOdda )
+    
+    LSwitchnEndOfSwitchk = GraphSwitchBugDefault.Link( OSwitchn , IEndOfSwitchk )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchBugDefault.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchBugDefault.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 1 )
+    IInitLoopSwitchMax.Input( 20 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitchEven = EndOfSwitch.GetInPort( 'Even' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchBugDefault
+
+
+GraphSwitchBugDefault = DefGraphSwitchBugDefault()
diff --git a/examples/GraphSwitchBugDefault.xml b/examples/GraphSwitchBugDefault.xml
new file mode 100644 (file)
index 0000000..6be3e3e
--- /dev/null
@@ -0,0 +1,352 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchBugDefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchBugDefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfSwitch__Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>30/6/2005 - 10:41:27</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Min ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Min,Max      ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>30/6/2005 - 10:41:27</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>30/6/2005 - 10:41:27</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>772</x-position>
+    <y-position>132</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>30/6/2005 - 10:41:27</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>k</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Even,k) : ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>30/6/2005 - 10:41:27</creation-date>
+    <lastmodification-date>30/6/2005 - 10:41:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>581</x-position>
+    <y-position>132</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>k</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchBugDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchBugDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchBugDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 9ee068c6153c873ac7379527c5e64e74676ec6d6..c964a44c1580af21c32ee0372efbd2b1f42c276f 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphSwitchCheckBranch1
+# Generated python file of Graph GraphSwitchCheckBranch1_1
 
 from SuperV import *
 
-# Graph creation of GraphSwitchCheckBranch1
-def DefGraphSwitchCheckBranch1() :
-    GraphSwitchCheckBranch1 = Graph( 'GraphSwitchCheckBranch1' )
-    GraphSwitchCheckBranch1.SetName( 'GraphSwitchCheckBranch1' )
-    GraphSwitchCheckBranch1.SetAuthor( 'JR' )
-    GraphSwitchCheckBranch1.SetComment( 'Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch' )
-    GraphSwitchCheckBranch1.Coords( 0 , 0 )
+# Graph creation of GraphSwitchCheckBranch1_1
+def DefGraphSwitchCheckBranch1_1() :
+    GraphSwitchCheckBranch1_1 = Graph( 'GraphSwitchCheckBranch1_1' )
+    GraphSwitchCheckBranch1_1.SetName( 'GraphSwitchCheckBranch1_1' )
+    GraphSwitchCheckBranch1_1.SetAuthor( 'JR' )
+    GraphSwitchCheckBranch1_1.SetComment( 'Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch' )
+    GraphSwitchCheckBranch1_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,7 +20,7 @@ def DefGraphSwitchCheckBranch1() :
     PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
     PyIsOdd.append( '    sleep( 1 )   ' )
     PyIsOdd.append( '    return a     ' )
-    IsOdd = GraphSwitchCheckBranch1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphSwitchCheckBranch1_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -36,7 +36,7 @@ def DefGraphSwitchCheckBranch1() :
     PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
     PyIsEven.append( '    sleep( 1 )    ' )
     PyIsEven.append( '    return a      ' )
-    IsEven = GraphSwitchCheckBranch1.INode( 'IsEven' , PyIsEven )
+    IsEven = GraphSwitchCheckBranch1_1.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Compute Node' )
@@ -52,16 +52,31 @@ def DefGraphSwitchCheckBranch1() :
     PyBranchNode.append( '    print "Print ",Branch  ' )
     PyBranchNode.append( '    sleep(1)  ' )
     PyBranchNode.append( '    return Branch      ' )
-    BranchNode = GraphSwitchCheckBranch1.INode( 'Print_1' , PyBranchNode )
+    BranchNode = GraphSwitchCheckBranch1_1.INode( 'Print_1' , PyBranchNode )
     BranchNode.SetName( 'BranchNode' )
     BranchNode.SetAuthor( '' )
     BranchNode.SetComment( 'Compute Node' )
-    BranchNode.Coords( 604 , 149 )
+    BranchNode.Coords( 529 , 177 )
     IBranchNodeBranch = BranchNode.InPort( 'Branch' , 'string' )
     IBranchNodeGate = BranchNode.GetInPort( 'Gate' )
     OBranchNodeBranch = BranchNode.OutPort( 'Branch' , 'string' )
     OBranchNodeGate = BranchNode.GetOutPort( 'Gate' )
     
+    Pydefault = []
+    Pydefault.append( 'from time import * ' )
+    Pydefault.append( 'def default(a) : ' )
+    Pydefault.append( '    sleep(1) ' )
+    Pydefault.append( '    return a  ' )
+    default = GraphSwitchCheckBranch1_1.INode( 'default' , Pydefault )
+    default.SetName( 'default' )
+    default.SetAuthor( '' )
+    default.SetComment( 'Compute Node' )
+    default.Coords( 428 , 308 )
+    Idefaulta = default.InPort( 'a' , 'long' )
+    IdefaultGate = default.GetInPort( 'Gate' )
+    Odefaulta = default.OutPort( 'a' , 'long' )
+    OdefaultGate = default.GetOutPort( 'Gate' )
+    
     # Creation of Loop Nodes
     PyInitLoopSwitch = []
     PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
@@ -80,11 +95,11 @@ def DefGraphSwitchCheckBranch1() :
     PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
     PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
     PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
-    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckBranch1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckBranch1_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
     EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
     EndOfInitLoopSwitch.SetAuthor( '' )
     EndOfInitLoopSwitch.SetComment( 'Compute Node' )
-    EndOfInitLoopSwitch.Coords( 1074 , 194 )
+    EndOfInitLoopSwitch.Coords( 1073 , 216 )
     PyEndOfInitLoopSwitch = []
     PyEndOfInitLoopSwitch.append( 'from time import *  ' )
     PyEndOfInitLoopSwitch.append( 'def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ' )
@@ -128,11 +143,11 @@ def DefGraphSwitchCheckBranch1() :
     PySwitch.append( '    else :    ' )
     PySwitch.append( '        Branch = "Odd"    ' )
     PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
-    Switch,EndOfSwitch = GraphSwitchCheckBranch1.SNode( 'Switch' , PySwitch )
+    Switch,EndOfSwitch = GraphSwitchCheckBranch1_1.SNode( 'Switch' , PySwitch )
     EndOfSwitch.SetName( 'EndOfSwitch' )
     EndOfSwitch.SetAuthor( '' )
     EndOfSwitch.SetComment( 'Compute Node' )
-    EndOfSwitch.Coords( 882 , 194 )
+    EndOfSwitch.Coords( 880 , 216 )
     PyEndOfSwitch = []
     PyEndOfSwitch.append( 'from time import * ' )
     PyEndOfSwitch.append( 'def EndOfSwitch(a,Branch) : ' )
@@ -158,39 +173,50 @@ def DefGraphSwitchCheckBranch1() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndOfSwitcha = GraphSwitchCheckBranch1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha = GraphSwitchCheckBranch1_1.Link( OIsOdda , IEndOfSwitcha )
     
-    LIsEvenaEndOfSwitcha = GraphSwitchCheckBranch1.Link( OIsEvena , IEndOfSwitcha )
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckBranch1_1.Link( OIsEvena , IEndOfSwitcha )
     
-    LBranchNodeBranchEndOfSwitchBranch = GraphSwitchCheckBranch1.Link( OBranchNodeBranch , IEndOfSwitchBranch )
+    LBranchNodeBranchEndOfSwitchBranch = GraphSwitchCheckBranch1_1.Link( OBranchNodeBranch , IEndOfSwitchBranch )
     
-    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckBranch1.Link( OInitLoopSwitchIndex , ISwitcha )
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckBranch1_1.Link( OInitLoopSwitchIndex , ISwitcha )
     
-    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckBranch1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckBranch1_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
     
-    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckBranch1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckBranch1_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
     
-    LSwitchOddIsOddGate = GraphSwitchCheckBranch1.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphSwitchCheckBranch1_1.Link( OSwitchOdd , IIsOddGate )
     LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
     LSwitchOddIsOddGate.AddCoord( 2 , 401 , 188 )
     
-    LSwitchEvenIsEvenGate = GraphSwitchCheckBranch1.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate = GraphSwitchCheckBranch1_1.Link( OSwitchEven , IIsEvenGate )
     LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
     LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 208 )
     
-    LSwitchaIsOdda = GraphSwitchCheckBranch1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphSwitchCheckBranch1_1.Link( OSwitcha , IIsOdda )
     LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
     LSwitchaIsOdda.AddCoord( 2 , 382 , 229 )
     
-    LSwitchaIsEvena = GraphSwitchCheckBranch1.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena = GraphSwitchCheckBranch1_1.Link( OSwitcha , IIsEvena )
     LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
     LSwitchaIsEvena.AddCoord( 2 , 381 , 229 )
     
-    LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch1.Link( OSwitchBranch , IBranchNodeBranch )
+    LSwitchadefaulta = GraphSwitchCheckBranch1_1.Link( OSwitcha , Idefaulta )
+    LSwitchadefaulta.AddCoord( 1 , 382 , 377 )
+    LSwitchadefaulta.AddCoord( 2 , 382 , 228 )
+    
+    LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch1_1.Link( OSwitchBranch , IBranchNodeBranch )
+    
+    LSwitchdefaultdefaultGate = GraphSwitchCheckBranch1_1.Link( OSwitchdefault , IdefaultGate )
+    LSwitchdefaultdefaultGate.AddCoord( 1 , 410 , 403 )
+    LSwitchdefaultdefaultGate.AddCoord( 2 , 410 , 269 )
+    LSwitchdefaultdefaultGate.AddCoord( 3 , 410 , 268 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckBranch1_1.Link( OSwitchDefault , IEndOfSwitchDefault )
     
-    LSwitchdefaultEndOfSwitchDefault = GraphSwitchCheckBranch1.Link( OSwitchdefault , IEndOfSwitchDefault )
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch1_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
-    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    LdefaultaEndOfSwitcha = GraphSwitchCheckBranch1_1.Link( Odefaulta , IEndOfSwitcha )
     
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
@@ -201,7 +227,7 @@ def DefGraphSwitchCheckBranch1() :
     #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
     #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
     #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
-    return GraphSwitchCheckBranch1
+    return GraphSwitchCheckBranch1_1
 
 
-GraphSwitchCheckBranch1 = DefGraphSwitchCheckBranch1()
+GraphSwitchCheckBranch1_1 = DefGraphSwitchCheckBranch1_1()
index 98a29771f03592d935d80d653c2f3b6fbd02c9dc..b851b508e6a56c87514600aad13048c40d391624 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSwitchCheckBranch1</node-name>
+    <node-name>GraphSwitchCheckBranch1_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphSwitchCheckBranch1</service-name>
+<service-name>GraphSwitchCheckBranch1_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -33,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>13/1/2005 - 11:48:50</creation-date>
-    <lastmodification-date>19/1/2005 - 17:18:17</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -66,8 +66,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
@@ -99,8 +99,8 @@
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "Print ",Branch  ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>604</x-position>
-    <y-position>149</y-position>   </node>
+    <x-position>529</x-position>
+    <y-position>177</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>1074</x-position>
-    <y-position>194</y-position>   </node>
+    <x-position>1073</x-position>
+    <y-position>216</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[    else :    ]]></PyFunc>
       <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:7:48</creation-date>
-    <lastmodification-date>19/1/2005 - 17:7:48</lastmodification-date>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>882</x-position>
-    <y-position>194</y-position>   </node>  </node-list>
+    <x-position>880</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>default</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>default</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def default(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:43:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:43:59</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>308</y-position>   </node>  </node-list>
   <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
 <x>381</x>
       <y>229</y>     </coord>    </coord-list>   </link>
    <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>377</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>228</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>Branch</fromserviceparameter-name>
     <tonode-name>BranchNode</tonode-name>
    <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>410</x>
+      <y>403</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>269</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>268</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
     <tonode-name>EndOfSwitch</tonode-name>
     <toserviceparameter-name>Default</toserviceparameter-name>
     <coord-list/>   </link>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndOfInitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>default</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSwitchCheckBranch1</fromnode-name>
+<fromnode-name>GraphSwitchCheckBranch1_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckBranch1</fromnode-name>
+<fromnode-name>GraphSwitchCheckBranch1_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>-5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckBranch1</fromnode-name>
+<fromnode-name>GraphSwitchCheckBranch1_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
diff --git a/examples/GraphSwitchCheckBranch1Default.py b/examples/GraphSwitchCheckBranch1Default.py
new file mode 100644 (file)
index 0000000..c6b7aac
--- /dev/null
@@ -0,0 +1,236 @@
+
+# Generated python file of Graph GraphSwitchCheckBranch1Default
+
+from SuperV import *
+
+# Graph creation of GraphSwitchCheckBranch1Default
+def DefGraphSwitchCheckBranch1Default() :
+    GraphSwitchCheckBranch1Default = Graph( 'GraphSwitchCheckBranch1Default' )
+    GraphSwitchCheckBranch1Default.SetName( 'GraphSwitchCheckBranch1Default' )
+    GraphSwitchCheckBranch1Default.SetAuthor( 'JR' )
+    GraphSwitchCheckBranch1Default.SetComment( 'Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch' )
+    GraphSwitchCheckBranch1Default.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchCheckBranch1Default.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 415 , 7 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphSwitchCheckBranch1Default.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 421 , 438 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyBranchNode = []
+    PyBranchNode.append( 'from time import *  ' )
+    PyBranchNode.append( 'def Print_1(Branch) :      ' )
+    PyBranchNode.append( '    print "Print ",Branch  ' )
+    PyBranchNode.append( '    sleep(1)  ' )
+    PyBranchNode.append( '    return Branch      ' )
+    BranchNode = GraphSwitchCheckBranch1Default.INode( 'Print_1' , PyBranchNode )
+    BranchNode.SetName( 'BranchNode' )
+    BranchNode.SetAuthor( '' )
+    BranchNode.SetComment( 'Compute Node' )
+    BranchNode.Coords( 529 , 177 )
+    IBranchNodeBranch = BranchNode.InPort( 'Branch' , 'string' )
+    IBranchNodeGate = BranchNode.GetInPort( 'Gate' )
+    OBranchNodeBranch = BranchNode.OutPort( 'Branch' , 'string' )
+    OBranchNodeGate = BranchNode.GetOutPort( 'Gate' )
+    
+    Pydefault = []
+    Pydefault.append( 'from time import * ' )
+    Pydefault.append( 'def default(a) : ' )
+    Pydefault.append( '    sleep(1) ' )
+    Pydefault.append( '    return a  ' )
+    default = GraphSwitchCheckBranch1Default.INode( 'default' , Pydefault )
+    default.SetName( 'default' )
+    default.SetAuthor( '' )
+    default.SetComment( 'Compute Node' )
+    default.Coords( 428 , 308 )
+    Idefaulta = default.InPort( 'a' , 'long' )
+    IdefaultGate = default.GetInPort( 'Gate' )
+    Odefaulta = default.OutPort( 'a' , 'long' )
+    OdefaultGate = default.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
+    PyInitLoopSwitch.append( ' Index = Max  ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max       ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'from time import * ' )
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
+    PyMoreInitLoopSwitch.append( '     sleep(1)  ' )
+    PyMoreInitLoopSwitch.append( '     if Index >= Min :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1       ' )
+    PyMoreInitLoopSwitch.append( '     else :       ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0       ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max       ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
+    PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckBranch1Default.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 1073 , 216 )
+    PyEndOfInitLoopSwitch = []
+    PyEndOfInitLoopSwitch.append( 'from time import *  ' )
+    PyEndOfInitLoopSwitch.append( 'def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ' )
+    PyEndOfInitLoopSwitch.append( '    sleep(1)  ' )
+    PyEndOfInitLoopSwitch.append( '    return DoLoop,Index,Min,Max  ' )
+    EndOfInitLoopSwitch.SetPyFunction( 'EndOfInitLoopSwitch' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 157 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *         ' )
+    PySwitch.append( 'def Switch(a) :  ' )
+    PySwitch.append( '    sleep(1)  ' )
+    PySwitch.append( '    Branch = "Negative or null"     ' )
+    PySwitch.append( '    if a <= 0 : ' )
+    PySwitch.append( '        if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '            return 0,0,a,Branch,1 ' )
+    PySwitch.append( '        else : ' )
+    PySwitch.append( '            return 0,0,a,Branch,0 ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :     ' )
+    PySwitch.append( '        Branch = "Even"     ' )
+    PySwitch.append( '    else :     ' )
+    PySwitch.append( '        Branch = "Odd"     ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0   ' )
+    Switch,EndOfSwitch = GraphSwitchCheckBranch1Default.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 880 , 216 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'from time import * ' )
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Branch) : ' )
+    PyEndOfSwitch.append( '    sleep(1) ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchBranch = EndOfSwitch.InPort( 'Branch' , 'string' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 157 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchBranch = Switch.OutPort( 'Branch' , 'string' )
+    OSwitchdefault = Switch.OutPort( 'default' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchCheckBranch1Default.Link( OIsOdda , IEndOfSwitcha )
+    
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckBranch1Default.Link( OIsEvena , IEndOfSwitcha )
+    
+    LBranchNodeBranchEndOfSwitchBranch = GraphSwitchCheckBranch1Default.Link( OBranchNodeBranch , IEndOfSwitchBranch )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckBranch1Default.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckBranch1Default.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckBranch1Default.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCheckBranch1Default.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
+    LSwitchOddIsOddGate.AddCoord( 2 , 401 , 188 )
+    
+    LSwitchEvenIsEvenGate = GraphSwitchCheckBranch1Default.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
+    LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 208 )
+    
+    LSwitchaIsOdda = GraphSwitchCheckBranch1Default.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
+    LSwitchaIsOdda.AddCoord( 2 , 382 , 229 )
+    
+    LSwitchaIsEvena = GraphSwitchCheckBranch1Default.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
+    LSwitchaIsEvena.AddCoord( 2 , 381 , 229 )
+    
+    LSwitchadefaulta = GraphSwitchCheckBranch1Default.Link( OSwitcha , Idefaulta )
+    LSwitchadefaulta.AddCoord( 1 , 382 , 377 )
+    LSwitchadefaulta.AddCoord( 2 , 382 , 228 )
+    
+    LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch1Default.Link( OSwitchBranch , IBranchNodeBranch )
+    
+    LSwitchdefaultdefaultGate = GraphSwitchCheckBranch1Default.Link( OSwitchdefault , IdefaultGate )
+    LSwitchdefaultdefaultGate.AddCoord( 1 , 410 , 403 )
+    LSwitchdefaultdefaultGate.AddCoord( 2 , 410 , 269 )
+    LSwitchdefaultdefaultGate.AddCoord( 3 , 410 , 268 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckBranch1Default.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch1Default.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LdefaultaEndOfSwitcha = GraphSwitchCheckBranch1Default.Link( Odefaulta , IEndOfSwitcha )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( -5 )
+    IInitLoopSwitchMax.Input( 10 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    return GraphSwitchCheckBranch1Default
+
+
+GraphSwitchCheckBranch1Default = DefGraphSwitchCheckBranch1Default()
diff --git a/examples/GraphSwitchCheckBranch1Default.xml b/examples/GraphSwitchCheckBranch1Default.xml
new file mode 100644 (file)
index 0000000..106bb26
--- /dev/null
@@ -0,0 +1,541 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchCheckBranch1Default</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchCheckBranch1Default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>13/1/2005 - 11:48:50</creation-date>
+    <lastmodification-date>8/7/2005 - 14:42:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>415</x-position>
+    <y-position>7</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>421</x-position>
+    <y-position>438</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>BranchNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>BranchNode</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Print_1</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Print_1(Branch) :      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Print ",Branch  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>529</x-position>
+    <y-position>177</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :        ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max  ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :     ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>EndOfInitLoopSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1073</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *         ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    Branch = "Negative or null"     ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[            return 0,0,a,Branch,1 ]]></PyFunc>
+      <PyFunc><![CDATA[        else : ]]></PyFunc>
+      <PyFunc><![CDATA[            return 0,0,a,Branch,0 ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Even"     ]]></PyFunc>
+      <PyFunc><![CDATA[    else :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Odd"     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>880</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>default</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>default</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def default(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:41:7</creation-date>
+    <lastmodification-date>8/7/2005 - 14:41:7</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>308</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>401</x>
+      <y>101</y>     </coord>
+     <coord>
+<x>401</x>
+      <y>188</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>392</x>
+      <y>533</y>     </coord>
+     <coord>
+<x>392</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>229</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>381</x>
+      <y>509</y>     </coord>
+     <coord>
+<x>381</x>
+      <y>229</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>377</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>228</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>BranchNode</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>410</x>
+      <y>403</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>269</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>268</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>default</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchCheckBranch1Default</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch1Default</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch1Default</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>10</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchCheckBranch1NoDefault.py b/examples/GraphSwitchCheckBranch1NoDefault.py
new file mode 100644 (file)
index 0000000..ad682c6
--- /dev/null
@@ -0,0 +1,231 @@
+
+# Generated python file of Graph GraphSwitchCheckBranch1NoDefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchCheckBranch1NoDefault
+def DefGraphSwitchCheckBranch1NoDefault() :
+    GraphSwitchCheckBranch1NoDefault = Graph( 'GraphSwitchCheckBranch1NoDefault' )
+    GraphSwitchCheckBranch1NoDefault.SetName( 'GraphSwitchCheckBranch1NoDefault' )
+    GraphSwitchCheckBranch1NoDefault.SetAuthor( 'JR' )
+    GraphSwitchCheckBranch1NoDefault.SetComment( 'Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch' )
+    GraphSwitchCheckBranch1NoDefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchCheckBranch1NoDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 415 , 7 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphSwitchCheckBranch1NoDefault.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 421 , 438 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyBranchNode = []
+    PyBranchNode.append( 'from time import *  ' )
+    PyBranchNode.append( 'def Print_1(Branch) :      ' )
+    PyBranchNode.append( '    print "Print ",Branch  ' )
+    PyBranchNode.append( '    sleep(1)  ' )
+    PyBranchNode.append( '    return Branch      ' )
+    BranchNode = GraphSwitchCheckBranch1NoDefault.INode( 'Print_1' , PyBranchNode )
+    BranchNode.SetName( 'BranchNode' )
+    BranchNode.SetAuthor( '' )
+    BranchNode.SetComment( 'Compute Node' )
+    BranchNode.Coords( 529 , 177 )
+    IBranchNodeBranch = BranchNode.InPort( 'Branch' , 'string' )
+    IBranchNodeGate = BranchNode.GetInPort( 'Gate' )
+    OBranchNodeBranch = BranchNode.OutPort( 'Branch' , 'string' )
+    OBranchNodeGate = BranchNode.GetOutPort( 'Gate' )
+    
+    Pydefault = []
+    Pydefault.append( 'from time import * ' )
+    Pydefault.append( 'def default(a) : ' )
+    Pydefault.append( '    sleep(1) ' )
+    Pydefault.append( '    return a  ' )
+    default = GraphSwitchCheckBranch1NoDefault.INode( 'default' , Pydefault )
+    default.SetName( 'default' )
+    default.SetAuthor( '' )
+    default.SetComment( 'Compute Node' )
+    default.Coords( 428 , 308 )
+    Idefaulta = default.InPort( 'a' , 'long' )
+    IdefaultGate = default.GetInPort( 'Gate' )
+    Odefaulta = default.OutPort( 'a' , 'long' )
+    OdefaultGate = default.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
+    PyInitLoopSwitch.append( ' Index = Max  ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max       ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'from time import * ' )
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
+    PyMoreInitLoopSwitch.append( '     sleep(1)  ' )
+    PyMoreInitLoopSwitch.append( '     if Index >= Min :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1       ' )
+    PyMoreInitLoopSwitch.append( '     else :       ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0       ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max       ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
+    PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckBranch1NoDefault.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 1073 , 216 )
+    PyEndOfInitLoopSwitch = []
+    PyEndOfInitLoopSwitch.append( 'from time import *  ' )
+    PyEndOfInitLoopSwitch.append( 'def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ' )
+    PyEndOfInitLoopSwitch.append( '    sleep(1)  ' )
+    PyEndOfInitLoopSwitch.append( '    return DoLoop,Index,Min,Max  ' )
+    EndOfInitLoopSwitch.SetPyFunction( 'EndOfInitLoopSwitch' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 157 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *        ' )
+    PySwitch.append( 'def Switch(a) : ' )
+    PySwitch.append( '    sleep(1) ' )
+    PySwitch.append( '    Branch = "Negative or null"    ' )
+    PySwitch.append( '    if a <= 0 :       ' )
+    PySwitch.append( '        return 0,0,a,Branch,1  ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :    ' )
+    PySwitch.append( '        Branch = "Even"    ' )
+    PySwitch.append( '    else :    ' )
+    PySwitch.append( '        Branch = "Odd"    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
+    Switch,EndOfSwitch = GraphSwitchCheckBranch1NoDefault.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 880 , 216 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'from time import * ' )
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Branch) : ' )
+    PyEndOfSwitch.append( '    sleep(1) ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchBranch = EndOfSwitch.InPort( 'Branch' , 'string' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 157 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchBranch = Switch.OutPort( 'Branch' , 'string' )
+    OSwitchdefault = Switch.OutPort( 'default' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchCheckBranch1NoDefault.Link( OIsOdda , IEndOfSwitcha )
+    
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckBranch1NoDefault.Link( OIsEvena , IEndOfSwitcha )
+    
+    LBranchNodeBranchEndOfSwitchBranch = GraphSwitchCheckBranch1NoDefault.Link( OBranchNodeBranch , IEndOfSwitchBranch )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckBranch1NoDefault.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckBranch1NoDefault.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckBranch1NoDefault.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCheckBranch1NoDefault.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
+    LSwitchOddIsOddGate.AddCoord( 2 , 401 , 188 )
+    
+    LSwitchEvenIsEvenGate = GraphSwitchCheckBranch1NoDefault.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
+    LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 208 )
+    
+    LSwitchaIsOdda = GraphSwitchCheckBranch1NoDefault.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
+    LSwitchaIsOdda.AddCoord( 2 , 382 , 229 )
+    
+    LSwitchaIsEvena = GraphSwitchCheckBranch1NoDefault.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
+    LSwitchaIsEvena.AddCoord( 2 , 381 , 229 )
+    
+    LSwitchadefaulta = GraphSwitchCheckBranch1NoDefault.Link( OSwitcha , Idefaulta )
+    LSwitchadefaulta.AddCoord( 1 , 382 , 377 )
+    LSwitchadefaulta.AddCoord( 2 , 382 , 228 )
+    
+    LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch1NoDefault.Link( OSwitchBranch , IBranchNodeBranch )
+    
+    LSwitchdefaultdefaultGate = GraphSwitchCheckBranch1NoDefault.Link( OSwitchdefault , IdefaultGate )
+    LSwitchdefaultdefaultGate.AddCoord( 1 , 410 , 403 )
+    LSwitchdefaultdefaultGate.AddCoord( 2 , 410 , 269 )
+    LSwitchdefaultdefaultGate.AddCoord( 3 , 410 , 268 )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch1NoDefault.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LdefaultaEndOfSwitcha = GraphSwitchCheckBranch1NoDefault.Link( Odefaulta , IEndOfSwitcha )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( -5 )
+    IInitLoopSwitchMax.Input( 10 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    return GraphSwitchCheckBranch1NoDefault
+
+
+GraphSwitchCheckBranch1NoDefault = DefGraphSwitchCheckBranch1NoDefault()
diff --git a/examples/GraphSwitchCheckBranch1NoDefault.xml b/examples/GraphSwitchCheckBranch1NoDefault.xml
new file mode 100644 (file)
index 0000000..dbc5326
--- /dev/null
@@ -0,0 +1,532 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchCheckBranch1NoDefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchCheckBranch1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>13/1/2005 - 11:48:50</creation-date>
+    <lastmodification-date>14/2/2005 - 11:39:30</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>415</x-position>
+    <y-position>7</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>421</x-position>
+    <y-position>438</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>BranchNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>BranchNode</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Print_1</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Print_1(Branch) :      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Print ",Branch  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>529</x-position>
+    <y-position>177</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :        ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max  ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :     ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>EndOfInitLoopSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1073</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *        ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    Branch = "Negative or null"    ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :       ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,a,Branch,1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Even"    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>880</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>default</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>default</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def default(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 11:36:28</creation-date>
+    <lastmodification-date>14/2/2005 - 11:36:28</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>308</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>401</x>
+      <y>101</y>     </coord>
+     <coord>
+<x>401</x>
+      <y>188</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>392</x>
+      <y>533</y>     </coord>
+     <coord>
+<x>392</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>229</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>381</x>
+      <y>509</y>     </coord>
+     <coord>
+<x>381</x>
+      <y>229</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>377</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>228</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>BranchNode</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>410</x>
+      <y>403</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>269</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>268</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>default</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchCheckBranch1NoDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch1NoDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch1NoDefault</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>10</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchCheckBranch2NOTValid.py b/examples/GraphSwitchCheckBranch2NOTValid.py
new file mode 100644 (file)
index 0000000..ee9fb64
--- /dev/null
@@ -0,0 +1,237 @@
+
+# Generated python file of Graph GraphSwitchCheckBranch2NOTValid
+
+from SuperV import *
+
+# Graph creation of GraphSwitchCheckBranch2NOTValid
+def DefGraphSwitchCheckBranch2NOTValid() :
+    GraphSwitchCheckBranch2NOTValid = Graph( 'GraphSwitchCheckBranch2NOTValid' )
+    GraphSwitchCheckBranch2NOTValid.SetName( 'GraphSwitchCheckBranch2NOTValid' )
+    GraphSwitchCheckBranch2NOTValid.SetAuthor( 'JR' )
+    GraphSwitchCheckBranch2NOTValid.SetComment( 'Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch
+Shared Node between Branches' )
+    GraphSwitchCheckBranch2NOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *    ' )
+    PyIsOdd.append( 'def IsOdd(aBranch) :        ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"       ' )
+    PyIsOdd.append( '    sleep( 1 )    ' )
+    PyIsOdd.append( '    return a      ' )
+    IsOdd = GraphSwitchCheckBranch2NOTValid.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 649 , 6 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddBranch = IsOdd.InPort( 'Branch' , 'string' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *     ' )
+    PyIsEven.append( 'def IsEven(aBranch) :         ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"        ' )
+    PyIsEven.append( '    sleep( 1 )     ' )
+    PyIsEven.append( '    return a       ' )
+    IsEven = GraphSwitchCheckBranch2NOTValid.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 657 , 451 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenBranch = IsEven.InPort( 'Branch' , 'string' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyBranchNode = []
+    PyBranchNode.append( 'from time import *  ' )
+    PyBranchNode.append( 'def Print_1(Branch) :      ' )
+    PyBranchNode.append( '    print "Print ",Branch  ' )
+    PyBranchNode.append( '    sleep(1)  ' )
+    PyBranchNode.append( '    return Branch      ' )
+    BranchNode = GraphSwitchCheckBranch2NOTValid.INode( 'Print_1' , PyBranchNode )
+    BranchNode.SetName( 'BranchNode' )
+    BranchNode.SetAuthor( '' )
+    BranchNode.SetComment( 'Compute Node' )
+    BranchNode.Coords( 429 , 177 )
+    IBranchNodeBranch = BranchNode.InPort( 'Branch' , 'string' )
+    IBranchNodeGate = BranchNode.GetInPort( 'Gate' )
+    OBranchNodeBranch = BranchNode.OutPort( 'Branch' , 'string' )
+    OBranchNodeGate = BranchNode.GetOutPort( 'Gate' )
+    
+    Pydefault = []
+    Pydefault.append( 'from time import *  ' )
+    Pydefault.append( 'def default(a,Branch) :  ' )
+    Pydefault.append( '    sleep(1)  ' )
+    Pydefault.append( '    return a   ' )
+    default = GraphSwitchCheckBranch2NOTValid.INode( 'default' , Pydefault )
+    default.SetName( 'default' )
+    default.SetAuthor( '' )
+    default.SetComment( 'Compute Node' )
+    default.Coords( 655 , 306 )
+    Idefaulta = default.InPort( 'a' , 'long' )
+    IdefaultBranch = default.InPort( 'Branch' , 'string' )
+    IdefaultGate = default.GetInPort( 'Gate' )
+    Odefaulta = default.OutPort( 'a' , 'long' )
+    OdefaultGate = default.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
+    PyInitLoopSwitch.append( ' Index = Max  ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max       ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'from time import * ' )
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
+    PyMoreInitLoopSwitch.append( '     sleep(1)  ' )
+    PyMoreInitLoopSwitch.append( '     if Index >= Min :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1       ' )
+    PyMoreInitLoopSwitch.append( '     else :       ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0       ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max       ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
+    PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckBranch2NOTValid.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 1073 , 216 )
+    PyEndOfInitLoopSwitch = []
+    PyEndOfInitLoopSwitch.append( 'from time import *  ' )
+    PyEndOfInitLoopSwitch.append( 'def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ' )
+    PyEndOfInitLoopSwitch.append( '    sleep(1)  ' )
+    PyEndOfInitLoopSwitch.append( '    return DoLoop,Index,Min,Max  ' )
+    EndOfInitLoopSwitch.SetPyFunction( 'EndOfInitLoopSwitch' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 157 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *        ' )
+    PySwitch.append( 'def Switch(a) : ' )
+    PySwitch.append( '    sleep(1) ' )
+    PySwitch.append( '    Branch = "Negative or null"    ' )
+    PySwitch.append( '    if a <= 0 :       ' )
+    PySwitch.append( '        return 0,0,a,Branch,1  ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :    ' )
+    PySwitch.append( '        Branch = "Even"    ' )
+    PySwitch.append( '    else :    ' )
+    PySwitch.append( '        Branch = "Odd"    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
+    Switch,EndOfSwitch = GraphSwitchCheckBranch2NOTValid.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 880 , 216 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'from time import * ' )
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Branch) : ' )
+    PyEndOfSwitch.append( '    sleep(1) ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchBranch = EndOfSwitch.InPort( 'Branch' , 'string' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 157 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchBranch = Switch.OutPort( 'Branch' , 'string' )
+    OSwitchdefault = Switch.OutPort( 'default' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchCheckBranch2NOTValid.Link( OIsOdda , IEndOfSwitcha )
+    
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckBranch2NOTValid.Link( OIsEvena , IEndOfSwitcha )
+    
+    LBranchNodeBranchEndOfSwitchBranch = GraphSwitchCheckBranch2NOTValid.Link( OBranchNodeBranch , IEndOfSwitchBranch )
+    
+    LBranchNodeBranchIsOddBranch = GraphSwitchCheckBranch2NOTValid.Link( OBranchNodeBranch , IIsOddBranch )
+    
+    LBranchNodeBranchdefaultBranch = GraphSwitchCheckBranch2NOTValid.Link( OBranchNodeBranch , IdefaultBranch )
+    
+    LBranchNodeBranchIsEvenBranch = GraphSwitchCheckBranch2NOTValid.Link( OBranchNodeBranch , IIsEvenBranch )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckBranch2NOTValid.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckBranch2NOTValid.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckBranch2NOTValid.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCheckBranch2NOTValid.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate.AddCoord( 1 , 400 , 121 )
+    LSwitchOddIsOddGate.AddCoord( 2 , 401 , 188 )
+    
+    LSwitchEvenIsEvenGate = GraphSwitchCheckBranch2NOTValid.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate.AddCoord( 1 , 391 , 568 )
+    LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 208 )
+    
+    LSwitchadefaulta = GraphSwitchCheckBranch2NOTValid.Link( OSwitcha , Idefaulta )
+    
+    LSwitchaIsEvena = GraphSwitchCheckBranch2NOTValid.Link( OSwitcha , IIsEvena )
+    
+    LSwitchaIsOdda = GraphSwitchCheckBranch2NOTValid.Link( OSwitcha , IIsOdda )
+    
+    LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch2NOTValid.Link( OSwitchBranch , IBranchNodeBranch )
+    
+    LSwitchdefaultdefaultGate = GraphSwitchCheckBranch2NOTValid.Link( OSwitchdefault , IdefaultGate )
+    LSwitchdefaultdefaultGate.AddCoord( 1 , 410 , 422 )
+    LSwitchdefaultdefaultGate.AddCoord( 2 , 410 , 269 )
+    LSwitchdefaultdefaultGate.AddCoord( 3 , 410 , 268 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckBranch2NOTValid.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch2NOTValid.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LdefaultaEndOfSwitcha = GraphSwitchCheckBranch2NOTValid.Link( Odefaulta , IEndOfSwitcha )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( -5 )
+    IInitLoopSwitchMax.Input( 10 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    return GraphSwitchCheckBranch2NOTValid
+
+
+GraphSwitchCheckBranch2NOTValid = DefGraphSwitchCheckBranch2NOTValid()
diff --git a/examples/GraphSwitchCheckBranch2NOTValid.xml b/examples/GraphSwitchCheckBranch2NOTValid.xml
new file mode 100644 (file)
index 0000000..0833676
--- /dev/null
@@ -0,0 +1,548 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchCheckBranch2NOTValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchCheckBranch2NOTValid</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>13/1/2005 - 11:48:50</creation-date>
+    <lastmodification-date>15/2/2005 - 11:47:4</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Switch with two SwitchBranches, One NotSwitchBranch and the DefaultBranch
+Shared Node between Branches</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(aBranch) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>649</x-position>
+    <y-position>6</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *     ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(aBranch) :         ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"        ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>657</x-position>
+    <y-position>451</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>BranchNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>BranchNode</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Print_1</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Print_1(Branch) :      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Print ",Branch  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>429</x-position>
+    <y-position>177</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :        ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max  ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :     ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>EndOfInitLoopSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1073</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *        ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    Branch = "Negative or null"    ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :       ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,a,Branch,1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Even"    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>157</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>880</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>default</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>default</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def default(a,Branch) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:42:57</creation-date>
+    <lastmodification-date>15/2/2005 - 11:42:57</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>655</x-position>
+    <y-position>306</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>BranchNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>400</x>
+      <y>121</y>     </coord>
+     <coord>
+<x>401</x>
+      <y>188</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>391</x>
+      <y>568</y>     </coord>
+     <coord>
+<x>392</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>BranchNode</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>default</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>410</x>
+      <y>422</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>269</y>     </coord>
+     <coord>
+<x>410</x>
+      <y>268</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>default</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchCheckBranch2NOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch2NOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckBranch2NOTValid</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>10</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 8232e3090d44745076150c392b5cfddd5931d1c1..d77e790e4649a16d461b20c81d7d46ab139794c6 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphSwitchCheckDefault
+# Generated python file of Graph GraphSwitchCheckDefault_1
 
 from SuperV import *
 
-# Graph creation of GraphSwitchCheckDefault
-def DefGraphSwitchCheckDefault() :
-    GraphSwitchCheckDefault = Graph( 'GraphSwitchCheckDefault' )
-    GraphSwitchCheckDefault.SetName( 'GraphSwitchCheckDefault' )
-    GraphSwitchCheckDefault.SetAuthor( 'JR' )
-    GraphSwitchCheckDefault.SetComment( '' )
-    GraphSwitchCheckDefault.Coords( 0 , 0 )
+# Graph creation of GraphSwitchCheckDefault_1
+def DefGraphSwitchCheckDefault_1() :
+    GraphSwitchCheckDefault_1 = Graph( 'GraphSwitchCheckDefault_1' )
+    GraphSwitchCheckDefault_1.SetName( 'GraphSwitchCheckDefault_1' )
+    GraphSwitchCheckDefault_1.SetAuthor( 'JR' )
+    GraphSwitchCheckDefault_1.SetComment( '' )
+    GraphSwitchCheckDefault_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,7 +20,7 @@ def DefGraphSwitchCheckDefault() :
     PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
     PyIsOdd.append( '    sleep( 1 )   ' )
     PyIsOdd.append( '    return a     ' )
-    IsOdd = GraphSwitchCheckDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphSwitchCheckDefault_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -36,7 +36,7 @@ def DefGraphSwitchCheckDefault() :
     PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
     PyIsEven.append( '    sleep( 1 )    ' )
     PyIsEven.append( '    return a      ' )
-    IsEven = GraphSwitchCheckDefault.INode( 'IsEven' , PyIsEven )
+    IsEven = GraphSwitchCheckDefault_1.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Compute Node' )
@@ -52,7 +52,7 @@ def DefGraphSwitchCheckDefault() :
     PyPrintOdd.append( '    print "Print ",a,Branch ' )
     PyPrintOdd.append( '    sleep(1) ' )
     PyPrintOdd.append( '    return Branch     ' )
-    PrintOdd = GraphSwitchCheckDefault.INode( 'Print' , PyPrintOdd )
+    PrintOdd = GraphSwitchCheckDefault_1.INode( 'Print' , PyPrintOdd )
     PrintOdd.SetName( 'PrintOdd' )
     PrintOdd.SetAuthor( '' )
     PrintOdd.SetComment( 'Compute Node' )
@@ -69,7 +69,7 @@ def DefGraphSwitchCheckDefault() :
     PyPrintEven.append( '    print "Print ",a,Branch ' )
     PyPrintEven.append( '    sleep(1) ' )
     PyPrintEven.append( '    return Branch     ' )
-    PrintEven = GraphSwitchCheckDefault.INode( 'Print_1' , PyPrintEven )
+    PrintEven = GraphSwitchCheckDefault_1.INode( 'Print_1' , PyPrintEven )
     PrintEven.SetName( 'PrintEven' )
     PrintEven.SetAuthor( '' )
     PrintEven.SetComment( 'Compute Node' )
@@ -85,7 +85,7 @@ def DefGraphSwitchCheckDefault() :
     PyEmptyNode.append( 'def EmptyNode(a,Branch) : ' )
     PyEmptyNode.append( '    sleep(1) ' )
     PyEmptyNode.append( '    return a,Branch  ' )
-    EmptyNode = GraphSwitchCheckDefault.INode( 'EmptyNode' , PyEmptyNode )
+    EmptyNode = GraphSwitchCheckDefault_1.INode( 'EmptyNode' , PyEmptyNode )
     EmptyNode.SetName( 'EmptyNode' )
     EmptyNode.SetAuthor( '' )
     EmptyNode.SetComment( 'Compute Node' )
@@ -97,23 +97,6 @@ def DefGraphSwitchCheckDefault() :
     OEmptyNodeBranch = EmptyNode.OutPort( 'Branch' , 'string' )
     OEmptyNodeGate = EmptyNode.GetOutPort( 'Gate' )
     
-    PyDefault = []
-    PyDefault.append( 'from time import * ' )
-    PyDefault.append( 'def Default(a,Branch) : ' )
-    PyDefault.append( '    sleep(1) ' )
-    PyDefault.append( '    return a,Branch ' )
-    Default = GraphSwitchCheckDefault.INode( 'Default' , PyDefault )
-    Default.SetName( 'Default' )
-    Default.SetAuthor( '' )
-    Default.SetComment( 'Compute Node' )
-    Default.Coords( 421 , 592 )
-    IDefaulta = Default.InPort( 'a' , 'long' )
-    IDefaultBranch = Default.InPort( 'Branch' , 'string' )
-    IDefaultGate = Default.GetInPort( 'Gate' )
-    ODefaulta = Default.OutPort( 'a' , 'long' )
-    ODefaultBranch = Default.OutPort( 'Branch' , 'string' )
-    ODefaultGate = Default.GetOutPort( 'Gate' )
-    
     # Creation of Loop Nodes
     PyInitLoopSwitch = []
     PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
@@ -132,7 +115,7 @@ def DefGraphSwitchCheckDefault() :
     PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
     PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
     PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
-    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckDefault.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckDefault_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
     EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
     EndOfInitLoopSwitch.SetAuthor( '' )
     EndOfInitLoopSwitch.SetComment( 'Compute Node' )
@@ -180,7 +163,7 @@ def DefGraphSwitchCheckDefault() :
     PySwitch.append( '    else :    ' )
     PySwitch.append( '        Branch = "Odd"    ' )
     PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
-    Switch,EndOfSwitch = GraphSwitchCheckDefault.SNode( 'Switch' , PySwitch )
+    Switch,EndOfSwitch = GraphSwitchCheckDefault_1.SNode( 'Switch' , PySwitch )
     EndOfSwitch.SetName( 'EndOfSwitch' )
     EndOfSwitch.SetAuthor( '' )
     EndOfSwitch.SetComment( 'Compute Node' )
@@ -210,78 +193,64 @@ def DefGraphSwitchCheckDefault() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEmptyNodea = GraphSwitchCheckDefault.Link( OIsOdda , IEmptyNodea )
+    LIsOddaEmptyNodea = GraphSwitchCheckDefault_1.Link( OIsOdda , IEmptyNodea )
     LIsOddaEmptyNodea.AddCoord( 1 , 646 , 78 )
     
-    LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault.Link( OIsEvena , IEndOfSwitcha )
-    
-    LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault.Link( OPrintOddBranch , IEmptyNodeBranch )
-    
-    LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault.Link( OPrintEvenBranch , IEndOfSwitchBranch )
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault_1.Link( OIsEvena , IEndOfSwitcha )
     
-    LEmptyNodeaEndOfSwitcha = GraphSwitchCheckDefault.Link( OEmptyNodea , IEndOfSwitcha )
+    LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault_1.Link( OPrintOddBranch , IEmptyNodeBranch )
     
-    LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckDefault.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
+    LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault_1.Link( OPrintEvenBranch , IEndOfSwitchBranch )
     
-    LDefaultaEndOfSwitcha = GraphSwitchCheckDefault.Link( ODefaulta , IEndOfSwitcha )
+    LEmptyNodeaEndOfSwitcha = GraphSwitchCheckDefault_1.Link( OEmptyNodea , IEndOfSwitcha )
     
-    LDefaultBranchEndOfSwitchBranch = GraphSwitchCheckDefault.Link( ODefaultBranch , IEndOfSwitchBranch )
+    LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckDefault_1.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
     
-    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckDefault.Link( OInitLoopSwitchIndex , ISwitcha )
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckDefault_1.Link( OInitLoopSwitchIndex , ISwitcha )
     
-    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckDefault.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckDefault_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
     
-    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckDefault.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckDefault_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
     
-    LSwitchOddIsOddGate = GraphSwitchCheckDefault.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphSwitchCheckDefault_1.Link( OSwitchOdd , IIsOddGate )
     LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
     LSwitchOddIsOddGate.AddCoord( 2 , 401 , 160 )
     
-    LSwitchOddPrintOddGate = GraphSwitchCheckDefault.Link( OSwitchOdd , IPrintOddGate )
+    LSwitchOddPrintOddGate = GraphSwitchCheckDefault_1.Link( OSwitchOdd , IPrintOddGate )
     LSwitchOddPrintOddGate.AddCoord( 1 , 401 , 245 )
     LSwitchOddPrintOddGate.AddCoord( 2 , 401 , 159 )
     
-    LSwitchEvenIsEvenGate = GraphSwitchCheckDefault.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate = GraphSwitchCheckDefault_1.Link( OSwitchEven , IIsEvenGate )
     LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
     LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 182 )
     
-    LSwitchEvenPrintEvenGate = GraphSwitchCheckDefault.Link( OSwitchEven , IPrintEvenGate )
+    LSwitchEvenPrintEvenGate = GraphSwitchCheckDefault_1.Link( OSwitchEven , IPrintEvenGate )
     LSwitchEvenPrintEvenGate.AddCoord( 1 , 392 , 403 )
     LSwitchEvenPrintEvenGate.AddCoord( 2 , 392 , 181 )
     
-    LSwitchaIsOdda = GraphSwitchCheckDefault.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphSwitchCheckDefault_1.Link( OSwitcha , IIsOdda )
     LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
     LSwitchaIsOdda.AddCoord( 2 , 382 , 199 )
     
-    LSwitchaIsEvena = GraphSwitchCheckDefault.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena = GraphSwitchCheckDefault_1.Link( OSwitcha , IIsEvena )
     LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
     LSwitchaIsEvena.AddCoord( 2 , 382 , 200 )
     
-    LSwitchaPrintOdda = GraphSwitchCheckDefault.Link( OSwitcha , IPrintOdda )
+    LSwitchaPrintOdda = GraphSwitchCheckDefault_1.Link( OSwitcha , IPrintOdda )
     
-    LSwitchaPrintEvena = GraphSwitchCheckDefault.Link( OSwitcha , IPrintEvena )
+    LSwitchaPrintEvena = GraphSwitchCheckDefault_1.Link( OSwitcha , IPrintEvena )
     LSwitchaPrintEvena.AddCoord( 1 , 381 , 361 )
     LSwitchaPrintEvena.AddCoord( 2 , 382 , 200 )
     
-    LSwitchaDefaulta = GraphSwitchCheckDefault.Link( OSwitcha , IDefaulta )
-    LSwitchaDefaulta.AddCoord( 1 , 382 , 663 )
-    LSwitchaDefaulta.AddCoord( 2 , 382 , 199 )
+    LSwitchBranchPrintOddBranch = GraphSwitchCheckDefault_1.Link( OSwitchBranch , IPrintOddBranch )
     
-    LSwitchBranchPrintOddBranch = GraphSwitchCheckDefault.Link( OSwitchBranch , IPrintOddBranch )
-    
-    LSwitchBranchPrintEvenBranch = GraphSwitchCheckDefault.Link( OSwitchBranch , IPrintEvenBranch )
+    LSwitchBranchPrintEvenBranch = GraphSwitchCheckDefault_1.Link( OSwitchBranch , IPrintEvenBranch )
     LSwitchBranchPrintEvenBranch.AddCoord( 1 , 369 , 381 )
     LSwitchBranchPrintEvenBranch.AddCoord( 2 , 369 , 219 )
     
-    LSwitchBranchDefaultBranch = GraphSwitchCheckDefault.Link( OSwitchBranch , IDefaultBranch )
-    LSwitchBranchDefaultBranch.AddCoord( 1 , 370 , 683 )
-    LSwitchBranchDefaultBranch.AddCoord( 2 , 370 , 220 )
-    
-    LSwitchDefaultDefaultGate = GraphSwitchCheckDefault.Link( OSwitchDefault , IDefaultGate )
-    LSwitchDefaultDefaultGate.AddCoord( 1 , 360 , 707 )
-    LSwitchDefaultDefaultGate.AddCoord( 2 , 360 , 263 )
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckDefault_1.Link( OSwitchDefault , IEndOfSwitchDefault )
     
-    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckDefault.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckDefault_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
@@ -293,7 +262,7 @@ def DefGraphSwitchCheckDefault() :
     #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
     #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
     #OSwitchdefault = Switch.GetOutPort( 'default' )
-    return GraphSwitchCheckDefault
+    return GraphSwitchCheckDefault_1
 
 
-GraphSwitchCheckDefault = DefGraphSwitchCheckDefault()
+GraphSwitchCheckDefault_1 = DefGraphSwitchCheckDefault_1()
index 81e7ab6219092a72fe15b1c32ae3b95f7b8f0a5a..0e92e72b17c952659ad0d0286d262a901aeae640 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSwitchCheckDefault</node-name>
+    <node-name>GraphSwitchCheckDefault_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphSwitchCheck_2</service-name>
+<service-name>GraphSwitchCheckDefault_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -36,7 +36,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>13/1/2005 - 12:21:43</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -69,8 +69,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EmptyNode(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Branch  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <x-position>652</x-position>
     <y-position>110</y-position>   </node>
    <node>
-<component-name>?</component-name>
-    <interface-name>?</interface-name>
-    <node-name>Default</node-name>
-    <kind>3</kind>
-    <coupled-node>?</coupled-node>
-    <service>
-<service-name>Default</service-name>
-     <inParameter-list>
-<inParameter>
-<inParameter-type>long</inParameter-type>
-       <inParameter-name>a</inParameter-name>      </inParameter>
-      <inParameter>
-<inParameter-type>string</inParameter-type>
-       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
-     <outParameter-list>
-<outParameter>
-<outParameter-type>long</outParameter-type>
-       <outParameter-name>a</outParameter-name>      </outParameter>
-      <outParameter>
-<outParameter-type>string</outParameter-type>
-       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
-    <DataStream-list/>
-    <PyFunction-list>
-<PyFunction>
-<FuncName>Default</FuncName>
-      <PyFunc><![CDATA[from time import * ]]></PyFunc>
-      <PyFunc><![CDATA[def Default(a,Branch) : ]]></PyFunc>
-      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
-      <PyFunc><![CDATA[    return a,Branch ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
-    <editor-release>2.0</editor-release>
-    <author>?</author>
-    <container>?</container>
-    <comment>Compute Node</comment>
-    <x-position>421</x-position>
-    <y-position>592</y-position>   </node>
-   <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
     <node-name>InitLoopSwitch</node-name>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    else :    ]]></PyFunc>
       <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>13/1/2005 - 12:23:17</creation-date>
-    <lastmodification-date>13/1/2005 - 12:23:17</lastmodification-date>
+    <creation-date>8/3/2005 - 16:47:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:47:4</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>Branch</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>Default</fromnode-name>
-    <fromserviceparameter-name>a</fromserviceparameter-name>
-    <tonode-name>EndOfSwitch</tonode-name>
-    <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
-<fromnode-name>Default</fromnode-name>
-    <fromserviceparameter-name>Branch</fromserviceparameter-name>
-    <tonode-name>EndOfSwitch</tonode-name>
-    <toserviceparameter-name>Branch</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
 <fromnode-name>InitLoopSwitch</fromnode-name>
     <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
     <tonode-name>EndOfInitLoopSwitch</tonode-name>
 <x>382</x>
       <y>200</y>     </coord>    </coord-list>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>a</fromserviceparameter-name>
-    <tonode-name>Default</tonode-name>
-    <toserviceparameter-name>a</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>382</x>
-      <y>663</y>     </coord>
-     <coord>
-<x>382</x>
-      <y>199</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>Branch</fromserviceparameter-name>
     <tonode-name>PrintOdd</tonode-name>
 <x>369</x>
       <y>219</y>     </coord>    </coord-list>   </link>
    <link>
-<fromnode-name>Switch</fromnode-name>
-    <fromserviceparameter-name>Branch</fromserviceparameter-name>
-    <tonode-name>Default</tonode-name>
-    <toserviceparameter-name>Branch</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>370</x>
-      <y>683</y>     </coord>
-     <coord>
-<x>370</x>
-      <y>220</y>     </coord>    </coord-list>   </link>
-   <link>
 <fromnode-name>Switch</fromnode-name>
     <fromserviceparameter-name>Default</fromserviceparameter-name>
-    <tonode-name>Default</tonode-name>
-    <toserviceparameter-name>Gate</toserviceparameter-name>
-    <coord-list>
-<coord>
-<x>360</x>
-      <y>707</y>     </coord>
-     <coord>
-<x>360</x>
-      <y>263</y>     </coord>    </coord-list>   </link>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>EndOfSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSwitchCheckDefault</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckDefault</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>-5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckDefault</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
index a94310f3bb9f74f9eb4243fc68ec233ee01da413..794350cc5147f61345633f3514bb705d1a4f2b5e 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphSwitchCheckDefault2NOTValid2
+# Generated python file of Graph GraphSwitchCheckDefault2NOTValid2_1
 
 from SuperV import *
 
-# Graph creation of GraphSwitchCheckDefault2NOTValid2
-def DefGraphSwitchCheckDefault2NOTValid2() :
-    GraphSwitchCheckDefault2NOTValid2 = Graph( 'GraphSwitchCheckDefault2NOTValid2' )
-    GraphSwitchCheckDefault2NOTValid2.SetName( 'GraphSwitchCheckDefault2NOTValid2' )
-    GraphSwitchCheckDefault2NOTValid2.SetAuthor( 'JR' )
-    GraphSwitchCheckDefault2NOTValid2.SetComment( '' )
-    GraphSwitchCheckDefault2NOTValid2.Coords( 0 , 0 )
+# Graph creation of GraphSwitchCheckDefault2NOTValid2_1
+def DefGraphSwitchCheckDefault2NOTValid2_1() :
+    GraphSwitchCheckDefault2NOTValid2_1 = Graph( 'GraphSwitchCheckDefault2NOTValid2_1' )
+    GraphSwitchCheckDefault2NOTValid2_1.SetName( 'GraphSwitchCheckDefault2NOTValid2_1' )
+    GraphSwitchCheckDefault2NOTValid2_1.SetAuthor( 'JR' )
+    GraphSwitchCheckDefault2NOTValid2_1.SetComment( '' )
+    GraphSwitchCheckDefault2NOTValid2_1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,7 +20,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
     PyIsOdd.append( '    sleep( 1 )   ' )
     PyIsOdd.append( '    return a     ' )
-    IsOdd = GraphSwitchCheckDefault2NOTValid2.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphSwitchCheckDefault2NOTValid2_1.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -36,7 +36,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
     PyIsEven.append( '    sleep( 1 )    ' )
     PyIsEven.append( '    return a      ' )
-    IsEven = GraphSwitchCheckDefault2NOTValid2.INode( 'IsEven' , PyIsEven )
+    IsEven = GraphSwitchCheckDefault2NOTValid2_1.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Compute Node' )
@@ -52,7 +52,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyPrintOdd.append( '    print "Print ",a,Branch ' )
     PyPrintOdd.append( '    sleep(1) ' )
     PyPrintOdd.append( '    return Branch     ' )
-    PrintOdd = GraphSwitchCheckDefault2NOTValid2.INode( 'Print' , PyPrintOdd )
+    PrintOdd = GraphSwitchCheckDefault2NOTValid2_1.INode( 'Print' , PyPrintOdd )
     PrintOdd.SetName( 'PrintOdd' )
     PrintOdd.SetAuthor( '' )
     PrintOdd.SetComment( 'Compute Node' )
@@ -69,7 +69,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyPrintEven.append( '    print "Print ",a,Branch ' )
     PyPrintEven.append( '    sleep(1) ' )
     PyPrintEven.append( '    return Branch     ' )
-    PrintEven = GraphSwitchCheckDefault2NOTValid2.INode( 'Print_1' , PyPrintEven )
+    PrintEven = GraphSwitchCheckDefault2NOTValid2_1.INode( 'Print_1' , PyPrintEven )
     PrintEven.SetName( 'PrintEven' )
     PrintEven.SetAuthor( '' )
     PrintEven.SetComment( 'Compute Node' )
@@ -85,7 +85,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyEmptyNode.append( 'def EmptyNode(a,Branch) : ' )
     PyEmptyNode.append( '    sleep(1) ' )
     PyEmptyNode.append( '    return a,Branch  ' )
-    EmptyNode = GraphSwitchCheckDefault2NOTValid2.INode( 'EmptyNode' , PyEmptyNode )
+    EmptyNode = GraphSwitchCheckDefault2NOTValid2_1.INode( 'EmptyNode' , PyEmptyNode )
     EmptyNode.SetName( 'EmptyNode' )
     EmptyNode.SetAuthor( '' )
     EmptyNode.SetComment( 'Compute Node' )
@@ -102,7 +102,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyDefault.append( 'def Default(a,Branch) : ' )
     PyDefault.append( '    sleep(1) ' )
     PyDefault.append( '    return a,Branch ' )
-    Default = GraphSwitchCheckDefault2NOTValid2.INode( 'Default' , PyDefault )
+    Default = GraphSwitchCheckDefault2NOTValid2_1.INode( 'Default' , PyDefault )
     Default.SetName( 'Default' )
     Default.SetAuthor( '' )
     Default.SetComment( 'Compute Node' )
@@ -119,11 +119,11 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyPuta.append( 'def Puta(a) : ' )
     PyPuta.append( '    sleep(1) ' )
     PyPuta.append( '    return a ' )
-    Puta = GraphSwitchCheckDefault2NOTValid2.INode( 'Puta' , PyPuta )
+    Puta = GraphSwitchCheckDefault2NOTValid2_1.INode( 'Puta' , PyPuta )
     Puta.SetName( 'Puta' )
     Puta.SetAuthor( '' )
     Puta.SetComment( 'Compute Node' )
-    Puta.Coords( 665 , 486 )
+    Puta.Coords( 653 , 414 )
     IPutaa = Puta.InPort( 'a' , 'long' )
     IPutaGate = Puta.GetInPort( 'Gate' )
     OPutaa = Puta.OutPort( 'a' , 'long' )
@@ -134,7 +134,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyPutBranch.append( 'def PutBranch(Branch) : ' )
     PyPutBranch.append( '    sleep(1) ' )
     PyPutBranch.append( '    return Branch ' )
-    PutBranch = GraphSwitchCheckDefault2NOTValid2.INode( 'PutBranch' , PyPutBranch )
+    PutBranch = GraphSwitchCheckDefault2NOTValid2_1.INode( 'PutBranch' , PyPutBranch )
     PutBranch.SetName( 'PutBranch' )
     PutBranch.SetAuthor( '' )
     PutBranch.SetComment( 'Compute Node' )
@@ -162,7 +162,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
     PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
     PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
-    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckDefault2NOTValid2.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckDefault2NOTValid2_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
     EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
     EndOfInitLoopSwitch.SetAuthor( '' )
     EndOfInitLoopSwitch.SetComment( 'Compute Node' )
@@ -210,7 +210,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     PySwitch.append( '    else :    ' )
     PySwitch.append( '        Branch = "Odd"    ' )
     PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
-    Switch,EndOfSwitch = GraphSwitchCheckDefault2NOTValid2.SNode( 'Switch' , PySwitch )
+    Switch,EndOfSwitch = GraphSwitchCheckDefault2NOTValid2_1.SNode( 'Switch' , PySwitch )
     EndOfSwitch.SetName( 'EndOfSwitch' )
     EndOfSwitch.SetAuthor( '' )
     EndOfSwitch.SetComment( 'Compute Node' )
@@ -240,82 +240,88 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEmptyNodea = GraphSwitchCheckDefault2NOTValid2.Link( OIsOdda , IEmptyNodea )
+    LIsOddaEmptyNodea = GraphSwitchCheckDefault2NOTValid2_1.Link( OIsOdda , IEmptyNodea )
     LIsOddaEmptyNodea.AddCoord( 1 , 646 , 78 )
     
-    LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OIsEvena , IEndOfSwitcha )
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2_1.Link( OIsEvena , IEndOfSwitcha )
     
-    LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault2NOTValid2.Link( OPrintOddBranch , IEmptyNodeBranch )
+    LIsEvenaPutaa = GraphSwitchCheckDefault2NOTValid2_1.Link( OIsEvena , IPutaa )
     
-    LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( OPrintEvenBranch , IEndOfSwitchBranch )
+    LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OPrintOddBranch , IEmptyNodeBranch )
     
-    LEmptyNodeaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OEmptyNodea , IEndOfSwitcha )
+    LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OPrintEvenBranch , IEndOfSwitchBranch )
     
-    LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
+    LEmptyNodeaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2_1.Link( OEmptyNodea , IEndOfSwitcha )
     
-    LDefaultaPutaa = GraphSwitchCheckDefault2NOTValid2.Link( ODefaulta , IPutaa )
+    LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
     
-    LDefaultBranchPutBranchBranch = GraphSwitchCheckDefault2NOTValid2.Link( ODefaultBranch , IPutBranchBranch )
+    LDefaultaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2_1.Link( ODefaulta , IEndOfSwitcha )
     
-    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OInitLoopSwitchIndex , ISwitcha )
+    LDefaultBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( ODefaultBranch , IEndOfSwitchBranch )
     
-    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckDefault2NOTValid2.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    LDefaultBranchPutBranchBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( ODefaultBranch , IPutBranchBranch )
     
-    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckDefault2NOTValid2.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckDefault2NOTValid2_1.Link( OInitLoopSwitchIndex , ISwitcha )
     
-    LSwitchOddIsOddGate = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchOdd , IIsOddGate )
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckDefault2NOTValid2_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckDefault2NOTValid2_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchOdd , IIsOddGate )
     LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
     LSwitchOddIsOddGate.AddCoord( 2 , 401 , 160 )
     
-    LSwitchOddPrintOddGate = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchOdd , IPrintOddGate )
+    LSwitchOddPrintOddGate = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchOdd , IPrintOddGate )
     LSwitchOddPrintOddGate.AddCoord( 1 , 401 , 245 )
     LSwitchOddPrintOddGate.AddCoord( 2 , 401 , 159 )
     
-    LSwitchEvenIsEvenGate = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchEven , IIsEvenGate )
     LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
     LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 182 )
     
-    LSwitchEvenPrintEvenGate = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchEven , IPrintEvenGate )
+    LSwitchEvenPrintEvenGate = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchEven , IPrintEvenGate )
     LSwitchEvenPrintEvenGate.AddCoord( 1 , 392 , 403 )
     LSwitchEvenPrintEvenGate.AddCoord( 2 , 392 , 181 )
     
-    LSwitchaIsOdda = GraphSwitchCheckDefault2NOTValid2.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitcha , IIsOdda )
     LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
     LSwitchaIsOdda.AddCoord( 2 , 382 , 199 )
     
-    LSwitchaIsEvena = GraphSwitchCheckDefault2NOTValid2.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitcha , IIsEvena )
     LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
     LSwitchaIsEvena.AddCoord( 2 , 382 , 200 )
     
-    LSwitchaPrintOdda = GraphSwitchCheckDefault2NOTValid2.Link( OSwitcha , IPrintOdda )
+    LSwitchaPrintOdda = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitcha , IPrintOdda )
     
-    LSwitchaPrintEvena = GraphSwitchCheckDefault2NOTValid2.Link( OSwitcha , IPrintEvena )
+    LSwitchaPrintEvena = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitcha , IPrintEvena )
     LSwitchaPrintEvena.AddCoord( 1 , 381 , 361 )
     LSwitchaPrintEvena.AddCoord( 2 , 382 , 200 )
     
-    LSwitchaDefaulta = GraphSwitchCheckDefault2NOTValid2.Link( OSwitcha , IDefaulta )
+    LSwitchaDefaulta = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitcha , IDefaulta )
     LSwitchaDefaulta.AddCoord( 1 , 382 , 663 )
     LSwitchaDefaulta.AddCoord( 2 , 382 , 199 )
     
-    LSwitchBranchPrintOddBranch = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchBranch , IPrintOddBranch )
+    LSwitchBranchPrintOddBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchBranch , IPrintOddBranch )
     
-    LSwitchBranchPrintEvenBranch = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchBranch , IPrintEvenBranch )
+    LSwitchBranchPrintEvenBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchBranch , IPrintEvenBranch )
     LSwitchBranchPrintEvenBranch.AddCoord( 1 , 369 , 381 )
     LSwitchBranchPrintEvenBranch.AddCoord( 2 , 369 , 219 )
     
-    LSwitchBranchDefaultBranch = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchBranch , IDefaultBranch )
+    LSwitchBranchDefaultBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchBranch , IDefaultBranch )
     LSwitchBranchDefaultBranch.AddCoord( 1 , 370 , 683 )
     LSwitchBranchDefaultBranch.AddCoord( 2 , 370 , 220 )
     
-    LSwitchdefaultDefaultGate = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchdefault , IDefaultGate )
+    LSwitchdefaultDefaultGate = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchdefault , IDefaultGate )
     LSwitchdefaultDefaultGate.AddCoord( 1 , 363 , 707 )
     LSwitchdefaultDefaultGate.AddCoord( 2 , 362 , 239 )
     
-    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckDefault2NOTValid2.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckDefault2NOTValid2_1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckDefault2NOTValid2_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
-    LPutaaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OPutaa , IEndOfSwitcha )
+    LPutaaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2_1.Link( OPutaa , IEndOfSwitcha )
     
-    LPutBranchBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( OPutBranchBranch , IEndOfSwitchBranch )
+    LPutBranchBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2_1.Link( OPutBranchBranch , IEndOfSwitchBranch )
     
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
@@ -326,7 +332,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
     #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
     #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
-    return GraphSwitchCheckDefault2NOTValid2
+    return GraphSwitchCheckDefault2NOTValid2_1
 
 
-GraphSwitchCheckDefault2NOTValid2 = DefGraphSwitchCheckDefault2NOTValid2()
+GraphSwitchCheckDefault2NOTValid2_1 = DefGraphSwitchCheckDefault2NOTValid2_1()
index f628cd053478d809050903cdda57225d309d3cc0..b97732b8326ca578cbf4eb19e079b47e0653d830 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSwitchCheckDefault2NOTValid2</node-name>
+    <node-name>GraphSwitchCheckDefault2NOTValid2_1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphSwitchCheckDefault2NOTValid2</service-name>
+<service-name>GraphSwitchCheckDefault2NOTValid2_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -33,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>13/1/2005 - 12:21:43</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -66,8 +66,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
@@ -99,8 +99,8 @@
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EmptyNode(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Branch  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def Default(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Branch ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
       <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    else :    ]]></PyFunc>
       <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def Puta(a) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>665</x-position>
-    <y-position>486</y-position>   </node>
+    <x-position>653</x-position>
+    <y-position>414</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[def PutBranch(Branch) : ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
       <PyFunc><![CDATA[    return Branch ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 12:17:7</creation-date>
-    <lastmodification-date>19/1/2005 - 12:17:7</lastmodification-date>
+    <creation-date>8/3/2005 - 16:55:59</creation-date>
+    <lastmodification-date>8/3/2005 - 16:55:59</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Puta</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>PrintOdd</fromnode-name>
     <fromserviceparameter-name>Branch</fromserviceparameter-name>
     <tonode-name>EmptyNode</tonode-name>
    <link>
 <fromnode-name>Default</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
-    <tonode-name>Puta</tonode-name>
+    <tonode-name>EndOfSwitch</tonode-name>
     <toserviceparameter-name>a</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
+<fromnode-name>Default</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Default</fromnode-name>
     <fromserviceparameter-name>Branch</fromserviceparameter-name>
     <tonode-name>PutBranch</tonode-name>
 <x>362</x>
       <y>239</y>     </coord>    </coord-list>   </link>
    <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfSwitch</fromnode-name>
     <fromserviceparameter-name>a</fromserviceparameter-name>
     <tonode-name>EndOfInitLoopSwitch</tonode-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSwitchCheckDefault2NOTValid2</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault2NOTValid2_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckDefault2NOTValid2</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault2NOTValid2_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>-5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitchCheckDefault2NOTValid2</fromnode-name>
+<fromnode-name>GraphSwitchCheckDefault2NOTValid2_1</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
diff --git a/examples/GraphSwitchCheckNoDefault2.py b/examples/GraphSwitchCheckNoDefault2.py
new file mode 100644 (file)
index 0000000..55ee62f
--- /dev/null
@@ -0,0 +1,332 @@
+
+# Generated python file of Graph GraphSwitchCheckNoDefault2
+
+from SuperV import *
+
+# Graph creation of GraphSwitchCheckNoDefault2
+def DefGraphSwitchCheckNoDefault2() :
+    GraphSwitchCheckNoDefault2 = Graph( 'GraphSwitchCheckNoDefault2' )
+    GraphSwitchCheckNoDefault2.SetName( 'GraphSwitchCheckNoDefault2' )
+    GraphSwitchCheckNoDefault2.SetAuthor( 'JR' )
+    GraphSwitchCheckNoDefault2.SetComment( '' )
+    GraphSwitchCheckNoDefault2.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchCheckNoDefault2.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 415 , 7 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import *    ' )
+    PyIsEven.append( 'def IsEven(a) :        ' )
+    PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
+    PyIsEven.append( '    sleep( 1 )    ' )
+    PyIsEven.append( '    return a      ' )
+    IsEven = GraphSwitchCheckNoDefault2.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 421 , 438 )
+    IIsEvena = IsEven.InPort( 'a' , 'long' )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvena = IsEven.OutPort( 'a' , 'long' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PyPrintOdd = []
+    PyPrintOdd.append( 'from time import * ' )
+    PyPrintOdd.append( 'def Print(a,Branch) :     ' )
+    PyPrintOdd.append( '    print "Print ",a,Branch ' )
+    PyPrintOdd.append( '    sleep(1) ' )
+    PyPrintOdd.append( '    return Branch     ' )
+    PrintOdd = GraphSwitchCheckNoDefault2.INode( 'Print' , PyPrintOdd )
+    PrintOdd.SetName( 'PrintOdd' )
+    PrintOdd.SetAuthor( '' )
+    PrintOdd.SetComment( 'Compute Node' )
+    PrintOdd.Coords( 415 , 130 )
+    IPrintOdda = PrintOdd.InPort( 'a' , 'long' )
+    IPrintOddBranch = PrintOdd.InPort( 'Branch' , 'string' )
+    IPrintOddGate = PrintOdd.GetInPort( 'Gate' )
+    OPrintOddBranch = PrintOdd.OutPort( 'Branch' , 'string' )
+    OPrintOddGate = PrintOdd.GetOutPort( 'Gate' )
+    
+    PyPrintEven = []
+    PyPrintEven.append( 'from time import * ' )
+    PyPrintEven.append( 'def Print_1(a,Branch) :     ' )
+    PyPrintEven.append( '    print "Print ",a,Branch ' )
+    PyPrintEven.append( '    sleep(1) ' )
+    PyPrintEven.append( '    return Branch     ' )
+    PrintEven = GraphSwitchCheckNoDefault2.INode( 'Print_1' , PyPrintEven )
+    PrintEven.SetName( 'PrintEven' )
+    PrintEven.SetAuthor( '' )
+    PrintEven.SetComment( 'Compute Node' )
+    PrintEven.Coords( 423 , 289 )
+    IPrintEvena = PrintEven.InPort( 'a' , 'long' )
+    IPrintEvenBranch = PrintEven.InPort( 'Branch' , 'string' )
+    IPrintEvenGate = PrintEven.GetInPort( 'Gate' )
+    OPrintEvenBranch = PrintEven.OutPort( 'Branch' , 'string' )
+    OPrintEvenGate = PrintEven.GetOutPort( 'Gate' )
+    
+    PyEmptyNode = []
+    PyEmptyNode.append( 'from time import * ' )
+    PyEmptyNode.append( 'def EmptyNode(a,Branch) : ' )
+    PyEmptyNode.append( '    sleep(1) ' )
+    PyEmptyNode.append( '    return a,Branch  ' )
+    EmptyNode = GraphSwitchCheckNoDefault2.INode( 'EmptyNode' , PyEmptyNode )
+    EmptyNode.SetName( 'EmptyNode' )
+    EmptyNode.SetAuthor( '' )
+    EmptyNode.SetComment( 'Compute Node' )
+    EmptyNode.Coords( 652 , 110 )
+    IEmptyNodea = EmptyNode.InPort( 'a' , 'long' )
+    IEmptyNodeBranch = EmptyNode.InPort( 'Branch' , 'string' )
+    IEmptyNodeGate = EmptyNode.GetInPort( 'Gate' )
+    OEmptyNodea = EmptyNode.OutPort( 'a' , 'long' )
+    OEmptyNodeBranch = EmptyNode.OutPort( 'Branch' , 'string' )
+    OEmptyNodeGate = EmptyNode.GetOutPort( 'Gate' )
+    
+    PyDefault = []
+    PyDefault.append( 'from time import * ' )
+    PyDefault.append( 'def Default(a,Branch) : ' )
+    PyDefault.append( '    sleep(1) ' )
+    PyDefault.append( '    return a,Branch ' )
+    Default = GraphSwitchCheckNoDefault2.INode( 'Default' , PyDefault )
+    Default.SetName( 'Default' )
+    Default.SetAuthor( '' )
+    Default.SetComment( 'Compute Node' )
+    Default.Coords( 421 , 592 )
+    IDefaulta = Default.InPort( 'a' , 'long' )
+    IDefaultBranch = Default.InPort( 'Branch' , 'string' )
+    IDefaultGate = Default.GetInPort( 'Gate' )
+    ODefaulta = Default.OutPort( 'a' , 'long' )
+    ODefaultBranch = Default.OutPort( 'Branch' , 'string' )
+    ODefaultGate = Default.GetOutPort( 'Gate' )
+    
+    PyPuta = []
+    PyPuta.append( 'from time import * ' )
+    PyPuta.append( 'def Puta(a) : ' )
+    PyPuta.append( '    sleep(1) ' )
+    PyPuta.append( '    return a ' )
+    Puta = GraphSwitchCheckNoDefault2.INode( 'Puta' , PyPuta )
+    Puta.SetName( 'Puta' )
+    Puta.SetAuthor( '' )
+    Puta.SetComment( 'Compute Node' )
+    Puta.Coords( 665 , 486 )
+    IPutaa = Puta.InPort( 'a' , 'long' )
+    IPutaGate = Puta.GetInPort( 'Gate' )
+    OPutaa = Puta.OutPort( 'a' , 'long' )
+    OPutaGate = Puta.GetOutPort( 'Gate' )
+    
+    PyPutBranch = []
+    PyPutBranch.append( 'from time import * ' )
+    PyPutBranch.append( 'def PutBranch(Branch) : ' )
+    PyPutBranch.append( '    sleep(1) ' )
+    PyPutBranch.append( '    return Branch ' )
+    PutBranch = GraphSwitchCheckNoDefault2.INode( 'PutBranch' , PyPutBranch )
+    PutBranch.SetName( 'PutBranch' )
+    PutBranch.SetAuthor( '' )
+    PutBranch.SetComment( 'Compute Node' )
+    PutBranch.Coords( 662 , 613 )
+    IPutBranchBranch = PutBranch.InPort( 'Branch' , 'string' )
+    IPutBranchGate = PutBranch.GetInPort( 'Gate' )
+    OPutBranchBranch = PutBranch.OutPort( 'Branch' , 'string' )
+    OPutBranchGate = PutBranch.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :        ' )
+    PyInitLoopSwitch.append( ' Index = Max  ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max       ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'from time import * ' )
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) : ' )
+    PyMoreInitLoopSwitch.append( '     sleep(1)  ' )
+    PyMoreInitLoopSwitch.append( '     if Index >= Min :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1       ' )
+    PyMoreInitLoopSwitch.append( '     else :       ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0       ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max       ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :       ' )
+    PyNextInitLoopSwitch.append( '     Index = Index - 1       ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max       ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCheckNoDefault2.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 1074 , 194 )
+    PyEndOfInitLoopSwitch = []
+    PyEndOfInitLoopSwitch.append( 'from time import *  ' )
+    PyEndOfInitLoopSwitch.append( 'def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ' )
+    PyEndOfInitLoopSwitch.append( '    sleep(1)  ' )
+    PyEndOfInitLoopSwitch.append( '    return DoLoop,Index,Min,Max  ' )
+    EndOfInitLoopSwitch.SetPyFunction( 'EndOfInitLoopSwitch' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *        ' )
+    PySwitch.append( 'def Switch(a) : ' )
+    PySwitch.append( '    sleep(1) ' )
+    PySwitch.append( '    Branch = "Negative or null"    ' )
+    PySwitch.append( '    if a <= 0 :       ' )
+    PySwitch.append( '        return 0,0,a,Branch,1  ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :    ' )
+    PySwitch.append( '        Branch = "Even"    ' )
+    PySwitch.append( '    else :    ' )
+    PySwitch.append( '        Branch = "Odd"    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0  ' )
+    Switch,EndOfSwitch = GraphSwitchCheckNoDefault2.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 882 , 194 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'from time import * ' )
+    PyEndOfSwitch.append( 'def EndOfSwitch(a,Branch) : ' )
+    PyEndOfSwitch.append( '    sleep(1) ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchBranch = EndOfSwitch.InPort( 'Branch' , 'string' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 190 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchBranch = Switch.OutPort( 'Branch' , 'string' )
+    OSwitchdefault = Switch.OutPort( 'default' , 'boolean' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEmptyNodea = GraphSwitchCheckNoDefault2.Link( OIsOdda , IEmptyNodea )
+    LIsOddaEmptyNodea.AddCoord( 1 , 646 , 78 )
+    
+    LIsEvenaEndOfSwitcha = GraphSwitchCheckNoDefault2.Link( OIsEvena , IEndOfSwitcha )
+    
+    LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckNoDefault2.Link( OPrintOddBranch , IEmptyNodeBranch )
+    
+    LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckNoDefault2.Link( OPrintEvenBranch , IEndOfSwitchBranch )
+    
+    LEmptyNodeaEndOfSwitcha = GraphSwitchCheckNoDefault2.Link( OEmptyNodea , IEndOfSwitcha )
+    
+    LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckNoDefault2.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
+    
+    LDefaultaPutaa = GraphSwitchCheckNoDefault2.Link( ODefaulta , IPutaa )
+    
+    LDefaultBranchPutBranchBranch = GraphSwitchCheckNoDefault2.Link( ODefaultBranch , IPutBranchBranch )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCheckNoDefault2.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCheckNoDefault2.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCheckNoDefault2.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCheckNoDefault2.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate.AddCoord( 1 , 401 , 101 )
+    LSwitchOddIsOddGate.AddCoord( 2 , 401 , 160 )
+    
+    LSwitchOddPrintOddGate = GraphSwitchCheckNoDefault2.Link( OSwitchOdd , IPrintOddGate )
+    LSwitchOddPrintOddGate.AddCoord( 1 , 401 , 245 )
+    LSwitchOddPrintOddGate.AddCoord( 2 , 401 , 159 )
+    
+    LSwitchEvenIsEvenGate = GraphSwitchCheckNoDefault2.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate.AddCoord( 1 , 392 , 533 )
+    LSwitchEvenIsEvenGate.AddCoord( 2 , 392 , 182 )
+    
+    LSwitchEvenPrintEvenGate = GraphSwitchCheckNoDefault2.Link( OSwitchEven , IPrintEvenGate )
+    LSwitchEvenPrintEvenGate.AddCoord( 1 , 392 , 403 )
+    LSwitchEvenPrintEvenGate.AddCoord( 2 , 392 , 181 )
+    
+    LSwitchaIsOdda = GraphSwitchCheckNoDefault2.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 382 , 78 )
+    LSwitchaIsOdda.AddCoord( 2 , 382 , 199 )
+    
+    LSwitchaIsEvena = GraphSwitchCheckNoDefault2.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
+    LSwitchaIsEvena.AddCoord( 2 , 382 , 200 )
+    
+    LSwitchaPrintOdda = GraphSwitchCheckNoDefault2.Link( OSwitcha , IPrintOdda )
+    
+    LSwitchaPrintEvena = GraphSwitchCheckNoDefault2.Link( OSwitcha , IPrintEvena )
+    LSwitchaPrintEvena.AddCoord( 1 , 381 , 361 )
+    LSwitchaPrintEvena.AddCoord( 2 , 382 , 200 )
+    
+    LSwitchaDefaulta = GraphSwitchCheckNoDefault2.Link( OSwitcha , IDefaulta )
+    LSwitchaDefaulta.AddCoord( 1 , 382 , 663 )
+    LSwitchaDefaulta.AddCoord( 2 , 382 , 199 )
+    
+    LSwitchBranchPrintOddBranch = GraphSwitchCheckNoDefault2.Link( OSwitchBranch , IPrintOddBranch )
+    
+    LSwitchBranchPrintEvenBranch = GraphSwitchCheckNoDefault2.Link( OSwitchBranch , IPrintEvenBranch )
+    LSwitchBranchPrintEvenBranch.AddCoord( 1 , 369 , 381 )
+    LSwitchBranchPrintEvenBranch.AddCoord( 2 , 369 , 219 )
+    
+    LSwitchBranchDefaultBranch = GraphSwitchCheckNoDefault2.Link( OSwitchBranch , IDefaultBranch )
+    LSwitchBranchDefaultBranch.AddCoord( 1 , 370 , 683 )
+    LSwitchBranchDefaultBranch.AddCoord( 2 , 370 , 220 )
+    
+    LSwitchdefaultDefaultGate = GraphSwitchCheckNoDefault2.Link( OSwitchdefault , IDefaultGate )
+    LSwitchdefaultDefaultGate.AddCoord( 1 , 363 , 707 )
+    LSwitchdefaultDefaultGate.AddCoord( 2 , 362 , 239 )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckNoDefault2.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LPutaaEndOfSwitcha = GraphSwitchCheckNoDefault2.Link( OPutaa , IEndOfSwitcha )
+    
+    LPutBranchBranchEndOfSwitchBranch = GraphSwitchCheckNoDefault2.Link( OPutBranchBranch , IEndOfSwitchBranch )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( -5 )
+    IInitLoopSwitchMax.Input( 10 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    return GraphSwitchCheckNoDefault2
+
+
+GraphSwitchCheckNoDefault2 = DefGraphSwitchCheckNoDefault2()
diff --git a/examples/GraphSwitchCheckNoDefault2.xml b/examples/GraphSwitchCheckNoDefault2.xml
new file mode 100644 (file)
index 0000000..d7ccd5e
--- /dev/null
@@ -0,0 +1,781 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchCheckNoDefault2</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchCheckDefault2NOTValid2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>13/1/2005 - 12:21:43</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>415</x-position>
+    <y-position>7</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven(a) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>421</x-position>
+    <y-position>438</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PrintOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PrintOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Print</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Print(a,Branch) :     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>415</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PrintEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PrintEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Print_1</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Print_1(a,Branch) :     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Print ",a,Branch ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>423</x-position>
+    <y-position>289</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EmptyNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>EmptyNode</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EmptyNode</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EmptyNode(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Branch  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>652</x-position>
+    <y-position>110</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Default</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Default</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Default</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Default(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,Branch ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>421</x-position>
+    <y-position>592</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :        ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Max  ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index >= Min :     ]]></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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index - 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max       ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>EndOfInitLoopSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Min,Max  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1074</x-position>
+    <y-position>194</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>boolean</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *        ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    Branch = "Negative or null"    ]]></PyFunc>
+      <PyFunc><![CDATA[    if a <= 0 :       ]]></PyFunc>
+      <PyFunc><![CDATA[        return 0,0,a,Branch,1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Even"    ]]></PyFunc>
+      <PyFunc><![CDATA[    else :    ]]></PyFunc>
+      <PyFunc><![CDATA[        Branch = "Odd"    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>190</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>882</x-position>
+    <y-position>194</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Puta</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Puta</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Puta</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Puta(a) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>665</x-position>
+    <y-position>486</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>PutBranch</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>PutBranch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+       <inParameter-name>Branch</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+       <outParameter-name>Branch</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>PutBranch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def PutBranch(Branch) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return Branch ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>14/2/2005 - 14:13:3</creation-date>
+    <lastmodification-date>14/2/2005 - 14:13:3</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>662</x-position>
+    <y-position>613</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EmptyNode</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>646</x>
+      <y>78</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PrintOdd</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EmptyNode</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PrintEven</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EmptyNode</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EmptyNode</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Default</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Puta</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Default</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>PutBranch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>401</x>
+      <y>101</y>     </coord>
+     <coord>
+<x>401</x>
+      <y>160</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>PrintOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>401</x>
+      <y>245</y>     </coord>
+     <coord>
+<x>401</x>
+      <y>159</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>392</x>
+      <y>533</y>     </coord>
+     <coord>
+<x>392</x>
+      <y>182</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>PrintEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>392</x>
+      <y>403</y>     </coord>
+     <coord>
+<x>392</x>
+      <y>181</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>199</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>381</x>
+      <y>509</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>200</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>PrintOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>PrintEven</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>381</x>
+      <y>361</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>200</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Default</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>382</x>
+      <y>663</y>     </coord>
+     <coord>
+<x>382</x>
+      <y>199</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>PrintOdd</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>PrintEven</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>369</x>
+      <y>381</y>     </coord>
+     <coord>
+<x>369</x>
+      <y>219</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>Default</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>370</x>
+      <y>683</y>     </coord>
+     <coord>
+<x>370</x>
+      <y>220</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>Default</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>363</x>
+      <y>707</y>     </coord>
+     <coord>
+<x>362</x>
+      <y>239</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Puta</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>PutBranch</fromnode-name>
+    <fromserviceparameter-name>Branch</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Branch</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchCheckNoDefault2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckNoDefault2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCheckNoDefault2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>10</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index f22827a1af1c1bd3d78bac6af0eddfe054c13fac..59443ba24682aba899dc91f68af06deeeca889fb 100755 (executable)
 
-# Generated python file of Graph GraphSwitchCrash
+# Generated python file of Graph GraphSwitchCrash_1
 
 from SuperV import *
-# Graph creation 
-GraphSwitchCrash = Graph( 'GraphSwitchCrash' )
-GraphSwitchCrash.SetName( 'GraphSwitchCrash' )
-GraphSwitchCrash.SetAuthor( '' )
-GraphSwitchCrash.SetComment( '' )
-GraphSwitchCrash.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
+# Graph creation of GraphSwitchCrash_1
+def DefGraphSwitchCrash_1() :
+    GraphSwitchCrash_1 = Graph( 'GraphSwitchCrash_1' )
+    GraphSwitchCrash_1.SetName( 'GraphSwitchCrash_1' )
+    GraphSwitchCrash_1.SetAuthor( '' )
+    GraphSwitchCrash_1.SetComment( '' )
+    GraphSwitchCrash_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (IsOdd)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchCrash_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 387 , 58 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsOdd_1 = []
+    PyIsOdd_1.append( 'from time import *    ' )
+    PyIsOdd_1.append( 'def IsOdd(a,Even) :        ' )
+    PyIsOdd_1.append( '    print a,"IsOdd (IsOdd_1)"       ' )
+    PyIsOdd_1.append( '    sleep( 1 )    ' )
+    PyIsOdd_1.append( '    return a      ' )
+    IsOdd_1 = GraphSwitchCrash_1.INode( 'IsOdd' , PyIsOdd_1 )
+    IsOdd_1.SetName( 'IsOdd_1' )
+    IsOdd_1.SetAuthor( '' )
+    IsOdd_1.SetComment( 'Python function' )
+    IsOdd_1.Coords( 417 , 287 )
+    IIsOdd_1a = IsOdd_1.InPort( 'a' , 'long' )
+    IIsOdd_1Even = IsOdd_1.InPort( 'Even' , 'boolean' )
+    IIsOdd_1Gate = IsOdd_1.GetInPort( 'Gate' )
+    OIsOdd_1a = IsOdd_1.OutPort( 'a' , 'long' )
+    OIsOdd_1Gate = IsOdd_1.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCrash_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 766 , 127 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoop.append( '       return Index,Min,Max     ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoop.append( '   if Index <= Max :   ' )
+    PyMoreInitLoop.append( '           DoLoop = 1     ' )
+    PyMoreInitLoop.append( '   else :     ' )
+    PyMoreInitLoop.append( '           DoLoop = 0     ' )
+    PyMoreInitLoop.append( '   return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoop.append( '   Index = Index + 1     ' )
+    PyNextInitLoop.append( '   return Index,Min,Max     ' )
+    InitLoop,EndOfInitLoop = GraphSwitchCrash_1.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 783 , 381 )
+    PyEndOfInitLoop = []
+    EndOfInitLoop.SetPyFunction( '' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 388 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitchCrash_1.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 587 , 126 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 186 , 130 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    PySwitch_1 = []
+    PySwitch_1.append( 'from time import *  ' )
+    PySwitch_1.append( 'def Switch(a) :    ' )
+    PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch_1.append( '        sleep(1)  ' )
+    PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+    Switch_1,EndSwitch = GraphSwitchCrash_1.SNode( 'Switch' , PySwitch_1 )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 605 , 382 )
+    PyEndSwitch = []
+    EndSwitch.SetPyFunction( '' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch_1.SetName( 'Switch_1' )
+    Switch_1.SetAuthor( '' )
+    Switch_1.SetComment( 'Compute Node' )
+    Switch_1.Coords( 193 , 388 )
+    ISwitch_1a = Switch_1.InPort( 'a' , 'long' )
+    ISwitch_1Gate = Switch_1.GetInPort( 'Gate' )
+    OSwitch_1Odd = Switch_1.OutPort( 'Odd' , 'long' )
+    OSwitch_1Even = Switch_1.OutPort( 'Even' , 'int' )
+    OSwitch_1a = Switch_1.OutPort( 'a' , 'int' )
+    OSwitch_1Default = Switch_1.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchCrash_1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 572 , 157 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 572 , 130 )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchCrash_1.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchCrash_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchCrash_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchCrash_1.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitchCrash_1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 365 , 129 )
+    LSwitchaIsOdda.AddCoord( 2 , 365 , 201 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCrash_1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCrash_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    LIsOdd_1aEndSwitcha = GraphSwitchCrash_1.Link( OIsOdd_1a , IEndSwitcha )
+    LIsOdd_1aEndSwitcha.AddCoord( 1 , 593 , 411 )
+    LIsOdd_1aEndSwitcha.AddCoord( 2 , 593 , 358 )
+    
+    LInitLoopIndexSwitch_1a = GraphSwitchCrash_1.Link( OInitLoopIndex , ISwitch_1a )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphSwitchCrash_1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphSwitchCrash_1.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitch_1OddIsOdd_1Gate = GraphSwitchCrash_1.Link( OSwitch_1Odd , IIsOdd_1Gate )
+    
+    LSwitch_1EvenIsOdd_1Even = GraphSwitchCrash_1.Link( OSwitch_1Even , IIsOdd_1Even )
+    
+    LSwitch_1aIsOdd_1a = GraphSwitchCrash_1.Link( OSwitch_1a , IIsOdd_1a )
+    LSwitch_1aIsOdd_1a.AddCoord( 1 , 377 , 358 )
+    LSwitch_1aIsOdd_1a.AddCoord( 2 , 377 , 460 )
+    
+    LSwitch_1DefaultEndSwitchDefault = GraphSwitchCrash_1.Link( OSwitch_1Default , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphSwitchCrash_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 23 )
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    IInitLoopMax.Input( 31 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphSwitchCrash_1
 
-# Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'from time import *   ' )
-PyIsOdd.append( 'def IsOdd(a) :       ' )
-PyIsOdd.append( '    print a,"IsOdd (PyIsOdd)"      ' )
-PyIsOdd.append( '    sleep( 1 )   ' )
-PyIsOdd.append( '    return a     ' )
-IsOdd = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 388 , 50 )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
 
-PyIsOdd_1 = []
-PyIsOdd_1.append( 'from time import *    ' )
-PyIsOdd_1.append( 'def IsOdd(a,Even) :        ' )
-PyIsOdd_1.append( '    print a,"IsOdd (PyIsOdd_1)"       ' )
-PyIsOdd_1.append( '    sleep( 1 )    ' )
-PyIsOdd_1.append( '    return a      ' )
-IsOdd_1 = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd_1 )
-IsOdd_1.SetName( 'IsOdd_1' )
-IsOdd_1.SetAuthor( '' )
-IsOdd_1.SetComment( 'Python function' )
-IsOdd_1.Coords( 419 , 279 )
-IsOdd_1.InPort( 'a' , 'long' )
-IsOdd_1.InPort( 'Even' , 'boolean' )
-IsOdd_1.OutPort( 'a' , 'long' )
-
-# Creation of Loop Nodes
-PyInitLoopSwitch = []
-PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
-PyInitLoopSwitch.append( '     return Index,Min,Max     ' )
-PyMoreInitLoopSwitch = []
-PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
-PyMoreInitLoopSwitch.append( ' if Index <= Max :   ' )
-PyMoreInitLoopSwitch.append( '         DoLoop = 1     ' )
-PyMoreInitLoopSwitch.append( ' else :     ' )
-PyMoreInitLoopSwitch.append( '         DoLoop = 0     ' )
-PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max     ' )
-PyNextInitLoopSwitch = []
-PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
-PyNextInitLoopSwitch.append( ' Index = Index + 1     ' )
-PyNextInitLoopSwitch.append( ' return Index,Min,Max     ' )
-InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
-EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
-EndOfInitLoopSwitch.SetAuthor( '' )
-EndOfInitLoopSwitch.SetComment( '' )
-EndOfInitLoopSwitch.Coords( 766 , 127 )
-InitLoopSwitch.SetName( 'InitLoopSwitch' )
-InitLoopSwitch.SetAuthor( '' )
-InitLoopSwitch.SetComment( '' )
-InitLoopSwitch.Coords( 10 , 129 )
-InitLoopSwitch.InPort( 'Index' , 'long' )
-InitLoopSwitch.InPort( 'Min' , 'long' )
-InitLoopSwitch.InPort( 'Max' , 'long' )
-InitLoopSwitch.OutPort( 'Index' , 'long' )
-InitLoopSwitch.OutPort( 'Min' , 'long' )
-InitLoopSwitch.OutPort( 'Max' , 'long' )
-
-PyInitLoop = []
-PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
-PyInitLoop.append( '   return Index,Min,Max     ' )
-PyMoreInitLoop = []
-PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
-PyMoreInitLoop.append( '       if Index <= Max :   ' )
-PyMoreInitLoop.append( '               DoLoop = 1     ' )
-PyMoreInitLoop.append( '       else :     ' )
-PyMoreInitLoop.append( '               DoLoop = 0     ' )
-PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
-PyNextInitLoop = []
-PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
-PyNextInitLoop.append( '       Index = Index + 1     ' )
-PyNextInitLoop.append( '       return Index,Min,Max     ' )
-InitLoop,EndOfInitLoop = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
-EndOfInitLoop.SetName( 'EndOfInitLoop' )
-EndOfInitLoop.SetAuthor( '' )
-EndOfInitLoop.SetComment( '' )
-EndOfInitLoop.Coords( 783 , 381 )
-InitLoop.SetName( 'InitLoop' )
-InitLoop.SetAuthor( '' )
-InitLoop.SetComment( '' )
-InitLoop.Coords( 10 , 388 )
-InitLoop.InPort( 'Index' , 'long' )
-InitLoop.InPort( 'Min' , 'long' )
-InitLoop.InPort( 'Max' , 'long' )
-InitLoop.OutPort( 'Index' , 'long' )
-InitLoop.OutPort( 'Min' , 'long' )
-InitLoop.OutPort( 'Max' , 'long' )
-
-# Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'from time import * ' )
-PySwitch.append( 'def Switch(a) :   ' )
-PySwitch.append( '    if ( a & 1 ) == 0 : ' )
-PySwitch.append( '        sleep(1)    ' )
-PySwitch.append( '    return a & 1,1-(a&1),a    ' )
-Switch,EndOfSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch )
-EndOfSwitch.SetName( 'EndOfSwitch' )
-EndOfSwitch.SetAuthor( '' )
-EndOfSwitch.SetComment( '' )
-EndOfSwitch.Coords( 587 , 126 )
-PyEndOfSwitch = []
-EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
-EndOfSwitch.InPort( 'a' , 'long' )
-EndOfSwitch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 186 , 130 )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'Even' , 'int' )
-Switch.OutPort( 'a' , 'int' )
-
-PySwitch_1 = []
-PySwitch_1.append( 'from time import *  ' )
-PySwitch_1.append( 'def Switch(a) :    ' )
-PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
-PySwitch_1.append( '        sleep(1)  ' )
-PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
-Switch_1,EndSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch_1 )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 605 , 382 )
-PyEndSwitch = []
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch_1.SetName( 'Switch_1' )
-Switch_1.SetAuthor( '' )
-Switch_1.SetComment( '' )
-Switch_1.Coords( 193 , 388 )
-Switch_1.InPort( 'a' , 'long' )
-Switch_1.OutPort( 'Odd' , 'long' )
-Switch_1.OutPort( 'Even' , 'int' )
-Switch_1.OutPort( 'a' , 'int' )
-
-# Creation of Links
-IsOdda = IsOdd.Port( 'a' )
-EndOfSwitcha = GraphSwitchCrash.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
-EndOfSwitcha.AddCoord( 1 , 573 , 160 )
-EndOfSwitcha.AddCoord( 2 , 572 , 130 )
-
-InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
-Switcha = GraphSwitchCrash.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
-
-InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMin = GraphSwitchCrash.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
-
-InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
-EndOfInitLoopSwitchMax = GraphSwitchCrash.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
-
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphSwitchCrash.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphSwitchCrash.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 365 , 129 )
-IsOdda.AddCoord( 2 , 365 , 222 )
-
-SwitchDefault = Switch.Port( 'Default' )
-EndOfSwitchDefault = GraphSwitchCrash.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
-EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
-EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
-
-EndOfSwitcha = EndOfSwitch.Port( 'a' )
-EndOfInitLoopSwitchIndex = GraphSwitchCrash.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
-
-IsOdd_1a = IsOdd_1.Port( 'a' )
-EndSwitcha = GraphSwitchCrash.Link( IsOdd_1a , EndSwitch.Port( 'a' ) )
-EndSwitcha.AddCoord( 1 , 599 , 416 )
-EndSwitcha.AddCoord( 2 , 598 , 358 )
-
-InitLoopIndex = InitLoop.Port( 'Index' )
-Switch_1a = GraphSwitchCrash.Link( InitLoopIndex , Switch_1.Port( 'a' ) )
-
-InitLoopMin = InitLoop.Port( 'Min' )
-EndOfInitLoopMin = GraphSwitchCrash.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
-
-InitLoopMax = InitLoop.Port( 'Max' )
-EndOfInitLoopMax = GraphSwitchCrash.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
-
-Switch_1Odd = Switch_1.Port( 'Odd' )
-IsOdd_1InGate = GraphSwitchCrash.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
-
-Switch_1Even = Switch_1.Port( 'Even' )
-EndSwitchDefault = GraphSwitchCrash.Link( Switch_1Even , EndSwitch.Port( 'Default' ) )
-
-IsOdd_1Even = GraphSwitchCrash.Link( Switch_1Even , IsOdd_1.Port( 'Even' ) )
-IsOdd_1Even.AddCoord( 1 , 402 , 388 )
-IsOdd_1Even.AddCoord( 2 , 402 , 450 )
-
-Switch_1a = Switch_1.Port( 'a' )
-IsOdd_1a = GraphSwitchCrash.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
-IsOdd_1a.AddCoord( 1 , 377 , 358 )
-IsOdd_1a.AddCoord( 2 , 378 , 481 )
-
-EndSwitcha = EndSwitch.Port( 'a' )
-EndOfInitLoopIndex = GraphSwitchCrash.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
-
-# Creation of Input datas
-InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
-InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
-InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
-InitLoopIndex = InitLoop.Input( 'Index' , 0)
-InitLoopMin = InitLoop.Input( 'Min' , 0)
-InitLoopMax = InitLoop.Input( 'Max' , 100)
-
-# Creation of Output variables
-EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
-EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
-EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
-SwitchEven = Switch.Port( 'Even' )
-EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
-EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
-EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
-
-GraphSwitchCrash.Run()
-GraphSwitchCrash.DoneW()
-print GraphSwitchCrash.State()
-GraphSwitchCrash.PrintPorts()
+GraphSwitchCrash_1 = DefGraphSwitchCrash_1()
index 50c0b252b42ce3beb562fabe801c9b95761a4ff2..d536a406237d2e847821b95beb53ad067e1f797f 100755 (executable)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>GraphSwitchCrash</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>GraphSwitchCrash</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchCrash_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchCrash_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoopSwitch\Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoopSwitch\Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoopSwitch\Max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>14/10/2003 - 10:29:4</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>14/10/2003 - 10:29:4</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>IsOdd</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
-     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd (IsOdd)"      ]]></PyFunc>
-     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
-     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Python function</comment>
-   <x-position>388</x-position>
-   <y-position>50</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (IsOdd)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>387</x-position>
+    <y-position>58</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>InitLoopSwitch</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInitLoopSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
 <service-name>InitLoopSwitch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitLoop</FuncName>
-     <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>MoreLoop</FuncName>
-     <PyFunc><![CDATA[def MoreLoop(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>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
-     <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
-     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>10</x-position>
-   <y-position>129</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInitLoopSwitch</node-name>
-   <kind>5</kind>
-   <coupled-node>InitLoopSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
 <service-name>EndOfInitLoopSwitch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>766</x-position>
-   <y-position>127</y-position>  </node>
-  <node>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>766</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Switch</node-name>
-   <kind>6</kind>
-   <coupled-node>EndOfSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
 <service-name>Switch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Odd</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[from time import * ]]></PyFunc>
-     <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
-     <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
-     <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>186</x-position>
-   <y-position>130</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>186</x-position>
+    <y-position>130</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfSwitch</node-name>
-   <kind>7</kind>
-   <coupled-node>Switch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
 <service-name>EndOfSwitch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>587</x-position>
-   <y-position>126</y-position>  </node>
-  <node>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>126</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>IsOdd_1</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd_1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>IsOdd_1</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>boolean</inParameter-type>
-      <inParameter-name>Even</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[from time import *    ]]></PyFunc>
-     <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd (IsOdd_1)"       ]]></PyFunc>
-     <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
-     <PyFunc><![CDATA[    return a      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Python function</comment>
-   <x-position>419</x-position>
-   <y-position>279</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (IsOdd_1)"       ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>417</x-position>
+    <y-position>287</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>InitLoop</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInitLoop</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
 <service-name>InitLoop</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitLoop</FuncName>
-     <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>MoreLoop</FuncName>
-     <PyFunc><![CDATA[def MoreLoop(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>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
-     <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
-     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
-     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>10</x-position>
-   <y-position>388</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInitLoop</node-name>
-   <kind>5</kind>
-   <coupled-node>InitLoop</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
 <service-name>EndOfInitLoop</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>783</x-position>
-   <y-position>381</y-position>  </node>
-  <node>
+       <outParameter-name>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>783</x-position>
+    <y-position>381</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Switch_1</node-name>
-   <kind>6</kind>
-   <coupled-node>EndSwitch</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Switch_1</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
 <service-name>Switch_1</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>Odd</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>Even</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>int</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
-     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
-     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
-     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>193</x-position>
-   <y-position>388</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>193</x-position>
+    <y-position>388</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndSwitch</node-name>
-   <kind>7</kind>
-   <coupled-node>Switch_1</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch_1</coupled-node>
+    <service>
 <service-name>EndSwitch</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>15/10/2003 - 18:11:6</creation-date>
-   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>605</x-position>
-   <y-position>382</y-position>  </node> </node-list>
- <link-list>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/3/2005 - 16:57:44</creation-date>
+    <lastmodification-date>8/3/2005 - 16:57:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>605</x-position>
+    <y-position>382</y-position>   </node>  </node-list>
+  <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
-<x>573</x>
-     <y>160</y>    </coord>
-    <coord>
 <x>572</x>
-     <y>130</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>157</y>     </coord>
+     <coord>
+<x>572</x>
+      <y>130</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>InitLoopSwitch</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoopSwitch</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoopSwitch</fromnode-name>
-   <fromserviceparameter-name>Index</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoopSwitch</fromnode-name>
-   <fromserviceparameter-name>Min</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoopSwitch</fromnode-name>
-   <fromserviceparameter-name>Max</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfInitLoopSwitch</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>InitLoopSwitch</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>365</x>
-     <y>129</y>    </coord>
-    <coord>
+      <y>129</y>     </coord>
+     <coord>
 <x>365</x>
-     <y>222</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>201</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndOfSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>572</x>
-     <y>194</y>    </coord>
-    <coord>
-<x>571</x>
-     <y>257</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfSwitch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>IsOdd_1</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
-<x>599</x>
-     <y>416</y>    </coord>
-    <coord>
-<x>598</x>
-     <y>358</y>    </coord>   </coord-list>  </link>
-  <link>
+<x>593</x>
+      <y>411</y>     </coord>
+     <coord>
+<x>593</x>
+      <y>358</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Index</fromserviceparameter-name>
-   <tonode-name>Switch_1</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Min</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitLoop</fromnode-name>
-   <fromserviceparameter-name>Max</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfInitLoop</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
-<fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd_1</tonode-name>
-   <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>Even</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>Even</fromserviceparameter-name>
-   <tonode-name>IsOdd_1</tonode-name>
-   <toserviceparameter-name>Even</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>402</x>
-     <y>388</y>    </coord>
-    <coord>
-<x>402</x>
-     <y>450</y>    </coord>   </coord-list>  </link>
-  <link>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Switch_1</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>IsOdd_1</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd_1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>377</x>
-     <y>358</y>    </coord>
-    <coord>
-<x>378</x>
-     <y>481</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>358</y>     </coord>
+     <coord>
+<x>377</x>
+      <y>460</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch_1</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndSwitch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndOfInitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
- <data-list>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoopSwitch\Index</fromserviceparameter-name>
-   <tonode-name>InitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <data-value>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
-   <tonode-name>InitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
-   <tonode-name>InitLoopSwitch</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>100</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Index</toserviceparameter-name>
-   <data-value>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphSwitchCrash</fromnode-name>
-   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
-   <tonode-name>InitLoop</tonode-name>
-   <toserviceparameter-name>Max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchCrash_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
 <value-type>3</value-type>
-    <value>100</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>31</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 4706bb05bc120563f7f8ce94e77e203c9b672d95..2da23cdbc31262362f16b4f51fb09480308c23cc 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphSwitch_1
+# Generated python file of Graph GraphSwitchErrExec
 
 from SuperV import *
 
-# Graph creation of GraphSwitch_1
-def DefGraphSwitch_1() :
-    GraphSwitch_1 = Graph( 'GraphSwitch_1' )
-    GraphSwitch_1.SetName( 'GraphSwitch_1' )
-    GraphSwitch_1.SetAuthor( '' )
-    GraphSwitch_1.SetComment( '' )
-    GraphSwitch_1.Coords( 0 , 0 )
+# Graph creation of GraphSwitchErrExec
+def DefGraphSwitchErrExec() :
+    GraphSwitchErrExec = Graph( 'GraphSwitchErrExec' )
+    GraphSwitchErrExec.SetName( 'GraphSwitchErrExec' )
+    GraphSwitchErrExec.SetAuthor( '' )
+    GraphSwitchErrExec.SetComment( '' )
+    GraphSwitchErrExec.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,7 +20,7 @@ def DefGraphSwitch_1() :
     PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
     PyIsOdd.append( '    sleep( 1 )   ' )
     PyIsOdd.append( '    return a     ' )
-    IsOdd = GraphSwitch_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphSwitchErrExec.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -36,7 +36,7 @@ def DefGraphSwitch_1() :
     PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
     PyIsEven.append( '    sleep( 1 )    ' )
     PyIsEven.append( '    return a      ' )
-    IsEven = GraphSwitch_1.INode( 'IsEven' , PyIsEven )
+    IsEven = GraphSwitchErrExec.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Compute Node' )
@@ -62,7 +62,7 @@ def DefGraphSwitch_1() :
     PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :      ' )
     PyNextInitLoopSwitch.append( '     Index = Index - 1      ' )
     PyNextInitLoopSwitch.append( '     return Index,Min,Max      ' )
-    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchErrExec.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
     EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
     EndOfInitLoopSwitch.SetAuthor( '' )
     EndOfInitLoopSwitch.SetComment( 'Compute Node' )
@@ -104,7 +104,7 @@ def DefGraphSwitch_1() :
     PySwitch.append( '    if ( a & 1 ) == 0 :     ' )
     PySwitch.append( '        sleep(1)        ' )
     PySwitch.append( '    return a & 1,1-(a&1),a        ' )
-    Switch,EndOfSwitch = GraphSwitch_1.SNode( 'Switch' , PySwitch )
+    Switch,EndOfSwitch = GraphSwitchErrExec.SNode( 'Switch' , PySwitch )
     EndOfSwitch.SetName( 'EndOfSwitch' )
     EndOfSwitch.SetAuthor( '' )
     EndOfSwitch.SetComment( 'Compute Node' )
@@ -127,27 +127,27 @@ def DefGraphSwitch_1() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaEndOfSwitcha = GraphSwitch_1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha = GraphSwitchErrExec.Link( OIsOdda , IEndOfSwitcha )
     
-    LInitLoopSwitchIndexSwitcha = GraphSwitch_1.Link( OInitLoopSwitchIndex , ISwitcha )
+    LInitLoopSwitchIndexSwitcha = GraphSwitchErrExec.Link( OInitLoopSwitchIndex , ISwitcha )
     
-    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitch_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchErrExec.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
     
-    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitch_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchErrExec.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
     
-    LIsEvenaEndOfSwitcha = GraphSwitch_1.Link( OIsEvena , IEndOfSwitcha )
+    LIsEvenaEndOfSwitcha = GraphSwitchErrExec.Link( OIsEvena , IEndOfSwitcha )
     
-    LSwitchOddIsOddGate = GraphSwitch_1.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphSwitchErrExec.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchEvenIsEvenGate = GraphSwitch_1.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate = GraphSwitchErrExec.Link( OSwitchEven , IIsEvenGate )
     
-    LSwitchaIsOdda = GraphSwitch_1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphSwitchErrExec.Link( OSwitcha , IIsOdda )
     
-    LSwitchaIsEvena = GraphSwitch_1.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena = GraphSwitchErrExec.Link( OSwitcha , IIsEvena )
     
-    LSwitchDefaultEndOfSwitchDefault = GraphSwitch_1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchErrExec.Link( OSwitchDefault , IEndOfSwitchDefault )
     
-    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitch_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchErrExec.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
@@ -158,7 +158,7 @@ def DefGraphSwitch_1() :
     #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
     #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
     #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
-    return GraphSwitch_1
+    return GraphSwitchErrExec
 
 
-GraphSwitch_1 = DefGraphSwitch_1()
+GraphSwitchErrExec = DefGraphSwitchErrExec()
index e588ff6d924721ec76d5906ae700b1fb9b1bfd69..f9101049ff4e141f7b647f9bd861817f6479bc6a 100644 (file)
@@ -5,7 +5,7 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSwitch_1</node-name>
+    <node-name>GraphSwitchErrExec</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
@@ -33,7 +33,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>1/10/2003 - 17:23:54</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
@@ -66,8 +66,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    if ( a & 1 ) == 0 :     ]]></PyFunc>
       <PyFunc><![CDATA[        sleep(1)        ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>EndSwitch_1</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>12/1/2005 - 16:10:58</creation-date>
-    <lastmodification-date>12/1/2005 - 16:10:58</lastmodification-date>
+    <creation-date>5/7/2005 - 17:11:46</creation-date>
+    <lastmodification-date>5/7/2005 - 17:11:46</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSwitch_1</fromnode-name>
+<fromnode-name>GraphSwitchErrExec</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitch_1</fromnode-name>
+<fromnode-name>GraphSwitchErrExec</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>-5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitch_1</fromnode-name>
+<fromnode-name>GraphSwitchErrExec</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
diff --git a/examples/GraphSwitchExecutable.py b/examples/GraphSwitchExecutable.py
new file mode 100644 (file)
index 0000000..464f832
--- /dev/null
@@ -0,0 +1,148 @@
+
+# Generated python file of Graph GraphSwitchExecutable
+
+from SuperV import *
+
+# Graph creation of GraphSwitchExecutable
+def DefGraphSwitchExecutable() :
+    GraphSwitchExecutable = Graph( 'GraphSwitchExecutable' )
+    GraphSwitchExecutable.SetName( 'GraphSwitchExecutable' )
+    GraphSwitchExecutable.SetAuthor( '' )
+    GraphSwitchExecutable.SetComment( '' )
+    GraphSwitchExecutable.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchExecutable.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchExecutable.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 772 , 132 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *  ' )
+    PySwitch.append( 'def Switch(a) :    ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)     ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a,a ' )
+    Switch,EndOfSwitch = GraphSwitchExecutable.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 581 , 132 )
+    PyEndOfSwitch = []
+    PyEndOfSwitch.append( 'def EndOfSwitch( a , Even , k ) : ' )
+    PyEndOfSwitch.append( '    return a ' )
+    EndOfSwitch.SetPyFunction( 'EndOfSwitch' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchEven = EndOfSwitch.InPort( 'Even' , 'long' )
+    IEndOfSwitchk = EndOfSwitch.InPort( 'k' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchi = Switch.OutPort( 'i' , 'long' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchExecutable.Link( OIsOdda , IEndOfSwitcha )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchExecutable.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchExecutable.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchExecutable.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchExecutable.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitchExecutable.Link( OSwitcha , IIsOdda )
+    
+    LSwitchiEndOfSwitchk = GraphSwitchExecutable.Link( OSwitchi , IEndOfSwitchk )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchExecutable.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchExecutable.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 35 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitchEven = EndOfSwitch.GetInPort( 'Even' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchExecutable
+
+
+GraphSwitchExecutable = DefGraphSwitchExecutable()
diff --git a/examples/GraphSwitchExecutable.xml b/examples/GraphSwitchExecutable.xml
new file mode 100644 (file)
index 0000000..f65d704
--- /dev/null
@@ -0,0 +1,351 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchExecutable</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchExecutable</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfSwitch__Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:55:5</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:55:5</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:55:5</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>772</x-position>
+    <y-position>132</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>i</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)     ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a,a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:55:5</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>k</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+      <PyFunc><![CDATA[def EndOfSwitch( a , Even , k ) : ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 14:55:5</creation-date>
+    <lastmodification-date>8/7/2005 - 14:55:5</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>581</x-position>
+    <y-position>132</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>i</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>k</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>35</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchGates.py b/examples/GraphSwitchGates.py
new file mode 100644 (file)
index 0000000..6999ae1
--- /dev/null
@@ -0,0 +1,156 @@
+
+# Generated python file of Graph GraphSwitchGates
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGates
+def DefGraphSwitchGates() :
+    GraphSwitchGates = Graph( 'GraphSwitchGates' )
+    GraphSwitchGates.SetName( 'GraphSwitchGates' )
+    GraphSwitchGates.SetAuthor( 'JR' )
+    GraphSwitchGates.SetComment( '' )
+    GraphSwitchGates.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import * ' )
+    PyIsOdd.append( 'def IsOdd() : ' )
+    PyIsOdd.append( '    sleep(1) ' )
+    PyIsOdd.append( '    return  ' )
+    IsOdd = GraphSwitchGates.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Compute Node' )
+    IsOdd.Coords( 424 , 116 )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven() :  ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return  ' )
+    IsEven = GraphSwitchGates.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 428 , 345 )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopGates = []
+    PyLoopGates.append( 'def InitLoop(Index,Max,Min) :    ' )
+    PyLoopGates.append( '    Index = Max   ' )
+    PyLoopGates.append( '    return Index,Max,Min    ' )
+    PyMoreLoopGates = []
+    PyMoreLoopGates.append( 'from time import *  ' )
+    PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) :  ' )
+    PyMoreLoopGates.append( '    sleep(1)  ' )
+    PyMoreLoopGates.append( '    DoLoop = 0   ' )
+    PyMoreLoopGates.append( '    if Index >= Min :   ' )
+    PyMoreLoopGates.append( '        DoLoop = 1   ' )
+    PyMoreLoopGates.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoopGates = []
+    PyNextLoopGates.append( 'def  NextLoop(Index,Max,Min) :   ' )
+    PyNextLoopGates.append( '    Index = Index - 1   ' )
+    PyNextLoopGates.append( '    return Index,Max,Min   ' )
+    LoopGates,EndLoopGates = GraphSwitchGates.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+    EndLoopGates.SetName( 'EndLoopGates' )
+    EndLoopGates.SetAuthor( '' )
+    EndLoopGates.SetComment( 'Compute Node' )
+    EndLoopGates.Coords( 875 , 216 )
+    PyEndLoopGates = []
+    EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+    ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+    ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+    ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+    ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+    ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+    OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+    OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+    OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+    OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+    IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+    IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+    IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+    IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+    IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+    OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+    OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+    LoopGates.SetName( 'LoopGates' )
+    LoopGates.SetAuthor( '' )
+    LoopGates.SetComment( 'Compute Node' )
+    LoopGates.Coords( 13 , 236 )
+    
+    # Creation of Switch Nodes
+    PySwitchGates = []
+    PySwitchGates.append( 'def SwitchGates(Index) :  ' )
+    PySwitchGates.append( '    Odd = 0  ' )
+    PySwitchGates.append( '    Even = 0  ' )
+    PySwitchGates.append( '    if (Index & 1) == 1 :  ' )
+    PySwitchGates.append( '        Odd = 1  ' )
+    PySwitchGates.append( '    if (Index & 1) == 0 :  ' )
+    PySwitchGates.append( '        Even = 1  ' )
+    PySwitchGates.append( '    return Odd,Even   ' )
+    SwitchGates,EndSwitchGates = GraphSwitchGates.SNode( 'SwitchGates' , PySwitchGates )
+    EndSwitchGates.SetName( 'EndSwitchGates' )
+    EndSwitchGates.SetAuthor( '' )
+    EndSwitchGates.SetComment( 'Compute Node' )
+    EndSwitchGates.Coords( 648 , 276 )
+    PyEndSwitchGates = []
+    PyEndSwitchGates.append( 'from time import * ' )
+    PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+    PyEndSwitchGates.append( '    sleep(1) ' )
+    PyEndSwitchGates.append( '    return ' )
+    PyEndSwitchGates.append( '' )
+    EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+    IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+    OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+    SwitchGates.SetName( 'SwitchGates' )
+    SwitchGates.SetAuthor( '' )
+    SwitchGates.SetComment( 'Compute Node' )
+    SwitchGates.Coords( 204 , 236 )
+    ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+    ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+    OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+    OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+    OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGates.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+    
+    LLoopGatesIndexSwitchGatesIndex = GraphSwitchGates.Link( OLoopGatesIndex , ISwitchGatesIndex )
+    
+    LLoopGatesMaxEndLoopGatesMax = GraphSwitchGates.Link( OLoopGatesMax , IEndLoopGatesMax )
+    
+    LLoopGatesMinEndLoopGatesMin = GraphSwitchGates.Link( OLoopGatesMin , IEndLoopGatesMin )
+    
+    LSwitchGatesOddIsOddGate = GraphSwitchGates.Link( OSwitchGatesOdd , IIsOddGate )
+    
+    LSwitchGatesEvenIsEvenGate = GraphSwitchGates.Link( OSwitchGatesEven , IIsEvenGate )
+    
+    LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGates.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+    
+    LIsOddGateEndSwitchGatesDefault = GraphSwitchGates.Link( OIsOddGate , IEndSwitchGatesDefault )
+    
+    LIsEvenGateEndSwitchGatesDefault = GraphSwitchGates.Link( OIsEvenGate , IEndSwitchGatesDefault )
+    
+    # Input datas
+    ILoopGatesIndex.Input( 0 )
+    ILoopGatesMax.Input( 13 )
+    ILoopGatesMin.Input( -7 )
+    
+    # Output Ports of the graph
+    #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    return GraphSwitchGates
+
+
+GraphSwitchGates = DefGraphSwitchGates()
diff --git a/examples/GraphSwitchGates.xml b/examples/GraphSwitchGates.xml
new file mode 100644 (file)
index 0000000..7c6b883
--- /dev/null
@@ -0,0 +1,354 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchGates</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchGatesDefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Min</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>16/2/2005 - 10:40:8</creation-date>
+    <lastmodification-date>16/2/2005 - 11:44:13</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>LoopGates</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoopGates</coupled-node>
+    <service>
+<service-name>LoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Max,Min) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def  NextLoop(Index,Max,Min) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>13</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoopGates</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopGates</coupled-node>
+    <service>
+<service-name>EndLoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>875</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchGates</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitchGates</coupled-node>
+    <service>
+<service-name>SwitchGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+      <PyFunc><![CDATA[def SwitchGates(Index) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    Odd = 0  ]]></PyFunc>
+      <PyFunc><![CDATA[    Even = 0  ]]></PyFunc>
+      <PyFunc><![CDATA[    if (Index & 1) == 1 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    if (Index & 1) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd,Even   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>204</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitchGates</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchGates</coupled-node>
+    <service>
+<service-name>EndSwitchGates</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>648</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>424</x-position>
+    <y-position>116</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:33:14</creation-date>
+    <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>345</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchGates</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGates</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGates</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchGatesDefault.py b/examples/GraphSwitchGatesDefault.py
new file mode 100644 (file)
index 0000000..dd176ff
--- /dev/null
@@ -0,0 +1,159 @@
+
+# Generated python file of Graph GraphSwitchGatesDefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesDefault
+def DefGraphSwitchGatesDefault() :
+    GraphSwitchGatesDefault = Graph( 'GraphSwitchGatesDefault' )
+    GraphSwitchGatesDefault.SetName( 'GraphSwitchGatesDefault' )
+    GraphSwitchGatesDefault.SetAuthor( 'JR' )
+    GraphSwitchGatesDefault.SetComment( '' )
+    GraphSwitchGatesDefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import * ' )
+    PyIsOdd.append( 'def IsOdd() : ' )
+    PyIsOdd.append( '    sleep(1) ' )
+    PyIsOdd.append( '    return  ' )
+    IsOdd = GraphSwitchGatesDefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Compute Node' )
+    IsOdd.Coords( 424 , 116 )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven() :  ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return  ' )
+    IsEven = GraphSwitchGatesDefault.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 428 , 345 )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopGates = []
+    PyLoopGates.append( 'def InitLoop(Index,Max,Min) :    ' )
+    PyLoopGates.append( '    Index = Max   ' )
+    PyLoopGates.append( '    return Index,Max,Min    ' )
+    PyMoreLoopGates = []
+    PyMoreLoopGates.append( 'from time import *  ' )
+    PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) :  ' )
+    PyMoreLoopGates.append( '    sleep(1)  ' )
+    PyMoreLoopGates.append( '    DoLoop = 0   ' )
+    PyMoreLoopGates.append( '    if Index >= Min :   ' )
+    PyMoreLoopGates.append( '        DoLoop = 1   ' )
+    PyMoreLoopGates.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoopGates = []
+    PyNextLoopGates.append( 'def  NextLoop(Index,Max,Min) :   ' )
+    PyNextLoopGates.append( '    Index = Index - 1   ' )
+    PyNextLoopGates.append( '    return Index,Max,Min   ' )
+    LoopGates,EndLoopGates = GraphSwitchGatesDefault.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+    EndLoopGates.SetName( 'EndLoopGates' )
+    EndLoopGates.SetAuthor( '' )
+    EndLoopGates.SetComment( 'Compute Node' )
+    EndLoopGates.Coords( 875 , 216 )
+    PyEndLoopGates = []
+    EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+    ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+    ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+    ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+    ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+    ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+    OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+    OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+    OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+    OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+    IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+    IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+    IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+    IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+    IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+    OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+    OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+    LoopGates.SetName( 'LoopGates' )
+    LoopGates.SetAuthor( '' )
+    LoopGates.SetComment( 'Compute Node' )
+    LoopGates.Coords( 13 , 236 )
+    
+    # Creation of Switch Nodes
+    PySwitchGates = []
+    PySwitchGates.append( 'def SwitchGates(Index) :   ' )
+    PySwitchGates.append( '    Odd = 0   ' )
+    PySwitchGates.append( '    Even = 0   ' )
+    PySwitchGates.append( '    if Index > 0 : ' )
+    PySwitchGates.append( '        if (Index & 1) == 1 :   ' )
+    PySwitchGates.append( '            Odd = 1   ' )
+    PySwitchGates.append( '        if (Index & 1) == 0 :   ' )
+    PySwitchGates.append( '            Even = 1   ' )
+    PySwitchGates.append( '    return Odd,Even    ' )
+    SwitchGates,EndSwitchGates = GraphSwitchGatesDefault.SNode( 'SwitchGates' , PySwitchGates )
+    EndSwitchGates.SetName( 'EndSwitchGates' )
+    EndSwitchGates.SetAuthor( '' )
+    EndSwitchGates.SetComment( 'Compute Node' )
+    EndSwitchGates.Coords( 648 , 276 )
+    PyEndSwitchGates = []
+    PyEndSwitchGates.append( 'from time import * ' )
+    PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+    PyEndSwitchGates.append( '    sleep(1) ' )
+    PyEndSwitchGates.append( '    return ' )
+    PyEndSwitchGates.append( '' )
+    EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+    IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+    OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+    SwitchGates.SetName( 'SwitchGates' )
+    SwitchGates.SetAuthor( '' )
+    SwitchGates.SetComment( 'Compute Node' )
+    SwitchGates.Coords( 204 , 236 )
+    ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+    ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+    OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+    OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+    OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesDefault.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+    
+    LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesDefault.Link( OLoopGatesIndex , ISwitchGatesIndex )
+    
+    LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesDefault.Link( OLoopGatesMax , IEndLoopGatesMax )
+    
+    LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesDefault.Link( OLoopGatesMin , IEndLoopGatesMin )
+    
+    LSwitchGatesOddIsOddGate = GraphSwitchGatesDefault.Link( OSwitchGatesOdd , IIsOddGate )
+    
+    LSwitchGatesEvenIsEvenGate = GraphSwitchGatesDefault.Link( OSwitchGatesEven , IIsEvenGate )
+    
+    LSwitchGatesDefaultEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OSwitchGatesDefault , IEndSwitchGatesDefault )
+    
+    LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesDefault.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+    
+    LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OIsOddGate , IEndSwitchGatesDefault )
+    
+    LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OIsEvenGate , IEndSwitchGatesDefault )
+    
+    # Input datas
+    ILoopGatesIndex.Input( 0 )
+    ILoopGatesMax.Input( 13 )
+    ILoopGatesMin.Input( -7 )
+    
+    # Output Ports of the graph
+    #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    return GraphSwitchGatesDefault
+
+
+GraphSwitchGatesDefault = DefGraphSwitchGatesDefault()
diff --git a/examples/GraphSwitchGatesDefault.xml b/examples/GraphSwitchGatesDefault.xml
new file mode 100644 (file)
index 0000000..2dbc8c8
--- /dev/null
@@ -0,0 +1,361 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchGatesDefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchGatesDefault_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Min</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>16/2/2005 - 10:40:8</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</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>LoopGates</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoopGates</coupled-node>
+    <service>
+<service-name>LoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Max,Min) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def  NextLoop(Index,Max,Min) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>13</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoopGates</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopGates</coupled-node>
+    <service>
+<service-name>EndLoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>875</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchGates</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitchGates</coupled-node>
+    <service>
+<service-name>SwitchGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+      <PyFunc><![CDATA[def SwitchGates(Index) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Odd = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    Even = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index > 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 1 :   ]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 0 :   ]]></PyFunc>
+      <PyFunc><![CDATA[            Even = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd,Even    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>204</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitchGates</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchGates</coupled-node>
+    <service>
+<service-name>EndSwitchGates</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>648</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>424</x-position>
+    <y-position>116</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 11:46:44</creation-date>
+    <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>345</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesDefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesDefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesDefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchGatesNoDefaultAborted.py b/examples/GraphSwitchGatesNoDefaultAborted.py
new file mode 100644 (file)
index 0000000..cccfc8f
--- /dev/null
@@ -0,0 +1,157 @@
+
+# Generated python file of Graph GraphSwitchGatesNoDefaultAborted
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesNoDefaultAborted
+def DefGraphSwitchGatesNoDefaultAborted() :
+    GraphSwitchGatesNoDefaultAborted = Graph( 'GraphSwitchGatesNoDefaultAborted' )
+    GraphSwitchGatesNoDefaultAborted.SetName( 'GraphSwitchGatesNoDefaultAborted' )
+    GraphSwitchGatesNoDefaultAborted.SetAuthor( 'JR' )
+    GraphSwitchGatesNoDefaultAborted.SetComment( '' )
+    GraphSwitchGatesNoDefaultAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import * ' )
+    PyIsOdd.append( 'def IsOdd() : ' )
+    PyIsOdd.append( '    sleep(1) ' )
+    PyIsOdd.append( '    return  ' )
+    IsOdd = GraphSwitchGatesNoDefaultAborted.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Compute Node' )
+    IsOdd.Coords( 424 , 116 )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven() :  ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return  ' )
+    IsEven = GraphSwitchGatesNoDefaultAborted.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 428 , 345 )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopGates = []
+    PyLoopGates.append( 'def InitLoop(Index,Max,Min) :    ' )
+    PyLoopGates.append( '    Index = Max   ' )
+    PyLoopGates.append( '    return Index,Max,Min    ' )
+    PyMoreLoopGates = []
+    PyMoreLoopGates.append( 'from time import *  ' )
+    PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) :  ' )
+    PyMoreLoopGates.append( '    sleep(1)  ' )
+    PyMoreLoopGates.append( '    DoLoop = 0   ' )
+    PyMoreLoopGates.append( '    if Index >= Min :   ' )
+    PyMoreLoopGates.append( '        DoLoop = 1   ' )
+    PyMoreLoopGates.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoopGates = []
+    PyNextLoopGates.append( 'def  NextLoop(Index,Max,Min) :   ' )
+    PyNextLoopGates.append( '    Index = Index - 1   ' )
+    PyNextLoopGates.append( '    return Index,Max,Min   ' )
+    LoopGates,EndLoopGates = GraphSwitchGatesNoDefaultAborted.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+    EndLoopGates.SetName( 'EndLoopGates' )
+    EndLoopGates.SetAuthor( '' )
+    EndLoopGates.SetComment( 'Compute Node' )
+    EndLoopGates.Coords( 875 , 216 )
+    PyEndLoopGates = []
+    EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+    ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+    ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+    ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+    ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+    ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+    OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+    OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+    OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+    OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+    IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+    IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+    IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+    IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+    IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+    OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+    OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+    LoopGates.SetName( 'LoopGates' )
+    LoopGates.SetAuthor( '' )
+    LoopGates.SetComment( 'Compute Node' )
+    LoopGates.Coords( 13 , 236 )
+    
+    # Creation of Switch Nodes
+    PySwitchGates = []
+    PySwitchGates.append( 'def SwitchGates(Index) :   ' )
+    PySwitchGates.append( '    Odd = 0   ' )
+    PySwitchGates.append( '    Even = 0   ' )
+    PySwitchGates.append( '    if Index > 0 : ' )
+    PySwitchGates.append( '        if (Index & 1) == 1 :   ' )
+    PySwitchGates.append( '            Odd = 1   ' )
+    PySwitchGates.append( '        if (Index & 1) == 0 :   ' )
+    PySwitchGates.append( '            Even = 1   ' )
+    PySwitchGates.append( '    return Odd,Even    ' )
+    SwitchGates,EndSwitchGates = GraphSwitchGatesNoDefaultAborted.SNode( 'SwitchGates' , PySwitchGates )
+    EndSwitchGates.SetName( 'EndSwitchGates' )
+    EndSwitchGates.SetAuthor( '' )
+    EndSwitchGates.SetComment( 'Compute Node' )
+    EndSwitchGates.Coords( 648 , 276 )
+    PyEndSwitchGates = []
+    PyEndSwitchGates.append( 'from time import * ' )
+    PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+    PyEndSwitchGates.append( '    sleep(1) ' )
+    PyEndSwitchGates.append( '    return ' )
+    PyEndSwitchGates.append( '' )
+    EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+    IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+    OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+    SwitchGates.SetName( 'SwitchGates' )
+    SwitchGates.SetAuthor( '' )
+    SwitchGates.SetComment( 'Compute Node' )
+    SwitchGates.Coords( 204 , 236 )
+    ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+    ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+    OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+    OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+    OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+    
+    LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesIndex , ISwitchGatesIndex )
+    
+    LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesMax , IEndLoopGatesMax )
+    
+    LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesMin , IEndLoopGatesMin )
+    
+    LSwitchGatesOddIsOddGate = GraphSwitchGatesNoDefaultAborted.Link( OSwitchGatesOdd , IIsOddGate )
+    
+    LSwitchGatesEvenIsEvenGate = GraphSwitchGatesNoDefaultAborted.Link( OSwitchGatesEven , IIsEvenGate )
+    
+    LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesNoDefaultAborted.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+    
+    LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesNoDefaultAborted.Link( OIsOddGate , IEndSwitchGatesDefault )
+    
+    LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesNoDefaultAborted.Link( OIsEvenGate , IEndSwitchGatesDefault )
+    
+    # Input datas
+    ILoopGatesIndex.Input( 0 )
+    ILoopGatesMax.Input( 13 )
+    ILoopGatesMin.Input( -7 )
+    
+    # Output Ports of the graph
+    #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    return GraphSwitchGatesNoDefaultAborted
+
+
+GraphSwitchGatesNoDefaultAborted = DefGraphSwitchGatesNoDefaultAborted()
diff --git a/examples/GraphSwitchGatesNoDefaultAborted.xml b/examples/GraphSwitchGatesNoDefaultAborted.xml
new file mode 100644 (file)
index 0000000..76ee607
--- /dev/null
@@ -0,0 +1,355 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchGatesNoDefaultAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchGatesDefault_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Min</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>16/2/2005 - 10:40:8</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</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>LoopGates</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoopGates</coupled-node>
+    <service>
+<service-name>LoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Max,Min) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def  NextLoop(Index,Max,Min) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>13</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoopGates</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopGates</coupled-node>
+    <service>
+<service-name>EndLoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>875</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchGates</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitchGates</coupled-node>
+    <service>
+<service-name>SwitchGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+      <PyFunc><![CDATA[def SwitchGates(Index) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Odd = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    Even = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index > 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 1 :   ]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 0 :   ]]></PyFunc>
+      <PyFunc><![CDATA[            Even = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd,Even    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>204</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitchGates</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchGates</coupled-node>
+    <service>
+<service-name>EndSwitchGates</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>648</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>424</x-position>
+    <y-position>116</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:12:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>345</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchGatesdefault.py b/examples/GraphSwitchGatesdefault.py
new file mode 100644 (file)
index 0000000..0a5ccdf
--- /dev/null
@@ -0,0 +1,163 @@
+
+# Generated python file of Graph GraphSwitchGatesdefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesdefault
+def DefGraphSwitchGatesdefault() :
+    GraphSwitchGatesdefault = Graph( 'GraphSwitchGatesdefault' )
+    GraphSwitchGatesdefault.SetName( 'GraphSwitchGatesdefault' )
+    GraphSwitchGatesdefault.SetAuthor( 'JR' )
+    GraphSwitchGatesdefault.SetComment( '' )
+    GraphSwitchGatesdefault.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import * ' )
+    PyIsOdd.append( 'def IsOdd() : ' )
+    PyIsOdd.append( '    sleep(1) ' )
+    PyIsOdd.append( '    return  ' )
+    IsOdd = GraphSwitchGatesdefault.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Compute Node' )
+    IsOdd.Coords( 424 , 116 )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven() :  ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return  ' )
+    IsEven = GraphSwitchGatesdefault.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 428 , 345 )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopGates = []
+    PyLoopGates.append( 'def InitLoop(Index,Max,Min) :    ' )
+    PyLoopGates.append( '    Index = Max   ' )
+    PyLoopGates.append( '    return Index,Max,Min    ' )
+    PyMoreLoopGates = []
+    PyMoreLoopGates.append( 'from time import *  ' )
+    PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) :  ' )
+    PyMoreLoopGates.append( '    sleep(1)  ' )
+    PyMoreLoopGates.append( '    DoLoop = 0   ' )
+    PyMoreLoopGates.append( '    if Index >= Min :   ' )
+    PyMoreLoopGates.append( '        DoLoop = 1   ' )
+    PyMoreLoopGates.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoopGates = []
+    PyNextLoopGates.append( 'def  NextLoop(Index,Max,Min) :   ' )
+    PyNextLoopGates.append( '    Index = Index - 1   ' )
+    PyNextLoopGates.append( '    return Index,Max,Min   ' )
+    LoopGates,EndLoopGates = GraphSwitchGatesdefault.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+    EndLoopGates.SetName( 'EndLoopGates' )
+    EndLoopGates.SetAuthor( '' )
+    EndLoopGates.SetComment( 'Compute Node' )
+    EndLoopGates.Coords( 875 , 216 )
+    PyEndLoopGates = []
+    EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+    ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+    ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+    ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+    ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+    ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+    OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+    OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+    OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+    OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+    IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+    IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+    IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+    IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+    IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+    OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+    OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+    LoopGates.SetName( 'LoopGates' )
+    LoopGates.SetAuthor( '' )
+    LoopGates.SetComment( 'Compute Node' )
+    LoopGates.Coords( 13 , 236 )
+    
+    # Creation of Switch Nodes
+    PySwitchGates = []
+    PySwitchGates.append( 'def SwitchGates(Index) :    ' )
+    PySwitchGates.append( '    Odd = 0    ' )
+    PySwitchGates.append( '    Even = 0    ' )
+    PySwitchGates.append( '    default = 0 ' )
+    PySwitchGates.append( '    if Index > 0 :  ' )
+    PySwitchGates.append( '        if (Index & 1) == 1 :    ' )
+    PySwitchGates.append( '            Odd = 1    ' )
+    PySwitchGates.append( '        if (Index & 1) == 0 :    ' )
+    PySwitchGates.append( '            Even = 1    ' )
+    PySwitchGates.append( '    else : ' )
+    PySwitchGates.append( '        default = 1 ' )
+    PySwitchGates.append( '    return Odd,Even,default ' )
+    SwitchGates,EndSwitchGates = GraphSwitchGatesdefault.SNode( 'SwitchGates' , PySwitchGates )
+    EndSwitchGates.SetName( 'EndSwitchGates' )
+    EndSwitchGates.SetAuthor( '' )
+    EndSwitchGates.SetComment( 'Compute Node' )
+    EndSwitchGates.Coords( 648 , 276 )
+    PyEndSwitchGates = []
+    PyEndSwitchGates.append( 'from time import * ' )
+    PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+    PyEndSwitchGates.append( '    sleep(1) ' )
+    PyEndSwitchGates.append( '    return ' )
+    PyEndSwitchGates.append( '' )
+    EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+    IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+    OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+    SwitchGates.SetName( 'SwitchGates' )
+    SwitchGates.SetAuthor( '' )
+    SwitchGates.SetComment( 'Compute Node' )
+    SwitchGates.Coords( 204 , 236 )
+    ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+    ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+    OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+    OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+    OSwitchGatesdefault = SwitchGates.OutPort( 'default' , 'long' )
+    OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesdefault.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+    
+    LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesdefault.Link( OLoopGatesIndex , ISwitchGatesIndex )
+    
+    LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesdefault.Link( OLoopGatesMax , IEndLoopGatesMax )
+    
+    LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesdefault.Link( OLoopGatesMin , IEndLoopGatesMin )
+    
+    LSwitchGatesOddIsOddGate = GraphSwitchGatesdefault.Link( OSwitchGatesOdd , IIsOddGate )
+    
+    LSwitchGatesEvenIsEvenGate = GraphSwitchGatesdefault.Link( OSwitchGatesEven , IIsEvenGate )
+    
+    LSwitchGatesdefaultEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OSwitchGatesdefault , IEndSwitchGatesDefault )
+    
+    LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesdefault.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+    
+    LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OIsOddGate , IEndSwitchGatesDefault )
+    
+    LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OIsEvenGate , IEndSwitchGatesDefault )
+    
+    # Input datas
+    ILoopGatesIndex.Input( 0 )
+    ILoopGatesMax.Input( 13 )
+    ILoopGatesMin.Input( -7 )
+    
+    # Output Ports of the graph
+    #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    return GraphSwitchGatesdefault
+
+
+GraphSwitchGatesdefault = DefGraphSwitchGatesdefault()
diff --git a/examples/GraphSwitchGatesdefault.xml b/examples/GraphSwitchGatesdefault.xml
new file mode 100644 (file)
index 0000000..e4a0692
--- /dev/null
@@ -0,0 +1,367 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchGatesdefault</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchGatesdefault</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Min</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>16/2/2005 - 10:40:8</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:31</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>LoopGates</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoopGates</coupled-node>
+    <service>
+<service-name>LoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Max,Min) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def  NextLoop(Index,Max,Min) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>13</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoopGates</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopGates</coupled-node>
+    <service>
+<service-name>EndLoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>875</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchGates</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitchGates</coupled-node>
+    <service>
+<service-name>SwitchGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+      <PyFunc><![CDATA[def SwitchGates(Index) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Odd = 0    ]]></PyFunc>
+      <PyFunc><![CDATA[    Even = 0    ]]></PyFunc>
+      <PyFunc><![CDATA[    default = 0 ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index > 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 1 :    ]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1    ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[            Even = 1    ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        default = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd,Even,default ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>204</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitchGates</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchGates</coupled-node>
+    <service>
+<service-name>EndSwitchGates</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>648</x-position>
+    <y-position>276</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>424</x-position>
+    <y-position>116</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 12:13:25</creation-date>
+    <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>345</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesdefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesdefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesdefault</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchGatesdefaultBranch.py b/examples/GraphSwitchGatesdefaultBranch.py
new file mode 100644 (file)
index 0000000..14b03d0
--- /dev/null
@@ -0,0 +1,178 @@
+
+# Generated python file of Graph GraphSwitchGatesdefaultBranch
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesdefaultBranch
+def DefGraphSwitchGatesdefaultBranch() :
+    GraphSwitchGatesdefaultBranch = Graph( 'GraphSwitchGatesdefaultBranch' )
+    GraphSwitchGatesdefaultBranch.SetName( 'GraphSwitchGatesdefaultBranch' )
+    GraphSwitchGatesdefaultBranch.SetAuthor( 'JR' )
+    GraphSwitchGatesdefaultBranch.SetComment( '' )
+    GraphSwitchGatesdefaultBranch.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import * ' )
+    PyIsOdd.append( 'def IsOdd() : ' )
+    PyIsOdd.append( '    sleep(1) ' )
+    PyIsOdd.append( '    return  ' )
+    IsOdd = GraphSwitchGatesdefaultBranch.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Compute Node' )
+    IsOdd.Coords( 424 , 116 )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyIsEven = []
+    PyIsEven.append( 'from time import * ' )
+    PyIsEven.append( 'def IsEven() :  ' )
+    PyIsEven.append( '    sleep(1) ' )
+    PyIsEven.append( '    return  ' )
+    IsEven = GraphSwitchGatesdefaultBranch.INode( 'IsEven' , PyIsEven )
+    IsEven.SetName( 'IsEven' )
+    IsEven.SetAuthor( '' )
+    IsEven.SetComment( 'Compute Node' )
+    IsEven.Coords( 428 , 345 )
+    IIsEvenGate = IsEven.GetInPort( 'Gate' )
+    OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+    
+    PydefaultNode = []
+    PydefaultNode.append( 'from time import * ' )
+    PydefaultNode.append( 'def defaultNode() :  ' )
+    PydefaultNode.append( '    sleep(1) ' )
+    PydefaultNode.append( '    return  ' )
+    defaultNode = GraphSwitchGatesdefaultBranch.INode( 'defaultNode' , PydefaultNode )
+    defaultNode.SetName( 'defaultNode' )
+    defaultNode.SetAuthor( '' )
+    defaultNode.SetComment( 'Compute Node' )
+    defaultNode.Coords( 425 , 232 )
+    IdefaultNodeGate = defaultNode.GetInPort( 'Gate' )
+    OdefaultNodeGate = defaultNode.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoopGates = []
+    PyLoopGates.append( 'def InitLoop(Index,Max,Min) :    ' )
+    PyLoopGates.append( '    Index = Max   ' )
+    PyLoopGates.append( '    return Index,Max,Min    ' )
+    PyMoreLoopGates = []
+    PyMoreLoopGates.append( 'from time import *  ' )
+    PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) :  ' )
+    PyMoreLoopGates.append( '    sleep(1)  ' )
+    PyMoreLoopGates.append( '    DoLoop = 0   ' )
+    PyMoreLoopGates.append( '    if Index >= Min :   ' )
+    PyMoreLoopGates.append( '        DoLoop = 1   ' )
+    PyMoreLoopGates.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoopGates = []
+    PyNextLoopGates.append( 'def  NextLoop(Index,Max,Min) :   ' )
+    PyNextLoopGates.append( '    Index = Index - 1   ' )
+    PyNextLoopGates.append( '    return Index,Max,Min   ' )
+    LoopGates,EndLoopGates = GraphSwitchGatesdefaultBranch.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+    EndLoopGates.SetName( 'EndLoopGates' )
+    EndLoopGates.SetAuthor( '' )
+    EndLoopGates.SetComment( 'Compute Node' )
+    EndLoopGates.Coords( 875 , 216 )
+    PyEndLoopGates = []
+    EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+    ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+    ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+    ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+    ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+    ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+    OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+    OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+    OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+    OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+    IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+    IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+    IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+    IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+    IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+    OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+    OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+    LoopGates.SetName( 'LoopGates' )
+    LoopGates.SetAuthor( '' )
+    LoopGates.SetComment( 'Compute Node' )
+    LoopGates.Coords( 13 , 236 )
+    
+    # Creation of Switch Nodes
+    PySwitchGates = []
+    PySwitchGates.append( 'def SwitchGates(Index) :    ' )
+    PySwitchGates.append( '    Odd = 0    ' )
+    PySwitchGates.append( '    Even = 0    ' )
+    PySwitchGates.append( '    default = 0 ' )
+    PySwitchGates.append( '    if Index > 0 :  ' )
+    PySwitchGates.append( '        if (Index & 1) == 1 :    ' )
+    PySwitchGates.append( '            Odd = 1    ' )
+    PySwitchGates.append( '        if (Index & 1) == 0 :    ' )
+    PySwitchGates.append( '            Even = 1    ' )
+    PySwitchGates.append( '    else : ' )
+    PySwitchGates.append( '        default = 1 ' )
+    PySwitchGates.append( '    return Odd,Even,default ' )
+    SwitchGates,EndSwitchGates = GraphSwitchGatesdefaultBranch.SNode( 'SwitchGates' , PySwitchGates )
+    EndSwitchGates.SetName( 'EndSwitchGates' )
+    EndSwitchGates.SetAuthor( '' )
+    EndSwitchGates.SetComment( 'Compute Node' )
+    EndSwitchGates.Coords( 647 , 272 )
+    PyEndSwitchGates = []
+    PyEndSwitchGates.append( 'from time import * ' )
+    PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+    PyEndSwitchGates.append( '    sleep(1) ' )
+    PyEndSwitchGates.append( '    return ' )
+    PyEndSwitchGates.append( '' )
+    EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+    IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+    OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+    SwitchGates.SetName( 'SwitchGates' )
+    SwitchGates.SetAuthor( '' )
+    SwitchGates.SetComment( 'Compute Node' )
+    SwitchGates.Coords( 204 , 236 )
+    ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+    ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+    OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+    OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+    OSwitchGatesdefault = SwitchGates.OutPort( 'default' , 'long' )
+    OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesdefaultBranch.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+    
+    LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesdefaultBranch.Link( OLoopGatesIndex , ISwitchGatesIndex )
+    
+    LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesdefaultBranch.Link( OLoopGatesMax , IEndLoopGatesMax )
+    
+    LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesdefaultBranch.Link( OLoopGatesMin , IEndLoopGatesMin )
+    
+    LSwitchGatesOddIsOddGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesOdd , IIsOddGate )
+    
+    LSwitchGatesEvenIsEvenGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesEven , IIsEvenGate )
+    
+    LSwitchGatesdefaultdefaultNodeGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesdefault , IdefaultNodeGate )
+    
+    LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesdefaultBranch.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+    
+    LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OIsOddGate , IEndSwitchGatesDefault )
+    
+    LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OIsEvenGate , IEndSwitchGatesDefault )
+    
+    LdefaultNodeGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OdefaultNodeGate , IEndSwitchGatesDefault )
+    
+    # Input datas
+    ILoopGatesIndex.Input( 0 )
+    ILoopGatesMax.Input( 13 )
+    ILoopGatesMin.Input( -7 )
+    
+    # Output Ports of the graph
+    #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+    #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+    #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+    return GraphSwitchGatesdefaultBranch
+
+
+GraphSwitchGatesdefaultBranch = DefGraphSwitchGatesdefaultBranch()
diff --git a/examples/GraphSwitchGatesdefaultBranch.xml b/examples/GraphSwitchGatesdefaultBranch.xml
new file mode 100644 (file)
index 0000000..811665e
--- /dev/null
@@ -0,0 +1,399 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchGatesdefaultBranch</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchGatesdefaultBranch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>LoopGates__Min</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoopGates__Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>16/2/2005 - 10:40:8</creation-date>
+    <lastmodification-date>16/2/2005 - 15:13:4</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>LoopGates</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoopGates</coupled-node>
+    <service>
+<service-name>LoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Max,Min) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min    ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>NextLoop</FuncName>
+      <PyFunc><![CDATA[def  NextLoop(Index,Max,Min) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>13</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoopGates</node-name>
+    <kind>5</kind>
+    <coupled-node>LoopGates</coupled-node>
+    <service>
+<service-name>EndLoopGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>875</x-position>
+    <y-position>216</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>SwitchGates</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitchGates</coupled-node>
+    <service>
+<service-name>SwitchGates</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>default</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+      <PyFunc><![CDATA[def SwitchGates(Index) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    Odd = 0    ]]></PyFunc>
+      <PyFunc><![CDATA[    Even = 0    ]]></PyFunc>
+      <PyFunc><![CDATA[    default = 0 ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index > 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 1 :    ]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1    ]]></PyFunc>
+      <PyFunc><![CDATA[        if (Index & 1) == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[            Even = 1    ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        default = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return Odd,Even,default ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>204</x-position>
+    <y-position>236</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitchGates</node-name>
+    <kind>7</kind>
+    <coupled-node>SwitchGates</coupled-node>
+    <service>
+<service-name>EndSwitchGates</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>647</x-position>
+    <y-position>272</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>424</x-position>
+    <y-position>116</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>IsEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsEven</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def IsEven() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:4:47</creation-date>
+    <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>428</x-position>
+    <y-position>345</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>defaultNode</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>defaultNode</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>defaultNode</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def defaultNode() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>16/2/2005 - 15:12:49</creation-date>
+    <lastmodification-date>16/2/2005 - 15:12:49</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>425</x-position>
+    <y-position>232</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>SwitchGates</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>LoopGates</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>IsEven</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>SwitchGates</fromnode-name>
+    <fromserviceparameter-name>default</fromserviceparameter-name>
+    <tonode-name>defaultNode</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoopGates</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>IsEven</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>defaultNode</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitchGates</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesdefaultBranch</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesdefaultBranch</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+    <tonode-name>LoopGates</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>GraphSwitchGatesdefaultBranch</fromnode-name>
+    <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+    <tonode-name>LoopGates</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchManyCases.py b/examples/GraphSwitchManyCases.py
new file mode 100644 (file)
index 0000000..8482780
--- /dev/null
@@ -0,0 +1,233 @@
+
+# Generated python file of Graph GraphSwitchManyCases
+
+from SuperV import *
+
+# Graph creation of GraphSwitchManyCases
+def DefGraphSwitchManyCases() :
+    GraphSwitchManyCases = Graph( 'GraphSwitchManyCases' )
+    GraphSwitchManyCases.SetName( 'GraphSwitchManyCases' )
+    GraphSwitchManyCases.SetAuthor( 'JR' )
+    GraphSwitchManyCases.SetComment( '' )
+    GraphSwitchManyCases.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyCase1 = []
+    PyCase1.append( 'from time import *  ' )
+    PyCase1.append( 'def Case1(a) :  ' )
+    PyCase1.append( '    sleep(1)  ' )
+    PyCase1.append( '    return a ' )
+    Case1 = GraphSwitchManyCases.INode( 'Case1' , PyCase1 )
+    Case1.SetName( 'Case1' )
+    Case1.SetAuthor( '' )
+    Case1.SetComment( 'Compute Node' )
+    Case1.Coords( 448 , 13 )
+    ICase1a = Case1.InPort( 'a' , 'long' )
+    ICase1Gate = Case1.GetInPort( 'Gate' )
+    OCase1a = Case1.OutPort( 'a' , 'long' )
+    OCase1Gate = Case1.GetOutPort( 'Gate' )
+    
+    PyCase3 = []
+    PyCase3.append( 'from time import *  ' )
+    PyCase3.append( 'def Case3(b) :  ' )
+    PyCase3.append( '    sleep(1)  ' )
+    PyCase3.append( '    return b  ' )
+    Case3 = GraphSwitchManyCases.INode( 'Case3' , PyCase3 )
+    Case3.SetName( 'Case3' )
+    Case3.SetAuthor( '' )
+    Case3.SetComment( 'Compute Node' )
+    Case3.Coords( 458 , 286 )
+    ICase3b = Case3.InPort( 'b' , 'long' )
+    ICase3Gate = Case3.GetInPort( 'Gate' )
+    OCase3b = Case3.OutPort( 'b' , 'long' )
+    OCase3Gate = Case3.GetOutPort( 'Gate' )
+    
+    PyCase4 = []
+    PyCase4.append( 'from time import *  ' )
+    PyCase4.append( 'def Case4(c) :  ' )
+    PyCase4.append( '    sleep(1)  ' )
+    PyCase4.append( '    return   ' )
+    Case4 = GraphSwitchManyCases.INode( 'Case4' , PyCase4 )
+    Case4.SetName( 'Case4' )
+    Case4.SetAuthor( '' )
+    Case4.SetComment( 'Compute Node' )
+    Case4.Coords( 459 , 493 )
+    ICase4c = Case4.InPort( 'c' , 'long' )
+    ICase4Gate = Case4.GetInPort( 'Gate' )
+    OCase4Gate = Case4.GetOutPort( 'Gate' )
+    
+    PyCase2a = []
+    PyCase2a.append( 'from time import *  ' )
+    PyCase2a.append( 'def Case2a(a) :  ' )
+    PyCase2a.append( '    sleep(1)  ' )
+    PyCase2a.append( '    return a  ' )
+    Case2a = GraphSwitchManyCases.INode( 'Case2a' , PyCase2a )
+    Case2a.SetName( 'Case2a' )
+    Case2a.SetAuthor( '' )
+    Case2a.SetComment( 'Compute Node' )
+    Case2a.Coords( 453 , 154 )
+    ICase2aa = Case2a.InPort( 'a' , 'long' )
+    ICase2aGate = Case2a.GetInPort( 'Gate' )
+    OCase2aa = Case2a.OutPort( 'a' , 'long' )
+    OCase2aGate = Case2a.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def Init(Index,Max,Min) : ' )
+    PyLoop.append( '    Index = Max ' )
+    PyLoop.append( '    return Index,Max,Min ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def More(Index,Max,Min) : ' )
+    PyMoreLoop.append( '    if Index >= Min : ' )
+    PyMoreLoop.append( '        DoLoop = 1 ' )
+    PyMoreLoop.append( '    else : ' )
+    PyMoreLoop.append( '        DoLoop = 0 ' )
+    PyMoreLoop.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def Next(Index,Max,Min) : ' )
+    PyNextLoop.append( '    Index = Index - 1 ' )
+    PyNextLoop.append( '    return Index,Max,Min ' )
+    Loop,EndLoop = GraphSwitchManyCases.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
+    EndLoop.SetName( 'EndLoop' )
+    EndLoop.SetAuthor( '' )
+    EndLoop.SetComment( 'Compute Node' )
+    EndLoop.Coords( 972 , 344 )
+    PyEndLoop = []
+    EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+    IEndLoopIndex = EndLoop.GetInPort( 'Index' )
+    IEndLoopMax = EndLoop.GetInPort( 'Max' )
+    IEndLoopMin = EndLoop.GetInPort( 'Min' )
+    IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+    OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+    OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+    OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 15 , 336 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *    ' )
+    PySwitch.append( 'def Switch(Index) :    ' )
+    PySwitch.append( '    sleep(1)   ' )
+    PySwitch.append( '    SB1 = 0   ' )
+    PySwitch.append( '    SB2 = 0   ' )
+    PySwitch.append( '    if (Index & 3) == 3 :     ' )
+    PySwitch.append( '        SB1 = 1   ' )
+    PySwitch.append( '    elif (Index & 3) == 0 :     ' )
+    PySwitch.append( '        SB2 = 1   ' )
+    PySwitch.append( '    return SB1,SB2,Index,Index+1,Index+2,Index+3,Index+4,Index+5     ' )
+    Switch,EndSwitch = GraphSwitchManyCases.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 732 , 344 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'from time import *   ' )
+    PyEndSwitch.append( 'def EndSwitch(a,b,dd,e,f) :   ' )
+    PyEndSwitch.append( '    sleep(1)   ' )
+    PyEndSwitch.append( '    if b != (a+1) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if dd != (a+3) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if e != (a+4) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if f != (a+5) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    return a    ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchb = EndSwitch.InPort( 'b' , 'long' )
+    IEndSwitchdd = EndSwitch.InPort( 'dd' , 'long' )
+    IEndSwitche = EndSwitch.InPort( 'e' , 'long' )
+    IEndSwitchf = EndSwitch.InPort( 'f' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitchIndex = EndSwitch.OutPort( 'Index' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 232 , 285 )
+    ISwitchIndex = Switch.InPort( 'Index' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchSB1 = Switch.OutPort( 'SB1' , 'long' )
+    OSwitchSB2 = Switch.OutPort( 'SB2' , 'long' )
+    OSwitcha = Switch.OutPort( 'a' , 'long' )
+    OSwitchb = Switch.OutPort( 'b' , 'long' )
+    OSwitchc = Switch.OutPort( 'c' , 'long' )
+    OSwitchd = Switch.OutPort( 'd' , 'long' )
+    OSwitche = Switch.OutPort( 'e' , 'long' )
+    OSwitchf = Switch.OutPort( 'f' , 'long' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopIndexSwitchIndex = GraphSwitchManyCases.Link( OLoopIndex , ISwitchIndex )
+    
+    LLoopMaxEndLoopMax = GraphSwitchManyCases.Link( OLoopMax , IEndLoopMax )
+    
+    LLoopMinEndLoopMin = GraphSwitchManyCases.Link( OLoopMin , IEndLoopMin )
+    
+    LSwitchSB1Case1Gate = GraphSwitchManyCases.Link( OSwitchSB1 , ICase1Gate )
+    
+    LSwitchSB2Case2aGate = GraphSwitchManyCases.Link( OSwitchSB2 , ICase2aGate )
+    
+    LSwitchaCase1a = GraphSwitchManyCases.Link( OSwitcha , ICase1a )
+    
+    LSwitchaCase2aa = GraphSwitchManyCases.Link( OSwitcha , ICase2aa )
+    
+    LSwitchbCase3b = GraphSwitchManyCases.Link( OSwitchb , ICase3b )
+    
+    LSwitchcCase4c = GraphSwitchManyCases.Link( OSwitchc , ICase4c )
+    
+    LSwitchdEndSwitchdd = GraphSwitchManyCases.Link( OSwitchd , IEndSwitchdd )
+    
+    LSwitcheEndSwitche = GraphSwitchManyCases.Link( OSwitche , IEndSwitche )
+    
+    LSwitchDefaultEndSwitchDefault = GraphSwitchManyCases.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchIndexEndLoopIndex = GraphSwitchManyCases.Link( OEndSwitchIndex , IEndLoopIndex )
+    
+    LCase1aEndSwitcha = GraphSwitchManyCases.Link( OCase1a , IEndSwitcha )
+    
+    LCase3bEndSwitchb = GraphSwitchManyCases.Link( OCase3b , IEndSwitchb )
+    
+    LCase4GateEndSwitchDefault = GraphSwitchManyCases.Link( OCase4Gate , IEndSwitchDefault )
+    
+    LCase2aaEndSwitcha = GraphSwitchManyCases.Link( OCase2aa , IEndSwitcha )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMax.Input( 23 )
+    ILoopMin.Input( -7 )
+    
+    # Input Ports of the graph
+    #IEndSwitchf = EndSwitch.GetInPort( 'f' )
+    
+    # Output Ports of the graph
+    #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+    #OSwitchf = Switch.GetOutPort( 'f' )
+    return GraphSwitchManyCases
+
+
+GraphSwitchManyCases = DefGraphSwitchManyCases()
diff --git a/examples/GraphSwitchManyCases.xml b/examples/GraphSwitchManyCases.xml
new file mode 100644 (file)
index 0000000..da68705
--- /dev/null
@@ -0,0 +1,656 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+ <dataflow>
+  <info-list>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchManyCases</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>GraphSwitchManyCases_1</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>EndSwitch__f</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Index</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Max</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Min</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch__f</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>29/6/2005 - 16:32:43</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</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>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoop</coupled-node>
+    <service>
+     <service-name>Loop</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min : ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0 ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>
+     </PyFunction>
+     <PyFunction>
+      <FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>15</x-position>
+    <y-position>336</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+     <service-name>EndLoop</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>EndLoop</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>972</x-position>
+    <y-position>344</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+     <service-name>Switch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>SB1</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>SB2</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>b</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>c</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>d</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>e</outParameter-name>
+      </outParameter>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>f</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(Index) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    SB1 = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    SB2 = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if (Index & 3) == 3 :     ]]></PyFunc>
+      <PyFunc><![CDATA[        SB1 = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    elif (Index & 3) == 0 :     ]]></PyFunc>
+      <PyFunc><![CDATA[        SB2 = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return SB1,SB2,Index,Index+1,Index+2,Index+3,Index+4,Index+5     ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>232</x-position>
+    <y-position>285</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+     <service-name>EndSwitch</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>b</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>dd</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>e</inParameter-name>
+      </inParameter>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>f</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitch(a,b,dd,e,f) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    if b != (a+1) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if dd != (a+3) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if e != (a+4) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if f != (a+5) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a    ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>732</x-position>
+    <y-position>344</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Case1</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Case1</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case1(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>448</x-position>
+    <y-position>13</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case3</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Case3</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>b</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>b</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Case3</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case3(b) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return b  ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>458</x-position>
+    <y-position>286</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case4</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Case4</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>c</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list/>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Case4</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case4(c) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return   ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>459</x-position>
+    <y-position>493</y-position>
+   </node>
+   <node>
+    <component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case2a</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+     <service-name>Case2a</service-name>
+     <inParameter-list>
+      <inParameter>
+       <inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>
+      </inParameter>
+     </inParameter-list>
+     <outParameter-list>
+      <outParameter>
+       <outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>
+      </outParameter>
+     </outParameter-list>
+    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+     <PyFunction>
+      <FuncName>Case2a</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case2a(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>
+     </PyFunction>
+    </PyFunction-list>
+    <creation-date>25/8/2005 - 12:41:10</creation-date>
+    <lastmodification-date>25/8/2005 - 12:41:10</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>453</x-position>
+    <y-position>154</y-position>
+   </node>
+  </node-list>
+  <link-list>
+   <link>
+    <fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EndLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>SB1</fromserviceparameter-name>
+    <tonode-name>Case1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>SB2</fromserviceparameter-name>
+    <tonode-name>Case2a</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Case1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Case2a</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>b</fromserviceparameter-name>
+    <tonode-name>Case3</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>c</fromserviceparameter-name>
+    <tonode-name>Case4</tonode-name>
+    <toserviceparameter-name>c</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>d</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>dd</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>e</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>e</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Case1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Case3</fromnode-name>
+    <fromserviceparameter-name>b</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Case4</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>
+   </link>
+   <link>
+    <fromnode-name>Case2a</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>
+   </link>
+  </link-list>
+  <data-list>
+   <data>
+    <fromnode-name>GraphSwitchManyCases</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphSwitchManyCases</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>23</value>
+    </data-value>
+    <coord-list/>
+   </data>
+   <data>
+    <fromnode-name>GraphSwitchManyCases</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+     <value-type>3</value-type>
+     <value>-7</value>
+    </data-value>
+    <coord-list/>
+   </data>
+  </data-list>
+ </dataflow>
+</supergraph>
+
diff --git a/examples/GraphSwitchManyCasesNOTValid.py b/examples/GraphSwitchManyCasesNOTValid.py
new file mode 100644 (file)
index 0000000..ff312e3
--- /dev/null
@@ -0,0 +1,250 @@
+
+# Generated python file of Graph GraphSwitchManyCasesNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphSwitchManyCasesNOTValid
+def DefGraphSwitchManyCasesNOTValid() :
+    GraphSwitchManyCasesNOTValid = Graph( 'GraphSwitchManyCasesNOTValid' )
+    GraphSwitchManyCasesNOTValid.SetName( 'GraphSwitchManyCasesNOTValid' )
+    GraphSwitchManyCasesNOTValid.SetAuthor( 'JR' )
+    GraphSwitchManyCasesNOTValid.SetComment( '' )
+    GraphSwitchManyCasesNOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyCase1 = []
+    PyCase1.append( 'from time import *  ' )
+    PyCase1.append( 'def Case1(a) :  ' )
+    PyCase1.append( '    sleep(1)  ' )
+    PyCase1.append( '    return a ' )
+    Case1 = GraphSwitchManyCasesNOTValid.INode( 'Case1' , PyCase1 )
+    Case1.SetName( 'Case1' )
+    Case1.SetAuthor( '' )
+    Case1.SetComment( 'Compute Node' )
+    Case1.Coords( 448 , 13 )
+    ICase1a = Case1.InPort( 'a' , 'long' )
+    ICase1Gate = Case1.GetInPort( 'Gate' )
+    OCase1a = Case1.OutPort( 'a' , 'long' )
+    OCase1Gate = Case1.GetOutPort( 'Gate' )
+    
+    PyCase3 = []
+    PyCase3.append( 'from time import *  ' )
+    PyCase3.append( 'def Case3(b) :  ' )
+    PyCase3.append( '    sleep(1)  ' )
+    PyCase3.append( '    return b  ' )
+    Case3 = GraphSwitchManyCasesNOTValid.INode( 'Case3' , PyCase3 )
+    Case3.SetName( 'Case3' )
+    Case3.SetAuthor( '' )
+    Case3.SetComment( 'Compute Node' )
+    Case3.Coords( 461 , 500 )
+    ICase3b = Case3.InPort( 'b' , 'long' )
+    ICase3Gate = Case3.GetInPort( 'Gate' )
+    OCase3b = Case3.OutPort( 'b' , 'long' )
+    OCase3Gate = Case3.GetOutPort( 'Gate' )
+    
+    PyCase4 = []
+    PyCase4.append( 'from time import *  ' )
+    PyCase4.append( 'def Case4(c) :  ' )
+    PyCase4.append( '    sleep(1)  ' )
+    PyCase4.append( '    return   ' )
+    Case4 = GraphSwitchManyCasesNOTValid.INode( 'Case4' , PyCase4 )
+    Case4.SetName( 'Case4' )
+    Case4.SetAuthor( '' )
+    Case4.SetComment( 'Compute Node' )
+    Case4.Coords( 455 , 647 )
+    ICase4c = Case4.InPort( 'c' , 'long' )
+    ICase4Gate = Case4.GetInPort( 'Gate' )
+    OCase4Gate = Case4.GetOutPort( 'Gate' )
+    
+    PyCase2 = []
+    PyCase2.append( 'from time import *  ' )
+    PyCase2.append( 'def Case2() :  ' )
+    PyCase2.append( '    sleep(1)  ' )
+    PyCase2.append( '    return  ' )
+    Case2 = GraphSwitchManyCasesNOTValid.INode( 'Case2' , PyCase2 )
+    Case2.SetName( 'Case2' )
+    Case2.SetAuthor( '' )
+    Case2.SetComment( 'Compute Node' )
+    Case2.Coords( 455 , 179 )
+    ICase2Gate = Case2.GetInPort( 'Gate' )
+    OCase2Gate = Case2.GetOutPort( 'Gate' )
+    
+    PyCase2a = []
+    PyCase2a.append( 'from time import *  ' )
+    PyCase2a.append( 'def Case2a(a) :  ' )
+    PyCase2a.append( '    sleep(1)  ' )
+    PyCase2a.append( '    return a  ' )
+    Case2a = GraphSwitchManyCasesNOTValid.INode( 'Case2a' , PyCase2a )
+    Case2a.SetName( 'Case2a' )
+    Case2a.SetAuthor( '' )
+    Case2a.SetComment( 'Compute Node' )
+    Case2a.Coords( 456 , 304 )
+    ICase2aa = Case2a.InPort( 'a' , 'long' )
+    ICase2aGate = Case2a.GetInPort( 'Gate' )
+    OCase2aa = Case2a.OutPort( 'a' , 'long' )
+    OCase2aGate = Case2a.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyLoop = []
+    PyLoop.append( 'def Init(Index,Max,Min) : ' )
+    PyLoop.append( '    Index = Max ' )
+    PyLoop.append( '    return Index,Max,Min ' )
+    PyMoreLoop = []
+    PyMoreLoop.append( 'def More(Index,Max,Min) : ' )
+    PyMoreLoop.append( '    if Index >= Min : ' )
+    PyMoreLoop.append( '        DoLoop = 1 ' )
+    PyMoreLoop.append( '    else : ' )
+    PyMoreLoop.append( '        DoLoop = 0 ' )
+    PyMoreLoop.append( '    return DoLoop,Index,Max,Min ' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def Next(Index,Max,Min) : ' )
+    PyNextLoop.append( '    Index = Index - 1 ' )
+    PyNextLoop.append( '    return Index,Max,Min ' )
+    Loop,EndLoop = GraphSwitchManyCasesNOTValid.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
+    EndLoop.SetName( 'EndLoop' )
+    EndLoop.SetAuthor( '' )
+    EndLoop.SetComment( 'Compute Node' )
+    EndLoop.Coords( 972 , 344 )
+    PyEndLoop = []
+    EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopMin = Loop.InPort( 'Min' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    OLoopMin = Loop.GetOutPort( 'Min' )
+    IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+    IEndLoopIndex = EndLoop.GetInPort( 'Index' )
+    IEndLoopMax = EndLoop.GetInPort( 'Max' )
+    IEndLoopMin = EndLoop.GetInPort( 'Min' )
+    IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+    OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+    OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+    OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 15 , 336 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *    ' )
+    PySwitch.append( 'def Switch(Index) :    ' )
+    PySwitch.append( '    sleep(1)   ' )
+    PySwitch.append( '    SB1 = 0   ' )
+    PySwitch.append( '    SB2 = 0   ' )
+    PySwitch.append( '    if (Index & 3) == 3 :     ' )
+    PySwitch.append( '        SB1 = 1   ' )
+    PySwitch.append( '    elif (Index & 3) == 0 :     ' )
+    PySwitch.append( '        SB2 = 1   ' )
+    PySwitch.append( '    return SB1,SB2,Index,Index+1,Index+2,Index+3,Index+4,Index+5     ' )
+    Switch,EndSwitch = GraphSwitchManyCasesNOTValid.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 732 , 344 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'from time import *   ' )
+    PyEndSwitch.append( 'def EndSwitch(a,b,dd,e,f) :   ' )
+    PyEndSwitch.append( '    sleep(1)   ' )
+    PyEndSwitch.append( '    if b != (a+1) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if dd != (a+3) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if e != (a+4) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    if f != (a+5) :  ' )
+    PyEndSwitch.append( '        print 'EndSwitch ERROR' ' )
+    PyEndSwitch.append( '        pass  ' )
+    PyEndSwitch.append( '    return a    ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchb = EndSwitch.InPort( 'b' , 'long' )
+    IEndSwitchdd = EndSwitch.InPort( 'dd' , 'long' )
+    IEndSwitche = EndSwitch.InPort( 'e' , 'long' )
+    IEndSwitchf = EndSwitch.InPort( 'f' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitchIndex = EndSwitch.OutPort( 'Index' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 232 , 285 )
+    ISwitchIndex = Switch.InPort( 'Index' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchSB1 = Switch.OutPort( 'SB1' , 'long' )
+    OSwitchSB2 = Switch.OutPort( 'SB2' , 'long' )
+    OSwitcha = Switch.OutPort( 'a' , 'long' )
+    OSwitchb = Switch.OutPort( 'b' , 'long' )
+    OSwitchc = Switch.OutPort( 'c' , 'long' )
+    OSwitchd = Switch.OutPort( 'd' , 'long' )
+    OSwitche = Switch.OutPort( 'e' , 'long' )
+    OSwitchf = Switch.OutPort( 'f' , 'long' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LLoopIndexSwitchIndex = GraphSwitchManyCasesNOTValid.Link( OLoopIndex , ISwitchIndex )
+    
+    LLoopMaxEndLoopMax = GraphSwitchManyCasesNOTValid.Link( OLoopMax , IEndLoopMax )
+    
+    LLoopMinEndLoopMin = GraphSwitchManyCasesNOTValid.Link( OLoopMin , IEndLoopMin )
+    
+    LSwitchSB1Case1Gate = GraphSwitchManyCasesNOTValid.Link( OSwitchSB1 , ICase1Gate )
+    
+    LSwitchSB2Case2Gate = GraphSwitchManyCasesNOTValid.Link( OSwitchSB2 , ICase2Gate )
+    
+    LSwitchSB2Case2aGate = GraphSwitchManyCasesNOTValid.Link( OSwitchSB2 , ICase2aGate )
+    
+    LSwitchaCase1a = GraphSwitchManyCasesNOTValid.Link( OSwitcha , ICase1a )
+    
+    LSwitchaCase2aa = GraphSwitchManyCasesNOTValid.Link( OSwitcha , ICase2aa )
+    
+    LSwitchbCase3b = GraphSwitchManyCasesNOTValid.Link( OSwitchb , ICase3b )
+    
+    LSwitchcCase4c = GraphSwitchManyCasesNOTValid.Link( OSwitchc , ICase4c )
+    
+    LSwitchdEndSwitchdd = GraphSwitchManyCasesNOTValid.Link( OSwitchd , IEndSwitchdd )
+    
+    LSwitcheEndSwitche = GraphSwitchManyCasesNOTValid.Link( OSwitche , IEndSwitche )
+    
+    LSwitchDefaultEndSwitchDefault = GraphSwitchManyCasesNOTValid.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchIndexEndLoopIndex = GraphSwitchManyCasesNOTValid.Link( OEndSwitchIndex , IEndLoopIndex )
+    
+    LCase1aEndSwitcha = GraphSwitchManyCasesNOTValid.Link( OCase1a , IEndSwitcha )
+    
+    LCase3bEndSwitchb = GraphSwitchManyCasesNOTValid.Link( OCase3b , IEndSwitchb )
+    
+    LCase4GateEndSwitchDefault = GraphSwitchManyCasesNOTValid.Link( OCase4Gate , IEndSwitchDefault )
+    
+    LCase2GateEndSwitchDefault = GraphSwitchManyCasesNOTValid.Link( OCase2Gate , IEndSwitchDefault )
+    
+    LCase2aaEndSwitcha = GraphSwitchManyCasesNOTValid.Link( OCase2aa , IEndSwitcha )
+    
+    # Input datas
+    ILoopIndex.Input( 0 )
+    ILoopMax.Input( 23 )
+    ILoopMin.Input( -7 )
+    
+    # Input Ports of the graph
+    #IEndSwitchf = EndSwitch.GetInPort( 'f' )
+    
+    # Output Ports of the graph
+    #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    #OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+    #OSwitchf = Switch.GetOutPort( 'f' )
+    return GraphSwitchManyCasesNOTValid
+
+
+GraphSwitchManyCasesNOTValid = DefGraphSwitchManyCasesNOTValid()
diff --git a/examples/GraphSwitchManyCasesNOTValid.xml b/examples/GraphSwitchManyCasesNOTValid.xml
new file mode 100644 (file)
index 0000000..4883fb3
--- /dev/null
@@ -0,0 +1,567 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchManyCasesNOTValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchManyCases_1_1_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndSwitch__f</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Switch__f</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>29/6/2005 - 16:32:43</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</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>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoop</coupled-node>
+    <service>
+<service-name>Loop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+      <PyFunc><![CDATA[def Init(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Max ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    if Index >= Min : ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0 ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,Index,Max,Min ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Max,Min) : ]]></PyFunc>
+      <PyFunc><![CDATA[    Index = Index - 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return Index,Max,Min ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>15</x-position>
+    <y-position>336</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndLoop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Min</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>Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Min</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoop</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>972</x-position>
+    <y-position>344</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>SB1</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>SB2</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>b</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>c</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>d</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>e</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>f</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(Index) :    ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    SB1 = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    SB2 = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    if (Index & 3) == 3 :     ]]></PyFunc>
+      <PyFunc><![CDATA[        SB1 = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    elif (Index & 3) == 0 :     ]]></PyFunc>
+      <PyFunc><![CDATA[        SB2 = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return SB1,SB2,Index,Index+1,Index+2,Index+3,Index+4,Index+5     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>232</x-position>
+    <y-position>285</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>b</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>dd</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>e</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>f</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Index</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def EndSwitch(a,b,dd,e,f) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
+      <PyFunc><![CDATA[    if b != (a+1) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if dd != (a+3) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if e != (a+4) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    if f != (a+5) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        print 'EndSwitch ERROR' ]]></PyFunc>
+      <PyFunc><![CDATA[        pass  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>732</x-position>
+    <y-position>344</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case1</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Case1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Case1</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case1(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>448</x-position>
+    <y-position>13</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case3</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Case3</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>b</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>b</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Case3</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case3(b) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return b  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>461</x-position>
+    <y-position>500</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case4</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Case4</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>c</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Case4</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case4(c) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>455</x-position>
+    <y-position>647</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case2</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Case2</service-name>
+     <inParameter-list/>
+     <outParameter-list/>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Case2</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case2() :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>455</x-position>
+    <y-position>179</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Case2a</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>Case2a</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Case2a</FuncName>
+      <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def Case2a(a) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:6:33</creation-date>
+    <lastmodification-date>8/7/2005 - 15:6:33</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>456</x-position>
+    <y-position>304</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>SB1</fromserviceparameter-name>
+    <tonode-name>Case1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>SB2</fromserviceparameter-name>
+    <tonode-name>Case2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>SB2</fromserviceparameter-name>
+    <tonode-name>Case2a</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Case1</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>Case2a</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>b</fromserviceparameter-name>
+    <tonode-name>Case3</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>c</fromserviceparameter-name>
+    <tonode-name>Case4</tonode-name>
+    <toserviceparameter-name>c</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>d</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>dd</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>e</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>e</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Case1</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Case3</fromnode-name>
+    <fromserviceparameter-name>b</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>b</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Case4</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Case2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Case2a</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchManyCasesNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Index</fromserviceparameter-name>
+    <tonode-name>Loop</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>GraphSwitchManyCasesNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchManyCasesNOTValid</fromnode-name>
+    <fromserviceparameter-name>Loop__Min</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>-7</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchNOTExecutable.py b/examples/GraphSwitchNOTExecutable.py
new file mode 100644 (file)
index 0000000..028cb26
--- /dev/null
@@ -0,0 +1,142 @@
+
+# Generated python file of Graph GraphSwitchNOTExecutable
+
+from SuperV import *
+
+# Graph creation of GraphSwitchNOTExecutable
+def DefGraphSwitchNOTExecutable() :
+    GraphSwitchNOTExecutable = Graph( 'GraphSwitchNOTExecutable' )
+    GraphSwitchNOTExecutable.SetName( 'GraphSwitchNOTExecutable' )
+    GraphSwitchNOTExecutable.SetAuthor( '' )
+    GraphSwitchNOTExecutable.SetComment( '' )
+    GraphSwitchNOTExecutable.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchNOTExecutable.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchNOTExecutable.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 776 , 170 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitchNOTExecutable.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 582 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitchn = Switch.OutPort( 'n' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchNOTExecutable.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 564 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 564 , 137 )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchNOTExecutable.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchNOTExecutable.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchNOTExecutable.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchNOTExecutable.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchnIsOdda = GraphSwitchNOTExecutable.Link( OSwitchn , IIsOdda )
+    LSwitchnIsOdda.AddCoord( 1 , 371 , 136 )
+    LSwitchnIsOdda.AddCoord( 2 , 371 , 200 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchNOTExecutable.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchNOTExecutable.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 100 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchNOTExecutable
+
+
+GraphSwitchNOTExecutable = DefGraphSwitchNOTExecutable()
diff --git a/examples/GraphSwitchNOTExecutable.xml b/examples/GraphSwitchNOTExecutable.xml
new file mode 100644 (file)
index 0000000..9efc0a7
--- /dev/null
@@ -0,0 +1,344 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchNOTExecutable</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitch_3</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:49:45</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:49:45</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:49:45</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>776</x-position>
+    <y-position>170</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:49:45</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:49:45</creation-date>
+    <lastmodification-date>22/6/2005 - 16:49:45</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>582</x-position>
+    <y-position>170</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>564</x>
+      <y>201</y>     </coord>
+     <coord>
+<x>564</x>
+      <y>137</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>371</x>
+      <y>136</y>     </coord>
+     <coord>
+<x>371</x>
+      <y>200</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchNOTExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchNOTExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchNOTExecutable</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>100</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchNOTExecutable1.py b/examples/GraphSwitchNOTExecutable1.py
new file mode 100644 (file)
index 0000000..7849487
--- /dev/null
@@ -0,0 +1,144 @@
+
+# Generated python file of Graph GraphSwitchNOTExecutable1
+
+from SuperV import *
+
+# Graph creation of GraphSwitchNOTExecutable1
+def DefGraphSwitchNOTExecutable1() :
+    GraphSwitchNOTExecutable1 = Graph( 'GraphSwitchNOTExecutable1' )
+    GraphSwitchNOTExecutable1.SetName( 'GraphSwitchNOTExecutable1' )
+    GraphSwitchNOTExecutable1.SetAuthor( '' )
+    GraphSwitchNOTExecutable1.SetComment( '' )
+    GraphSwitchNOTExecutable1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchNOTExecutable1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchNOTExecutable1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 776 , 170 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitchNOTExecutable1.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 582 , 170 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitchn = Switch.OutPort( 'n' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchNOTExecutable1.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 564 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 564 , 137 )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchNOTExecutable1.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchNOTExecutable1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchNOTExecutable1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchNOTExecutable1.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchnIsOdda = GraphSwitchNOTExecutable1.Link( OSwitchn , IIsOdda )
+    LSwitchnIsOdda.AddCoord( 1 , 371 , 136 )
+    LSwitchnIsOdda.AddCoord( 2 , 371 , 200 )
+    
+    LSwitchnEndOfSwitcha = GraphSwitchNOTExecutable1.Link( OSwitchn , IEndOfSwitcha )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchNOTExecutable1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchNOTExecutable1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 100 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchNOTExecutable1
+
+
+GraphSwitchNOTExecutable1 = DefGraphSwitchNOTExecutable1()
diff --git a/examples/GraphSwitchNOTExecutable1.xml b/examples/GraphSwitchNOTExecutable1.xml
new file mode 100644 (file)
index 0000000..186c069
--- /dev/null
@@ -0,0 +1,350 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchNOTExecutable1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchExecutable_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:57:22</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:57:22</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:57:22</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>776</x-position>
+    <y-position>170</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:57:22</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 16:57:22</creation-date>
+    <lastmodification-date>22/6/2005 - 16:57:22</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>582</x-position>
+    <y-position>170</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>564</x>
+      <y>201</y>     </coord>
+     <coord>
+<x>564</x>
+      <y>137</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>371</x>
+      <y>136</y>     </coord>
+     <coord>
+<x>371</x>
+      <y>200</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchNOTExecutable1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchNOTExecutable1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchNOTExecutable1</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>100</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSwitchNOTExecutable2.py b/examples/GraphSwitchNOTExecutable2.py
new file mode 100644 (file)
index 0000000..ae08f73
--- /dev/null
@@ -0,0 +1,147 @@
+
+# Generated python file of Graph GraphSwitchNOTExecutable2
+
+from SuperV import *
+
+# Graph creation of GraphSwitchNOTExecutable2
+def DefGraphSwitchNOTExecutable2() :
+    GraphSwitchNOTExecutable2 = Graph( 'GraphSwitchNOTExecutable2' )
+    GraphSwitchNOTExecutable2.SetName( 'GraphSwitchNOTExecutable2' )
+    GraphSwitchNOTExecutable2.SetAuthor( 'JR' )
+    GraphSwitchNOTExecutable2.SetComment( '' )
+    GraphSwitchNOTExecutable2.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from time import *   ' )
+    PyIsOdd.append( 'def IsOdd(a) :       ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
+    PyIsOdd.append( '    sleep( 1 )   ' )
+    PyIsOdd.append( '    return a     ' )
+    IsOdd = GraphSwitchNOTExecutable2.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 389 , 65 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoopSwitch = []
+    PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+    PyInitLoopSwitch.append( ' return Index,Min,Max     ' )
+    PyMoreInitLoopSwitch = []
+    PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+    PyMoreInitLoopSwitch.append( '     if Index <= Max :   ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 1     ' )
+    PyMoreInitLoopSwitch.append( '     else :     ' )
+    PyMoreInitLoopSwitch.append( '             DoLoop = 0     ' )
+    PyMoreInitLoopSwitch.append( '     return DoLoop,Index,Min,Max     ' )
+    PyNextInitLoopSwitch = []
+    PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+    PyNextInitLoopSwitch.append( '     Index = Index + 1     ' )
+    PyNextInitLoopSwitch.append( '     return Index,Min,Max     ' )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchNOTExecutable2.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+    EndOfInitLoopSwitch.SetAuthor( '' )
+    EndOfInitLoopSwitch.SetComment( 'Compute Node' )
+    EndOfInitLoopSwitch.Coords( 772 , 132 )
+    PyEndOfInitLoopSwitch = []
+    EndOfInitLoopSwitch.SetPyFunction( '' , PyEndOfInitLoopSwitch )
+    IInitLoopSwitchDoLoop = InitLoopSwitch.GetInPort( 'DoLoop' )
+    IInitLoopSwitchIndex = InitLoopSwitch.InPort( 'Index' , 'long' )
+    IInitLoopSwitchMin = InitLoopSwitch.InPort( 'Min' , 'long' )
+    IInitLoopSwitchMax = InitLoopSwitch.InPort( 'Max' , 'long' )
+    IInitLoopSwitchGate = InitLoopSwitch.GetInPort( 'Gate' )
+    OInitLoopSwitchDoLoop = InitLoopSwitch.GetOutPort( 'DoLoop' )
+    OInitLoopSwitchIndex = InitLoopSwitch.GetOutPort( 'Index' )
+    OInitLoopSwitchMin = InitLoopSwitch.GetOutPort( 'Min' )
+    OInitLoopSwitchMax = InitLoopSwitch.GetOutPort( 'Max' )
+    IEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetInPort( 'DoLoop' )
+    IEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetInPort( 'Index' )
+    IEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetInPort( 'Min' )
+    IEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetInPort( 'Max' )
+    IEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetInPort( 'Gate' )
+    OEndOfInitLoopSwitchDoLoop = EndOfInitLoopSwitch.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    OEndOfInitLoopSwitchGate = EndOfInitLoopSwitch.GetOutPort( 'Gate' )
+    InitLoopSwitch.SetName( 'InitLoopSwitch' )
+    InitLoopSwitch.SetAuthor( '' )
+    InitLoopSwitch.SetComment( 'Compute Node' )
+    InitLoopSwitch.Coords( 10 , 129 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import * ' )
+    PySwitch.append( 'def Switch(a) :   ' )
+    PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitchNOTExecutable2.SNode( 'Switch' , PySwitch )
+    EndOfSwitch.SetName( 'EndOfSwitch' )
+    EndOfSwitch.SetAuthor( '' )
+    EndOfSwitch.SetComment( 'Compute Node' )
+    EndOfSwitch.Coords( 581 , 132 )
+    PyEndOfSwitch = []
+    EndOfSwitch.SetPyFunction( '' , PyEndOfSwitch )
+    IEndOfSwitcha = EndOfSwitch.InPort( 'a' , 'long' )
+    IEndOfSwitchEven = EndOfSwitch.InPort( 'Even' , 'long' )
+    IEndOfSwitchk = EndOfSwitch.InPort( 'k' , 'long' )
+    IEndOfSwitchDefault = EndOfSwitch.GetInPort( 'Default' )
+    OEndOfSwitcha = EndOfSwitch.OutPort( 'a' , 'long' )
+    OEndOfSwitchGate = EndOfSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 129 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitchn = Switch.OutPort( 'n' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndOfSwitcha = GraphSwitchNOTExecutable2.Link( OIsOdda , IEndOfSwitcha )
+    
+    LInitLoopSwitchIndexSwitcha = GraphSwitchNOTExecutable2.Link( OInitLoopSwitchIndex , ISwitcha )
+    
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchNOTExecutable2.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchNOTExecutable2.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchNOTExecutable2.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchnIsOdda = GraphSwitchNOTExecutable2.Link( OSwitchn , IIsOdda )
+    LSwitchnIsOdda.AddCoord( 1 , 371 , 136 )
+    LSwitchnIsOdda.AddCoord( 2 , 371 , 200 )
+    
+    LSwitchnEndOfSwitchk = GraphSwitchNOTExecutable2.Link( OSwitchn , IEndOfSwitchk )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchNOTExecutable2.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchNOTExecutable2.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    
+    # Input datas
+    IInitLoopSwitchIndex.Input( 0 )
+    IInitLoopSwitchMin.Input( 0 )
+    IInitLoopSwitchMax.Input( 100 )
+    
+    # Input Ports of the graph
+    #IEndOfSwitchEven = EndOfSwitch.GetInPort( 'Even' )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
+    #OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
+    #OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
+    #OSwitchEven = Switch.GetOutPort( 'Even' )
+    return GraphSwitchNOTExecutable2
+
+
+GraphSwitchNOTExecutable2 = DefGraphSwitchNOTExecutable2()
diff --git a/examples/GraphSwitchNOTExecutable2.xml b/examples/GraphSwitchNOTExecutable2.xml
new file mode 100644 (file)
index 0000000..71efb27
--- /dev/null
@@ -0,0 +1,353 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchNOTExecutable2</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSwitchExecutable</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoopSwitch__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndOfSwitch__Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoopSwitch__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Switch__Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>1/10/2003 - 17:23:54</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>23/6/2005 - 10:53:15</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>389</x-position>
+    <y-position>65</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoopSwitch</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoopSwitch</coupled-node>
+    <service>
+<service-name>InitLoopSwitch</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>MoreLoop</FuncName>
+      <PyFunc><![CDATA[def MoreLoop(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>NextLoop</FuncName>
+      <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1     ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>23/6/2005 - 10:53:15</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoopSwitch</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoopSwitch</coupled-node>
+    <service>
+<service-name>EndOfInitLoopSwitch</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>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>23/6/2005 - 10:53:15</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>772</x-position>
+    <y-position>132</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndOfSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>n</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+      <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>23/6/2005 - 10:53:15</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>129</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndOfSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>k</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>23/6/2005 - 10:53:15</creation-date>
+    <lastmodification-date>23/6/2005 - 10:53:15</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>581</x-position>
+    <y-position>132</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoopSwitch</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>371</x>
+      <y>136</y>     </coord>
+     <coord>
+<x>371</x>
+      <y>200</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>n</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>k</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndOfSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchNOTExecutable2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</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>GraphSwitchNOTExecutable2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSwitchNOTExecutable2</fromnode-name>
+    <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
+    <tonode-name>InitLoopSwitch</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>100</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 94ae98d33b61a9d924e2f6f3936734db2b54261b..bf061a15a9ad850edb24c9ce77c45bc5c4d83a0e 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph GraphSwitch_1_1_1
+# Generated python file of Graph GraphSwitchOutputNOTValid
 
 from SuperV import *
 
-# Graph creation of GraphSwitch_1_1_1
-def DefGraphSwitch_1_1_1() :
-    GraphSwitch_1_1_1 = Graph( 'GraphSwitch_1_1_1' )
-    GraphSwitch_1_1_1.SetName( 'GraphSwitch_1_1_1' )
-    GraphSwitch_1_1_1.SetAuthor( '' )
-    GraphSwitch_1_1_1.SetComment( '' )
-    GraphSwitch_1_1_1.Coords( 0 , 0 )
+# Graph creation of GraphSwitchOutputNOTValid
+def DefGraphSwitchOutputNOTValid() :
+    GraphSwitchOutputNOTValid = Graph( 'GraphSwitchOutputNOTValid' )
+    GraphSwitchOutputNOTValid.SetName( 'GraphSwitchOutputNOTValid' )
+    GraphSwitchOutputNOTValid.SetAuthor( 'JR' )
+    GraphSwitchOutputNOTValid.SetComment( '' )
+    GraphSwitchOutputNOTValid.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -20,7 +20,7 @@ def DefGraphSwitch_1_1_1() :
     PyIsOdd.append( '    print a,"IsOdd (GraphSwitch)"      ' )
     PyIsOdd.append( '    sleep( 1 )   ' )
     PyIsOdd.append( '    return a     ' )
-    IsOdd = GraphSwitch_1_1_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd = GraphSwitchOutputNOTValid.INode( 'IsOdd' , PyIsOdd )
     IsOdd.SetName( 'IsOdd' )
     IsOdd.SetAuthor( '' )
     IsOdd.SetComment( 'Python function' )
@@ -36,11 +36,11 @@ def DefGraphSwitch_1_1_1() :
     PyIsEven.append( '    print a,"IsEven (GraphSwitch)"       ' )
     PyIsEven.append( '    sleep( 1 )    ' )
     PyIsEven.append( '    return a      ' )
-    IsEven = GraphSwitch_1_1_1.INode( 'IsEven' , PyIsEven )
+    IsEven = GraphSwitchOutputNOTValid.INode( 'IsEven' , PyIsEven )
     IsEven.SetName( 'IsEven' )
     IsEven.SetAuthor( '' )
     IsEven.SetComment( 'Compute Node' )
-    IsEven.Coords( 395 , 334 )
+    IsEven.Coords( 432 , 337 )
     IIsEvena = IsEven.InPort( 'a' , 'long' )
     IIsEvenGate = IsEven.GetInPort( 'Gate' )
     OIsEvena = IsEven.OutPort( 'a' , 'long' )
@@ -50,11 +50,11 @@ def DefGraphSwitch_1_1_1() :
     PyPrint.append( 'def Print(a,Branch) :   ' )
     PyPrint.append( '    print "Print ",Branch   ' )
     PyPrint.append( '    return a,Branch   ' )
-    Print = GraphSwitch_1_1_1.INode( 'Print' , PyPrint )
+    Print = GraphSwitchOutputNOTValid.INode( 'Print' , PyPrint )
     Print.SetName( 'Print' )
     Print.SetAuthor( '' )
     Print.SetComment( 'Compute Node' )
-    Print.Coords( 639 , 63 )
+    Print.Coords( 639 , 50 )
     IPrinta = Print.InPort( 'a' , 'long' )
     IPrintBranch = Print.InPort( 'Branch' , 'string' )
     IPrintGate = Print.GetInPort( 'Gate' )
@@ -66,11 +66,11 @@ def DefGraphSwitch_1_1_1() :
     PyPrint_1.append( 'def Print_1(a,Branch) :   ' )
     PyPrint_1.append( '    print "Print ",Branch   ' )
     PyPrint_1.append( '    return a,Branch   ' )
-    Print_1 = GraphSwitch_1_1_1.INode( 'Print_1' , PyPrint_1 )
+    Print_1 = GraphSwitchOutputNOTValid.INode( 'Print_1' , PyPrint_1 )
     Print_1.SetName( 'Print_1' )
     Print_1.SetAuthor( '' )
     Print_1.SetComment( 'Compute Node' )
-    Print_1.Coords( 639 , 263 )
+    Print_1.Coords( 645 , 250 )
     IPrint_1a = Print_1.InPort( 'a' , 'long' )
     IPrint_1Branch = Print_1.InPort( 'Branch' , 'string' )
     IPrint_1Gate = Print_1.GetInPort( 'Gate' )
@@ -94,7 +94,7 @@ def DefGraphSwitch_1_1_1() :
     PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :      ' )
     PyNextInitLoopSwitch.append( '     Index = Index - 1      ' )
     PyNextInitLoopSwitch.append( '     return Index,Min,Max      ' )
-    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch_1_1_1.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+    InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchOutputNOTValid.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
     EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
     EndOfInitLoopSwitch.SetAuthor( '' )
     EndOfInitLoopSwitch.SetComment( 'Compute Node' )
@@ -138,7 +138,7 @@ def DefGraphSwitch_1_1_1() :
     PySwitch.append( '        Branch = 'Odd'   ' )
     PySwitch.append( '    sleep(1)   ' )
     PySwitch.append( '    return a & 1,1-(a&1),a,Branch,0 ' )
-    Switch,EndOfSwitch = GraphSwitch_1_1_1.SNode( 'Switch' , PySwitch )
+    Switch,EndOfSwitch = GraphSwitchOutputNOTValid.SNode( 'Switch' , PySwitch )
     EndOfSwitch.SetName( 'EndOfSwitch' )
     EndOfSwitch.SetAuthor( '' )
     EndOfSwitch.SetComment( 'Compute Node' )
@@ -163,35 +163,35 @@ def DefGraphSwitch_1_1_1() :
     OSwitchDefault = Switch.GetOutPort( 'Default' )
     
     # Creation of Links
-    LIsOddaPrinta = GraphSwitch_1_1_1.Link( OIsOdda , IPrinta )
+    LIsOddaPrinta = GraphSwitchOutputNOTValid.Link( OIsOdda , IPrinta )
     
-    LInitLoopSwitchIndexSwitcha = GraphSwitch_1_1_1.Link( OInitLoopSwitchIndex , ISwitcha )
+    LInitLoopSwitchIndexSwitcha = GraphSwitchOutputNOTValid.Link( OInitLoopSwitchIndex , ISwitcha )
     
-    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitch_1_1_1.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
+    LInitLoopSwitchMinEndOfInitLoopSwitchMin = GraphSwitchOutputNOTValid.Link( OInitLoopSwitchMin , IEndOfInitLoopSwitchMin )
     
-    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitch_1_1_1.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
+    LInitLoopSwitchMaxEndOfInitLoopSwitchMax = GraphSwitchOutputNOTValid.Link( OInitLoopSwitchMax , IEndOfInitLoopSwitchMax )
     
-    LIsEvenaPrint_1a = GraphSwitch_1_1_1.Link( OIsEvena , IPrint_1a )
+    LIsEvenaPrint_1a = GraphSwitchOutputNOTValid.Link( OIsEvena , IPrint_1a )
     
-    LSwitchOddIsOddGate = GraphSwitch_1_1_1.Link( OSwitchOdd , IIsOddGate )
+    LSwitchOddIsOddGate = GraphSwitchOutputNOTValid.Link( OSwitchOdd , IIsOddGate )
     
-    LSwitchEvenIsEvenGate = GraphSwitch_1_1_1.Link( OSwitchEven , IIsEvenGate )
+    LSwitchEvenIsEvenGate = GraphSwitchOutputNOTValid.Link( OSwitchEven , IIsEvenGate )
     
-    LSwitchaIsOdda = GraphSwitch_1_1_1.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda = GraphSwitchOutputNOTValid.Link( OSwitcha , IIsOdda )
     
-    LSwitchaIsEvena = GraphSwitch_1_1_1.Link( OSwitcha , IIsEvena )
+    LSwitchaIsEvena = GraphSwitchOutputNOTValid.Link( OSwitcha , IIsEvena )
     
-    LSwitchBranchPrintBranch = GraphSwitch_1_1_1.Link( OSwitchBranch , IPrintBranch )
+    LSwitchBranchPrintBranch = GraphSwitchOutputNOTValid.Link( OSwitchBranch , IPrintBranch )
     
-    LSwitchBranchPrint_1Branch = GraphSwitch_1_1_1.Link( OSwitchBranch , IPrint_1Branch )
+    LSwitchBranchPrint_1Branch = GraphSwitchOutputNOTValid.Link( OSwitchBranch , IPrint_1Branch )
     
-    LSwitchDefaultEndOfSwitchDefault = GraphSwitch_1_1_1.Link( OSwitchDefault , IEndOfSwitchDefault )
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchOutputNOTValid.Link( OSwitchDefault , IEndOfSwitchDefault )
     
-    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitch_1_1_1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
+    LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchOutputNOTValid.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
-    LPrintaEndOfSwitcha = GraphSwitch_1_1_1.Link( OPrinta , IEndOfSwitcha )
+    LPrintaEndOfSwitcha = GraphSwitchOutputNOTValid.Link( OPrinta , IEndOfSwitcha )
     
-    LPrint_1aEndOfSwitcha = GraphSwitch_1_1_1.Link( OPrint_1a , IEndOfSwitcha )
+    LPrint_1aEndOfSwitcha = GraphSwitchOutputNOTValid.Link( OPrint_1a , IEndOfSwitcha )
     
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
@@ -205,7 +205,7 @@ def DefGraphSwitch_1_1_1() :
     #OSwitchdefault = Switch.GetOutPort( 'default' )
     #OPrintBranch = Print.GetOutPort( 'Branch' )
     #OPrint_1Branch = Print_1.GetOutPort( 'Branch' )
-    return GraphSwitch_1_1_1
+    return GraphSwitchOutputNOTValid
 
 
-GraphSwitch_1_1_1 = DefGraphSwitch_1_1_1()
+GraphSwitchOutputNOTValid = DefGraphSwitchOutputNOTValid()
index 30a7c29e61d5313c241246acb3ceb832fc400c29..fd5da864c8bf23f2912ccae8c418c69ca0d5510b 100644 (file)
@@ -5,11 +5,11 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSwitch_1_1_1</node-name>
+    <node-name>GraphSwitchOutputNOTValid</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphSwitch_1_1_1</service-name>
+<service-name>GraphSwitchOutputNOTValid</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
@@ -42,9 +42,9 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>1/10/2003 - 17:23:54</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>1.05</editor-release>
-    <author>?</author>
+    <author>JR</author>
     <container>?</container>
     <comment>?</comment>
     <x-position>0</x-position>
@@ -75,8 +75,8 @@
       <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitch)"      ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
       <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :      ]]></PyFunc>
       <PyFunc><![CDATA[        Index = Index - 1      ]]></PyFunc>
       <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print a,"IsEven (GraphSwitch)"       ]]></PyFunc>
       <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
       <PyFunc><![CDATA[    return a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>395</x-position>
-    <y-position>334</y-position>   </node>
+    <x-position>432</x-position>
+    <y-position>337</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[        Branch = 'Odd'   ]]></PyFunc>
       <PyFunc><![CDATA[    sleep(1)   ]]></PyFunc>
       <PyFunc><![CDATA[    return a & 1,1-(a&1),a,Branch,0 ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>EndSwitch_1</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def Print(a,Branch) :   ]]></PyFunc>
       <PyFunc><![CDATA[    print "Print ",Branch   ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Branch   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
     <x-position>639</x-position>
-    <y-position>63</y-position>   </node>
+    <y-position>50</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[def Print_1(a,Branch) :   ]]></PyFunc>
       <PyFunc><![CDATA[    print "Print ",Branch   ]]></PyFunc>
       <PyFunc><![CDATA[    return a,Branch   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 12:54:59</creation-date>
-    <lastmodification-date>20/1/2005 - 12:54:59</lastmodification-date>
+    <creation-date>8/3/2005 - 17:1:28</creation-date>
+    <lastmodification-date>8/3/2005 - 17:1:28</lastmodification-date>
     <editor-release>2.0</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>639</x-position>
-    <y-position>263</y-position>   </node>  </node-list>
+    <x-position>645</x-position>
+    <y-position>250</y-position>   </node>  </node-list>
   <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSwitch_1_1_1</fromnode-name>
+<fromnode-name>GraphSwitchOutputNOTValid</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Index</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Index</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitch_1_1_1</fromnode-name>
+<fromnode-name>GraphSwitchOutputNOTValid</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Min</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Min</toserviceparameter-name>
      <value>-5</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSwitch_1_1_1</fromnode-name>
+<fromnode-name>GraphSwitchOutputNOTValid</fromnode-name>
     <fromserviceparameter-name>InitLoopSwitch__Max</fromserviceparameter-name>
     <tonode-name>InitLoopSwitch</tonode-name>
     <toserviceparameter-name>Max</toserviceparameter-name>
index 08efc0d3f991e0adb20eec9ca4247c7851962697..84ad8e0105752c470240aee9bec88e43a77ce5c5 100644 (file)
@@ -157,8 +157,10 @@ def DefGraphSyrControl() :
     
     # Creation of GOTO Nodes
     Pycontrol_m3p1 = []
-    Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
-    Pycontrol_m3p1.append( '    return 0,1,N,K' )
+    Pycontrol_m3p1.append( 'from time import * ' )
+    Pycontrol_m3p1.append( 'def control_m3p1( N , K ): ' )
+    Pycontrol_m3p1.append( '    sleep(1) ' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K ' )
     control_m3p1 = GraphSyrControl.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
     control_m3p1.SetName( 'control_m3p1' )
     control_m3p1.SetAuthor( '' )
@@ -174,8 +176,10 @@ def DefGraphSyrControl() :
     Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
     
     Pycontrol_div2 = []
-    Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
-    Pycontrol_div2.append( '    return N,NB' )
+    Pycontrol_div2.append( 'from time import * ' )
+    Pycontrol_div2.append( 'def control_div2( N , NB ) : ' )
+    Pycontrol_div2.append( '    sleep(1) ' )
+    Pycontrol_div2.append( '    return N,NB ' )
     control_div2 = GraphSyrControl.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
     control_div2.SetName( 'control_div2' )
     control_div2.SetAuthor( '' )
index 7736162820e025f054e4eba54d9003705a13f56f..16d13ecc9cb83755efb9ff6b6b05380771bd8717 100644 (file)
@@ -30,7 +30,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>11/3/2003 - 18:34:21</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:41</lastmodification-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -56,8 +56,8 @@
        <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
@@ -82,8 +82,8 @@
        <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
       <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
       <PyFunc><![CDATA[    return ValEven,ValOne,NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
       <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
       <PyFunc><![CDATA[    print "label_begin",Finished,K]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
     <PyFunction-list>
 <PyFunction>
 <FuncName>control_m3p1</FuncName>
-      <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
-      <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def control_m3p1( N , K ): ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
     <PyFunction-list>
 <PyFunction>
 <FuncName>control_div2</FuncName>
-      <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
-      <PyFunc><![CDATA[    return N,NB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:5:14</creation-date>
-    <lastmodification-date>20/1/2005 - 13:5:14</lastmodification-date>
+      <PyFunc><![CDATA[from time import * ]]></PyFunc>
+      <PyFunc><![CDATA[def control_div2( N , NB ) : ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[    return N,NB ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:21:5</creation-date>
+    <lastmodification-date>6/7/2005 - 10:21:5</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
index 77c385d71389e403d0436f92cebdc0f35cdac93e..f5af9ad7adc264923044e1a942ebd78942073e38 100755 (executable)
@@ -1,19 +1,19 @@
 
-# Generated python file of Graph GraphSyrControlGUI
+# Generated python file of Graph GraphSyrControl1
 
 from SuperV import *
 
-# Graph creation of GraphSyrControlGUI
-def DefGraphSyrControlGUI() :
-    GraphSyrControlGUI = Graph( 'GraphSyrControlGUI' )
-    GraphSyrControlGUI.SetName( 'GraphSyrControlGUI' )
-    GraphSyrControlGUI.SetAuthor( 'JR' )
-    GraphSyrControlGUI.SetComment( 'Syracuse algorithm' )
-    GraphSyrControlGUI.Coords( 0 , 0 )
+# Graph creation of GraphSyrControl1
+def DefGraphSyrControl1() :
+    GraphSyrControl1 = Graph( 'GraphSyrControl1' )
+    GraphSyrControl1.SetName( 'GraphSyrControl1' )
+    GraphSyrControl1.SetAuthor( 'JR' )
+    GraphSyrControl1.SetComment( 'Syracuse algorithm' )
+    GraphSyrControl1.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
-    test_ISEVEN = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
     test_ISEVEN.SetName( 'test_ISEVEN' )
     test_ISEVEN.SetAuthor( '' )
     test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
@@ -24,7 +24,7 @@ def DefGraphSyrControlGUI() :
     Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
     Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
     
-    test_ISONE = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
     test_ISONE.SetName( 'test_ISONE' )
     test_ISONE.SetAuthor( '' )
     test_ISONE.SetContainer( 'localhost/FactoryServer' )
@@ -35,7 +35,7 @@ def DefGraphSyrControlGUI() :
     Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
     Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
     
-    m3p1 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
     m3p1.SetName( 'm3p1' )
     m3p1.SetAuthor( '' )
     m3p1.SetContainer( 'localhost/FactoryServer' )
@@ -46,7 +46,7 @@ def DefGraphSyrControlGUI() :
     Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
     Om3p1Gate = m3p1.GetOutPort( 'Gate' )
     
-    div2 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
     div2.SetName( 'div2' )
     div2.SetAuthor( '' )
     div2.SetContainer( 'localhost/FactoryServer' )
@@ -57,7 +57,7 @@ def DefGraphSyrControlGUI() :
     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
     Odiv2Gate = div2.GetOutPort( 'Gate' )
     
-    incr = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
     incr.SetName( 'incr' )
     incr.SetAuthor( '' )
     incr.SetContainer( 'localhost/FactoryServer' )
@@ -72,7 +72,7 @@ def DefGraphSyrControlGUI() :
     Pylabel_begin = []
     Pylabel_begin.append( 'def label_begin( NB , KB ) :' )
     Pylabel_begin.append( '    return NB,KB' )
-    label_begin = GraphSyrControlGUI.INode( 'label_begin' , Pylabel_begin )
+    label_begin = GraphSyrControl1.INode( 'label_begin' , Pylabel_begin )
     label_begin.SetName( 'label_begin' )
     label_begin.SetAuthor( '' )
     label_begin.SetComment( 'Python function' )
@@ -101,7 +101,7 @@ def DefGraphSyrControlGUI() :
     Pylabel_test.append( '        Odd = 0' )
     Pylabel_test.append( '    Even = ValEven' )
     Pylabel_test.append( '    return Finished,Incr,Even,Odd,NT,KT' )
-    label_test,EndL_OneEven = GraphSyrControlGUI.SNode( 'L_OneEven' , Pylabel_test )
+    label_test,EndL_OneEven = GraphSyrControl1.SNode( 'L_OneEven' , Pylabel_test )
     EndL_OneEven.SetName( 'EndL_OneEven' )
     EndL_OneEven.SetAuthor( '' )
     EndL_OneEven.SetComment( 'Compute Node' )
@@ -131,7 +131,7 @@ def DefGraphSyrControlGUI() :
     Pycontrol_m3p1 = []
     Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K ):' )
     Pycontrol_m3p1.append( '    return 0,1,N,K' )
-    control_m3p1 = GraphSyrControlGUI.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1 = GraphSyrControl1.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
     control_m3p1.SetName( 'control_m3p1' )
     control_m3p1.SetAuthor( '' )
     control_m3p1.SetComment( 'Compute Node' )
@@ -148,7 +148,7 @@ def DefGraphSyrControlGUI() :
     Pycontrol_div2 = []
     Pycontrol_div2.append( 'def control_div2( N , K ) :' )
     Pycontrol_div2.append( '    return N,K' )
-    control_div2 = GraphSyrControlGUI.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2 = GraphSyrControl1.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
     control_div2.SetName( 'control_div2' )
     control_div2.SetAuthor( '' )
     control_div2.SetComment( 'Compute Node' )
@@ -161,73 +161,73 @@ def DefGraphSyrControlGUI() :
     Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
     
     # Creation of Links
-    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlGUI.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControl1.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 383 , 239 )
     Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 382 , 417 )
     
-    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlGUI.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControl1.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
     
-    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlGUI.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControl1.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
     Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 793 , 62 )
     Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 792 , 111 )
     
-    Ldiv2anIntegercontrol_div2N = GraphSyrControlGUI.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N = GraphSyrControl1.Link( Odiv2anInteger , Icontrol_div2N )
     Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 797 , 392 )
     Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 798 , 471 )
     
-    LincraNewCountcontrol_div2K = GraphSyrControlGUI.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K = GraphSyrControl1.Link( OincraNewCount , Icontrol_div2K )
     LincraNewCountcontrol_div2K.AddCoord( 1 , 809 , 420 )
     LincraNewCountcontrol_div2K.AddCoord( 2 , 808 , 288 )
     
-    LincraNewCountcontrol_m3p1K = GraphSyrControlGUI.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K = GraphSyrControl1.Link( OincraNewCount , Icontrol_m3p1K )
     LincraNewCountcontrol_m3p1K.AddCoord( 1 , 807 , 91 )
     LincraNewCountcontrol_m3p1K.AddCoord( 2 , 808 , 286 )
     
-    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlGUI.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControl1.Link( Olabel_beginNT , Itest_ISONEanInteger )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 180 , 211 )
     Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 179 , 269 )
     
-    Llabel_beginNTlabel_testNT = GraphSyrControlGUI.Link( Olabel_beginNT , Ilabel_testNT )
+    Llabel_beginNTlabel_testNT = GraphSyrControl1.Link( Olabel_beginNT , Ilabel_testNT )
     
-    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlGUI.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControl1.Link( Olabel_beginNT , Itest_ISEVENanInteger )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 179 , 417 )
     Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 179 , 271 )
     
-    Llabel_beginKTlabel_testKT = GraphSyrControlGUI.Link( Olabel_beginKT , Ilabel_testKT )
+    Llabel_beginKTlabel_testKT = GraphSyrControl1.Link( Olabel_beginKT , Ilabel_testKT )
     
-    Llabel_testEvendiv2Gate = GraphSyrControlGUI.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate = GraphSyrControl1.Link( Olabel_testEven , Idiv2Gate )
     Llabel_testEvendiv2Gate.AddCoord( 1 , 583 , 500 )
     Llabel_testEvendiv2Gate.AddCoord( 2 , 582 , 269 )
     
-    Llabel_testOddm3p1Gate = GraphSyrControlGUI.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate = GraphSyrControl1.Link( Olabel_testOdd , Im3p1Gate )
     Llabel_testOddm3p1Gate.AddCoord( 1 , 571 , 138 )
     Llabel_testOddm3p1Gate.AddCoord( 2 , 573 , 298 )
     
-    Llabel_testNm3p1anOddInteger = GraphSyrControlGUI.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger = GraphSyrControl1.Link( Olabel_testN , Im3p1anOddInteger )
     Llabel_testNm3p1anOddInteger.AddCoord( 1 , 604 , 110 )
     Llabel_testNm3p1anOddInteger.AddCoord( 2 , 605 , 328 )
     
-    Llabel_testNdiv2anEvenInteger = GraphSyrControlGUI.Link( Olabel_testN , Idiv2anEvenInteger )
+    Llabel_testNdiv2anEvenInteger = GraphSyrControl1.Link( Olabel_testN , Idiv2anEvenInteger )
     Llabel_testNdiv2anEvenInteger.AddCoord( 1 , 606 , 471 )
     Llabel_testNdiv2anEvenInteger.AddCoord( 2 , 605 , 328 )
     
-    Llabel_testKincraCount = GraphSyrControlGUI.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount = GraphSyrControl1.Link( Olabel_testK , IincraCount )
     Llabel_testKincraCount.AddCoord( 1 , 594 , 287 )
     Llabel_testKincraCount.AddCoord( 2 , 595 , 356 )
     
-    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlGUI.Link( Olabel_testDefault , IEndL_OneEvenDefault )
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControl1.Link( Olabel_testDefault , IEndL_OneEvenDefault )
     Llabel_testDefaultEndL_OneEvenDefault.AddCoord( 1 , 1008 , 281 )
     Llabel_testDefaultEndL_OneEvenDefault.AddCoord( 2 , 1008 , 560 )
     Llabel_testDefaultEndL_OneEvenDefault.AddCoord( 3 , 565 , 559 )
     Llabel_testDefaultEndL_OneEvenDefault.AddCoord( 4 , 564 , 385 )
     
-    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlGUI.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControl1.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 368 , 327 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 369 , 7 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1009 , 8 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1009 , 179 )
     
-    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlGUI.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControl1.Link( Ocontrol_div2Gate , Ilabel_beginGate )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 3 , 327 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 2 , 582 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 991 , 583 )
@@ -240,7 +240,7 @@ def DefGraphSyrControlGUI() :
     # Output Ports of the graph
     #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
     #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
-    return GraphSyrControlGUI
+    return GraphSyrControl1
 
 
-GraphSyrControlGUI = DefGraphSyrControlGUI()
+GraphSyrControl1 = DefGraphSyrControl1()
index cca254f4fa48df906c1c14bc3b193e621cb37c7d..5104d2c05071529298056ee25aa3a462f4f0475b 100755 (executable)
@@ -5,7 +5,7 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>GraphSyrControlGUI</node-name>
+    <node-name>GraphSyrControl1</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
@@ -27,7 +27,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>11/3/2003 - 18:28:48</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:50</lastmodification-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -53,8 +53,8 @@
        <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
@@ -79,8 +79,8 @@
        <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
 <FuncName>label_begin</FuncName>
       <PyFunc><![CDATA[def label_begin( NB , KB ) :]]></PyFunc>
       <PyFunc><![CDATA[    return NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
       <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>C_NotOneIsEven</FuncName>
       <PyFunc><![CDATA[def C_NotOneIsEven( N , K ):]]></PyFunc>
       <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_div2</FuncName>
       <PyFunc><![CDATA[def control_div2( N , K ) :]]></PyFunc>
       <PyFunc><![CDATA[    return N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>20/1/2005 - 13:12:30</creation-date>
-    <lastmodification-date>20/1/2005 - 13:12:30</lastmodification-date>
+    <creation-date>6/7/2005 - 10:7:41</creation-date>
+    <lastmodification-date>6/7/2005 - 10:7:41</lastmodification-date>
     <editor-release>1.04</editor-release>
     <author>?</author>
     <container>?</container>
       <y>451</y>     </coord>    </coord-list>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
+<fromnode-name>GraphSyrControl1</fromnode-name>
     <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>NB</toserviceparameter-name>
      <value>7</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>GraphSyrControlGUI</fromnode-name>
+<fromnode-name>GraphSyrControl1</fromnode-name>
     <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
     <tonode-name>label_begin</tonode-name>
     <toserviceparameter-name>KB</toserviceparameter-name>
diff --git a/examples/GraphSyrControlAborted.py b/examples/GraphSyrControlAborted.py
new file mode 100644 (file)
index 0000000..c14560c
--- /dev/null
@@ -0,0 +1,278 @@
+
+# Generated python file of Graph GraphSyrControlAborted
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAborted
+def DefGraphSyrControlAborted() :
+    GraphSyrControlAborted = Graph( 'GraphSyrControlAborted' )
+    GraphSyrControlAborted.SetName( 'GraphSyrControlAborted' )
+    GraphSyrControlAborted.SetAuthor( 'JR' )
+    GraphSyrControlAborted.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN.SetName( 'test_ISEVEN' )
+    test_ISEVEN.SetAuthor( '' )
+    test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
+    test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+    test_ISEVEN.Coords( 190 , 338 )
+    Itest_ISEVENanInteger = test_ISEVEN.GetInPort( 'anInteger' )
+    Itest_ISEVENGate = test_ISEVEN.GetInPort( 'Gate' )
+    Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
+    Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
+    
+    test_ISONE = GraphSyrControlAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE.SetName( 'test_ISONE' )
+    test_ISONE.SetAuthor( '' )
+    test_ISONE.SetContainer( 'localhost/FactoryServer' )
+    test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+    test_ISONE.Coords( 196 , 131 )
+    Itest_ISONEanInteger = test_ISONE.GetInPort( 'anInteger' )
+    Itest_ISONEGate = test_ISONE.GetInPort( 'Gate' )
+    Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
+    Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
+    
+    m3p1 = GraphSyrControlAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1.SetName( 'm3p1' )
+    m3p1.SetAuthor( '' )
+    m3p1.SetContainer( 'localhost/FactoryServer' )
+    m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+    m3p1.Coords( 788 , 22 )
+    Im3p1anOddInteger = m3p1.GetInPort( 'anOddInteger' )
+    Im3p1Gate = m3p1.GetInPort( 'Gate' )
+    Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
+    Om3p1Gate = m3p1.GetOutPort( 'Gate' )
+    
+    div2 = GraphSyrControlAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2.SetName( 'div2' )
+    div2.SetAuthor( '' )
+    div2.SetContainer( 'localhost/FactoryServer' )
+    div2.SetComment( 'C_DIV2 from SyrComponent' )
+    div2.Coords( 794 , 427 )
+    Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
+    Idiv2Gate = div2.GetInPort( 'Gate' )
+    Odiv2anInteger = div2.GetOutPort( 'anInteger' )
+    Odiv2Gate = div2.GetOutPort( 'Gate' )
+    
+    incr = GraphSyrControlAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr.SetName( 'incr' )
+    incr.SetAuthor( '' )
+    incr.SetContainer( 'localhost/FactoryServer' )
+    incr.SetComment( 'C_INCR from SyrComponent' )
+    incr.Coords( 790 , 158 )
+    IincraCount = incr.GetInPort( 'aCount' )
+    IincrGate = incr.GetInPort( 'Gate' )
+    OincraNewCount = incr.GetOutPort( 'aNewCount' )
+    OincrGate = incr.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    Pylabel_begin = []
+    Pylabel_begin.append( 'def label_begin( NB , KB ):' )
+    Pylabel_begin.append( '    print "label_begin",NB,KB' )
+    Pylabel_begin.append( '    return NB,KB' )
+    label_begin = GraphSyrControlAborted.INode( 'label_begin' , Pylabel_begin )
+    label_begin.SetName( 'label_begin' )
+    label_begin.SetAuthor( '' )
+    label_begin.SetComment( 'Python function' )
+    label_begin.Coords( 8 , 205 )
+    Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
+    Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
+    Ilabel_beginGate = label_begin.GetInPort( 'Gate' )
+    Olabel_beginNT = label_begin.OutPort( 'NT' , 'long' )
+    Olabel_beginKT = label_begin.OutPort( 'KT' , 'long' )
+    Olabel_beginGate = label_begin.GetOutPort( 'Gate' )
+    
+    Pylabel_test = []
+    Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
+    Pylabel_test.append( '    print "label_begin",ValEven,ValOne,NB,KB' )
+    Pylabel_test.append( '    return ValEven,ValOne,NB,KB' )
+    label_test = GraphSyrControlAborted.INode( 'label_test' , Pylabel_test )
+    label_test.SetName( 'label_test' )
+    label_test.SetAuthor( '' )
+    label_test.SetComment( 'Python function' )
+    label_test.Coords( 397 , 165 )
+    Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
+    Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
+    Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
+    Ilabel_testKT = label_test.InPort( 'KT' , 'long' )
+    Ilabel_testGate = label_test.GetInPort( 'Gate' )
+    Olabel_testValEven = label_test.OutPort( 'ValEven' , 'long' )
+    Olabel_testValOne = label_test.OutPort( 'ValOne' , 'long' )
+    Olabel_testNT = label_test.OutPort( 'NT' , 'long' )
+    Olabel_testKT = label_test.OutPort( 'KT' , 'long' )
+    Olabel_testGate = label_test.GetOutPort( 'Gate' )
+    
+    # Creation of Switch Nodes
+    Pytest = []
+    Pytest.append( 'def Switch_OneEven( ValOne , ValEven , NT , KT ) :' )
+    Pytest.append( '    Finished = ValOne' )
+    Pytest.append( '    if Finished == 0 :' )
+    Pytest.append( '        Incr = 1' )
+    Pytest.append( '        Even = ValEven' )
+    Pytest.append( '        if Even == 0 :' )
+    Pytest.append( '            Odd = 1' )
+    Pytest.append( '        else :' )
+    Pytest.append( '            Odd = 0' )
+    Pytest.append( '    else :' )
+    Pytest.append( '        Incr = 0' )
+    Pytest.append( '        Even = 0' )
+    Pytest.append( '        Odd = 0' )
+    Pytest.append( '    Even = ValEven' )
+    Pytest.append( '    return Finished,Incr,Even,Odd,NT,KT' )
+    test,EndSwitch_OneEven = GraphSyrControlAborted.SNode( 'Switch_OneEven' , Pytest )
+    EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
+    EndSwitch_OneEven.SetAuthor( '' )
+    EndSwitch_OneEven.SetComment( 'Compute Node' )
+    EndSwitch_OneEven.Coords( 1065 , 356 )
+    PyEndSwitch_OneEven = []
+    PyEndSwitch_OneEven.append( 'def EndSwitch_OneEven( Finished , K ):' )
+    PyEndSwitch_OneEven.append( '    print "label_begin",Finished,K' )
+    PyEndSwitch_OneEven.append( '    return Finished,K' )
+    EndSwitch_OneEven.SetPyFunction( 'EndSwitch_OneEven' , PyEndSwitch_OneEven )
+    IEndSwitch_OneEvenFinished = EndSwitch_OneEven.InPort( 'Finished' , 'long' )
+    IEndSwitch_OneEvenK = EndSwitch_OneEven.InPort( 'K' , 'long' )
+    IEndSwitch_OneEvenDefault = EndSwitch_OneEven.GetInPort( 'Default' )
+    OEndSwitch_OneEvenFinished = EndSwitch_OneEven.OutPort( 'Finished' , 'long' )
+    OEndSwitch_OneEvenK = EndSwitch_OneEven.OutPort( 'K' , 'long' )
+    OEndSwitch_OneEvenGate = EndSwitch_OneEven.GetOutPort( 'Gate' )
+    test.SetName( 'test' )
+    test.SetAuthor( '' )
+    test.SetComment( 'Compute Node' )
+    test.Coords( 575 , 205 )
+    ItestValOne = test.InPort( 'ValOne' , 'long' )
+    ItestValEven = test.InPort( 'ValEven' , 'long' )
+    ItestNT = test.InPort( 'NT' , 'long' )
+    ItestKT = test.InPort( 'KT' , 'long' )
+    ItestGate = test.GetInPort( 'Gate' )
+    OtestFinished = test.OutPort( 'Finished' , 'long' )
+    OtestIncr = test.OutPort( 'Incr' , 'long' )
+    OtestEven = test.OutPort( 'Even' , 'long' )
+    OtestOdd = test.OutPort( 'Odd' , 'long' )
+    OtestN = test.OutPort( 'N' , 'long' )
+    OtestK = test.OutPort( 'K' , 'long' )
+    OtestDefault = test.GetOutPort( 'Default' )
+    
+    # Creation of GOTO Nodes
+    Pycontrol_m3p1 = []
+    Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K' )
+    control_m3p1 = GraphSyrControlAborted.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1.SetName( 'control_m3p1' )
+    control_m3p1.SetAuthor( '' )
+    control_m3p1.SetComment( 'Compute Node' )
+    control_m3p1.Coords( 1013 , 63 )
+    Icontrol_m3p1N = control_m3p1.InPort( 'N' , 'long' )
+    Icontrol_m3p1K = control_m3p1.InPort( 'K' , 'long' )
+    Icontrol_m3p1Gate = control_m3p1.GetInPort( 'Gate' )
+    Ocontrol_m3p1ValOne = control_m3p1.OutPort( 'ValOne' , 'long' )
+    Ocontrol_m3p1ValEven = control_m3p1.OutPort( 'ValEven' , 'long' )
+    Ocontrol_m3p1NT = control_m3p1.OutPort( 'NT' , 'long' )
+    Ocontrol_m3p1KT = control_m3p1.OutPort( 'KT' , 'long' )
+    Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
+    
+    Pycontrol_div2 = []
+    Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
+    Pycontrol_div2.append( '    return N,NB' )
+    control_div2 = GraphSyrControlAborted.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2.SetName( 'control_div2' )
+    control_div2.SetAuthor( '' )
+    control_div2.SetComment( 'Compute Node' )
+    control_div2.Coords( 1010 , 473 )
+    Icontrol_div2N = control_div2.InPort( 'N' , 'long' )
+    Icontrol_div2K = control_div2.InPort( 'K' , 'long' )
+    Icontrol_div2Gate = control_div2.GetInPort( 'Gate' )
+    Ocontrol_div2NB = control_div2.OutPort( 'NB' , 'long' )
+    Ocontrol_div2KB = control_div2.OutPort( 'KB' , 'long' )
+    Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAborted.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 381 , 234 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 381 , 410 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAborted.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 367 , 256 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 367 , 201 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAborted.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAborted.Link( Odiv2anInteger , Icontrol_div2N )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAborted.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 978 , 114 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 978 , 230 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAborted.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 981 , 524 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 978 , 229 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAborted.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAborted.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 179 , 408 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 179 , 276 )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAborted.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 179 , 203 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 180 , 275 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAborted.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_testValEventestValEven = GraphSyrControlAborted.Link( Olabel_testValEven , ItestValEven )
+    
+    Llabel_testValOnetestValOne = GraphSyrControlAborted.Link( Olabel_testValOne , ItestValOne )
+    
+    Llabel_testNTtestNT = GraphSyrControlAborted.Link( Olabel_testNT , ItestNT )
+    
+    Llabel_testKTtestKT = GraphSyrControlAborted.Link( Olabel_testKT , ItestKT )
+    
+    LtestFinishedEndSwitch_OneEvenFinished = GraphSyrControlAborted.Link( OtestFinished , IEndSwitch_OneEvenFinished )
+    
+    LtestEvendiv2Gate = GraphSyrControlAborted.Link( OtestEven , Idiv2Gate )
+    LtestEvendiv2Gate.AddCoord( 1 , 763 , 522 )
+    LtestEvendiv2Gate.AddCoord( 2 , 763 , 278 )
+    
+    LtestOddm3p1Gate = GraphSyrControlAborted.Link( OtestOdd , Im3p1Gate )
+    LtestOddm3p1Gate.AddCoord( 1 , 772 , 117 )
+    LtestOddm3p1Gate.AddCoord( 2 , 772 , 297 )
+    
+    LtestNm3p1anOddInteger = GraphSyrControlAborted.Link( OtestN , Im3p1anOddInteger )
+    LtestNm3p1anOddInteger.AddCoord( 1 , 751 , 93 )
+    LtestNm3p1anOddInteger.AddCoord( 2 , 752 , 317 )
+    
+    LtestNdiv2anEvenInteger = GraphSyrControlAborted.Link( OtestN , Idiv2anEvenInteger )
+    LtestNdiv2anEvenInteger.AddCoord( 1 , 751 , 498 )
+    LtestNdiv2anEvenInteger.AddCoord( 2 , 752 , 318 )
+    
+    LtestKEndSwitch_OneEvenK = GraphSyrControlAborted.Link( OtestK , IEndSwitch_OneEvenK )
+    
+    LtestKincraCount = GraphSyrControlAborted.Link( OtestK , IincraCount )
+    LtestKincraCount.AddCoord( 1 , 779 , 229 )
+    LtestKincraCount.AddCoord( 2 , 779 , 336 )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAborted.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 374 , 321 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 374 , 15 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1180 , 9 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1181 , 217 )
+    
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAborted.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 4 , 608 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 1184 , 604 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1184 , 548 )
+    
+    # Input datas
+    Ilabel_beginNB.Input( 7 )
+    Ilabel_beginKB.Input( 0 )
+    
+    # Output Ports of the graph
+    #OtestIncr = test.GetOutPort( 'Incr' )
+    #OEndSwitch_OneEvenFinished = EndSwitch_OneEven.GetOutPort( 'Finished' )
+    #OEndSwitch_OneEvenK = EndSwitch_OneEven.GetOutPort( 'K' )
+    return GraphSyrControlAborted
+
+
+GraphSyrControlAborted = DefGraphSyrControlAborted()
diff --git a/examples/GraphSyrControlAborted.xml b/examples/GraphSyrControlAborted.xml
new file mode 100644 (file)
index 0000000..1ee7050
--- /dev/null
@@ -0,0 +1,683 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSyrControl</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__KB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>test__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch_OneEven__Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndSwitch_OneEven__K</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>11/3/2003 - 18:34:21</creation-date>
+    <lastmodification-date>15/2/2005 - 11:29:21</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Syracuse algorithm</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISEVEN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISEVEN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/2/2005 - 11:4:0</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:0</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISEVEN from SyrComponent</comment>
+    <x-position>190</x-position>
+    <y-position>338</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISONE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISONE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISONE from SyrComponent</comment>
+    <x-position>196</x-position>
+    <y-position>131</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>m3p1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_M3P1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anOddInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_M3P1 from SyrComponent</comment>
+    <x-position>788</x-position>
+    <y-position>22</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>div2</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_DIV2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anEvenInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_DIV2 from SyrComponent</comment>
+    <x-position>794</x-position>
+    <y-position>427</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>incr</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_INCR</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_INCR from SyrComponent</comment>
+    <x-position>790</x-position>
+    <y-position>158</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_begin</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_begin</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+      <PyFunc><![CDATA[def label_begin( NB , KB ):]]></PyFunc>
+      <PyFunc><![CDATA[    print "label_begin",NB,KB]]></PyFunc>
+      <PyFunc><![CDATA[    return NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>8</x-position>
+    <y-position>205</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_test</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_test</FuncName>
+      <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
+      <PyFunc><![CDATA[    print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
+      <PyFunc><![CDATA[    return ValEven,ValOne,NB,KB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>165</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>test</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch_OneEven</coupled-node>
+    <service>
+<service-name>test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>N</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch_OneEven</FuncName>
+      <PyFunc><![CDATA[def Switch_OneEven( ValOne , ValEven , NT , KT ) :]]></PyFunc>
+      <PyFunc><![CDATA[    Finished = ValOne]]></PyFunc>
+      <PyFunc><![CDATA[    if Finished == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 1]]></PyFunc>
+      <PyFunc><![CDATA[        Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[        if Even == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1]]></PyFunc>
+      <PyFunc><![CDATA[        else :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    else :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>575</x-position>
+    <y-position>205</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch_OneEven</node-name>
+    <kind>7</kind>
+    <coupled-node>test</coupled-node>
+    <service>
+<service-name>EndSwitch_OneEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Finished</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch_OneEven</FuncName>
+      <PyFunc><![CDATA[def EndSwitch_OneEven( Finished , K ):]]></PyFunc>
+      <PyFunc><![CDATA[    print "label_begin",Finished,K]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1065</x-position>
+    <y-position>356</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_m3p1</node-name>
+    <kind>8</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>control_m3p1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_m3p1</FuncName>
+      <PyFunc><![CDATA[def control_m3p1( N , K ):]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1013</x-position>
+    <y-position>63</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_div2</node-name>
+    <kind>8</kind>
+    <coupled-node>label_begin</coupled-node>
+    <service>
+<service-name>control_div2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KB</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+      <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return N,NB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 11:4:1</creation-date>
+    <lastmodification-date>15/2/2005 - 11:4:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1010</x-position>
+    <y-position>473</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+    <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>381</x>
+      <y>234</y>     </coord>
+     <coord>
+<x>381</x>
+      <y>410</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test_ISONE</fromnode-name>
+    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>367</x>
+      <y>256</y>     </coord>
+     <coord>
+<x>367</x>
+      <y>201</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>m3p1</fromnode-name>
+    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>div2</fromnode-name>
+    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>978</x>
+      <y>114</y>     </coord>
+     <coord>
+<x>978</x>
+      <y>230</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>981</x>
+      <y>524</y>     </coord>
+     <coord>
+<x>978</x>
+      <y>229</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISEVEN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>179</x>
+      <y>408</y>     </coord>
+     <coord>
+<x>179</x>
+      <y>276</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISONE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>179</x>
+      <y>203</y>     </coord>
+     <coord>
+<x>180</x>
+      <y>275</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>ValEven</fromserviceparameter-name>
+    <tonode-name>test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>ValOne</fromserviceparameter-name>
+    <tonode-name>test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>Finished</fromserviceparameter-name>
+    <tonode-name>EndSwitch_OneEven</tonode-name>
+    <toserviceparameter-name>Finished</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>763</x>
+      <y>522</y>     </coord>
+     <coord>
+<x>763</x>
+      <y>278</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>772</x>
+      <y>117</y>     </coord>
+     <coord>
+<x>772</x>
+      <y>297</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>93</y>     </coord>
+     <coord>
+<x>752</x>
+      <y>317</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>498</y>     </coord>
+     <coord>
+<x>752</x>
+      <y>318</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>EndSwitch_OneEven</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>incr</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>779</x>
+      <y>229</y>     </coord>
+     <coord>
+<x>779</x>
+      <y>336</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_m3p1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>374</x>
+      <y>321</y>     </coord>
+     <coord>
+<x>374</x>
+      <y>15</y>     </coord>
+     <coord>
+<x>1180</x>
+      <y>9</y>     </coord>
+     <coord>
+<x>1181</x>
+      <y>217</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_div2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>4</x>
+      <y>608</y>     </coord>
+     <coord>
+<x>1184</x>
+      <y>604</y>     </coord>
+     <coord>
+<x>1184</x>
+      <y>548</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSyrControlAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>NB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>7</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>KB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index e32ea729e4fea55bf090e164d1306c68d65e842f..323c1e64270b50f5441baf22ed9ed6fb60c763a2 100644 (file)
@@ -51,7 +51,7 @@ def DefGraphSyrControlAve() :
     div2.SetAuthor( '' )
     div2.SetContainer( 'localhost/FactoryServer' )
     div2.SetComment( 'C_DIV2 from SyrComponent' )
-    div2.Coords( 789 , 276 )
+    div2.Coords( 789 , 255 )
     Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
     Idiv2Gate = div2.GetInPort( 'Gate' )
     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
@@ -111,7 +111,7 @@ def DefGraphSyrControlAve() :
     C_LISTOFSYR.SetAuthor( '' )
     C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
     C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
-    C_LISTOFSYR.Coords( 4 , 363 )
+    C_LISTOFSYR.Coords( 5 , 321 )
     IC_LISTOFSYRGate = C_LISTOFSYR.GetInPort( 'Gate' )
     OC_LISTOFSYRaListOfSyr = C_LISTOFSYR.GetOutPort( 'aListOfSyr' )
     OC_LISTOFSYRGate = C_LISTOFSYR.GetOutPort( 'Gate' )
@@ -124,7 +124,7 @@ def DefGraphSyrControlAve() :
     label_begin.SetName( 'label_begin' )
     label_begin.SetAuthor( '' )
     label_begin.SetComment( 'Python function' )
-    label_begin.Coords( 183 , 219 )
+    label_begin.Coords( 183 , 220 )
     Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
     Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
     Ilabel_beginMINB = label_begin.InPort( 'MINB' , 'long' )
@@ -161,12 +161,12 @@ def DefGraphSyrControlAve() :
     EndL_OneEven.SetName( 'EndL_OneEven' )
     EndL_OneEven.SetAuthor( '' )
     EndL_OneEven.SetComment( 'Compute Node' )
-    EndL_OneEven.Coords( 1064 , 379 )
+    EndL_OneEven.Coords( 1064 , 339 )
     PyEndL_OneEven = []
     EndL_OneEven.SetPyFunction( '' , PyEndL_OneEven )
-    IEndL_OneEvenMIN = EndL_OneEven.InPort( 'MIN' , 'long' )
-    IEndL_OneEvenMAX = EndL_OneEven.InPort( 'MAX' , 'long' )
-    IEndL_OneEvenAVERAGE = EndL_OneEven.InPort( 'AVERAGE' , 'double' )
+    IEndL_OneEvenMINT = EndL_OneEven.InPort( 'MINT' , 'long' )
+    IEndL_OneEvenMAXT = EndL_OneEven.InPort( 'MAXT' , 'long' )
+    IEndL_OneEvenAVERAGET = EndL_OneEven.InPort( 'AVERAGET' , 'double' )
     IEndL_OneEvenDefault = EndL_OneEven.GetInPort( 'Default' )
     OEndL_OneEvenMIN = EndL_OneEven.OutPort( 'MIN' , 'long' )
     OEndL_OneEvenMAX = EndL_OneEven.OutPort( 'MAX' , 'long' )
@@ -175,7 +175,7 @@ def DefGraphSyrControlAve() :
     label_test.SetName( 'label_test' )
     label_test.SetAuthor( '' )
     label_test.SetComment( 'Compute Node' )
-    label_test.Coords( 563 , 206 )
+    label_test.Coords( 564 , 219 )
     Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
     Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
     Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
@@ -248,78 +248,78 @@ def DefGraphSyrControlAve() :
     
     # Creation of Links
     Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAve.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
-    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 545 , 269 )
-    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 545 , 535 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
     
     Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAve.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
-    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 241 )
-    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 545 , 208 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
     
     Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAve.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
-    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 977 , 43 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
     Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
     
     Ldiv2anIntegercontrol_div2N = GraphSyrControlAve.Link( Odiv2anInteger , Icontrol_div2N )
-    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1011 , 590 )
-    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1010 , 357 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
     
     LincraNewCountcontrol_div2K = GraphSyrControlAve.Link( OincraNewCount , Icontrol_div2K )
-    LincraNewCountcontrol_div2K.AddCoord( 1 , 964 , 618 )
-    LincraNewCountcontrol_div2K.AddCoord( 2 , 966 , 217 )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
     
     LincraNewCountcontrol_m3p1K = GraphSyrControlAve.Link( OincraNewCount , Icontrol_m3p1K )
-    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 966 , 70 )
-    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 216 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
     
     LincraNewCountC_AVERAGEaCount = GraphSyrControlAve.Link( OincraNewCount , IC_AVERAGEaCount )
-    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 778 , 615 )
-    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 779 , 462 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 751 , 588 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 751 , 460 )
     LincraNewCountC_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
-    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 966 , 216 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 968 , 205 )
     
     LC_MINaNewMinValcontrol_m3p1MINT = GraphSyrControlAve.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
-    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 100 )
-    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 913 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
     
     LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAve.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
-    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 990 , 646 )
-    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 912 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
     
     LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAve.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
-    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 974 , 130 )
-    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 747 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
     
     LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAve.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
-    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 973 , 676 )
-    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 747 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
     
     LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAve.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
-    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 188 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
     LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
     
     LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAve.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
-    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 735 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
     LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
     
     LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAve.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
-    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1027 , 158 )
-    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1026 , 584 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
     
     LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAve.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
-    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 706 )
-    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1027 , 584 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
     
     LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAve.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
     
     Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAve.Link( Olabel_beginNT , Itest_ISONEanInteger )
-    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 362 , 207 )
-    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 362 , 299 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
     
     Llabel_beginNTlabel_testNT = GraphSyrControlAve.Link( Olabel_beginNT , Ilabel_testNT )
     
     Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAve.Link( Olabel_beginNT , Itest_ISEVENanInteger )
-    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 361 , 534 )
-    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 362 , 299 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
     
     Llabel_beginKTlabel_testKT = GraphSyrControlAve.Link( Olabel_beginKT , Ilabel_testKT )
     
@@ -331,67 +331,61 @@ def DefGraphSyrControlAve() :
     
     Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAve.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
     
-    Llabel_testFinishedEndL_OneEvenDefault = GraphSyrControlAve.Link( Olabel_testFinished , IEndL_OneEvenDefault )
-    
     Llabel_testEvendiv2Gate = GraphSyrControlAve.Link( Olabel_testEven , Idiv2Gate )
-    Llabel_testEvendiv2Gate.AddCoord( 1 , 780 , 387 )
-    Llabel_testEvendiv2Gate.AddCoord( 2 , 779 , 299 )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
     
     Llabel_testOddm3p1Gate = GraphSyrControlAve.Link( Olabel_testOdd , Im3p1Gate )
-    Llabel_testOddm3p1Gate.AddCoord( 1 , 756 , 115 )
-    Llabel_testOddm3p1Gate.AddCoord( 2 , 756 , 328 )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
     
     Llabel_testNm3p1anOddInteger = GraphSyrControlAve.Link( Olabel_testN , Im3p1anOddInteger )
-    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 740 , 80 )
-    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 356 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
     
     Llabel_testNdiv2anEvenInteger = GraphSyrControlAve.Link( Olabel_testN , Idiv2anEvenInteger )
     
     Llabel_testNC_MINanInteger = GraphSyrControlAve.Link( Olabel_testN , IC_MINanInteger )
-    Llabel_testNC_MINanInteger.AddCoord( 1 , 741 , 943 )
-    Llabel_testNC_MINanInteger.AddCoord( 2 , 740 , 357 )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
     
     Llabel_testNC_MAXanInteger = GraphSyrControlAve.Link( Olabel_testN , IC_MAXanInteger )
-    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 778 )
-    Llabel_testNC_MAXanInteger.AddCoord( 2 , 741 , 359 )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
     
     Llabel_testNC_AVERAGEanInteger = GraphSyrControlAve.Link( Olabel_testN , IC_AVERAGEanInteger )
-    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 742 , 584 )
-    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 741 , 357 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
     
     Llabel_testKincraCount = GraphSyrControlAve.Link( Olabel_testK , IincraCount )
-    Llabel_testKincraCount.AddCoord( 1 , 765 , 217 )
-    Llabel_testKincraCount.AddCoord( 2 , 764 , 385 )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
     
     Llabel_testMINTC_MINaMinVal = GraphSyrControlAve.Link( Olabel_testMINT , IC_MINaMinVal )
-    Llabel_testMINTC_MINaMinVal.AddCoord( 1 , 759 , 914 )
-    Llabel_testMINTC_MINaMinVal.AddCoord( 2 , 758 , 414 )
-    
-    Llabel_testMINTEndL_OneEvenMIN = GraphSyrControlAve.Link( Olabel_testMINT , IEndL_OneEvenMIN )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 1 , 760 , 904 )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 2 , 756 , 372 )
     
     Llabel_testMAXTC_MAXaMaxVal = GraphSyrControlAve.Link( Olabel_testMAXT , IC_MAXaMaxVal )
-    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 1 , 729 , 749 )
-    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 2 , 728 , 444 )
-    
-    Llabel_testMAXTEndL_OneEvenMAX = GraphSyrControlAve.Link( Olabel_testMAXT , IEndL_OneEvenMAX )
-    
-    Llabel_testAVERAGETEndL_OneEvenAVERAGE = GraphSyrControlAve.Link( Olabel_testAVERAGET , IEndL_OneEvenAVERAGE )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 1 , 765 , 742 )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 2 , 766 , 384 )
     
     Llabel_testSYRLISTTC_AVERAGEaListOfSyr = GraphSyrControlAve.Link( Olabel_testSYRLISTT , IC_AVERAGEaListOfSyr )
-    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 1 , 771 , 557 )
-    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 2 , 770 , 502 )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 1 , 773 , 546 )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 2 , 772 , 424 )
+    
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlAve.Link( Olabel_testDefault , IEndL_OneEvenDefault )
     
     Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAve.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
-    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 536 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 453 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 554 , 1025 )
     Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1242 , 1026 )
-    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1243 , 279 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1234 , 204 )
     
     Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAve.Link( Ocontrol_div2Gate , Ilabel_beginGate )
-    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 476 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 419 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 176 , 997 )
     Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1217 , 996 )
-    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1218 , 768 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1223 , 711 )
     
     # Input datas
     Ilabel_beginNB.Input( 31 )
@@ -400,8 +394,15 @@ def DefGraphSyrControlAve() :
     Ilabel_beginMAXB.Input( 0 )
     Ilabel_beginAVERAGEB.Input( 0 )
     
+    # Input Ports of the graph
+    #IEndL_OneEvenMINT = EndL_OneEven.GetInPort( 'MINT' )
+    #IEndL_OneEvenMAXT = EndL_OneEven.GetInPort( 'MAXT' )
+    #IEndL_OneEvenAVERAGET = EndL_OneEven.GetInPort( 'AVERAGET' )
+    
     # Output Ports of the graph
+    #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
     #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
+    #Olabel_testAVERAGET = label_test.GetOutPort( 'AVERAGET' )
     #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
     #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
     #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
index a9c6b0d99dd2305fe23ae436b163ef70575a31dd..dbe979c37d9aff68c07d832300874f9cf6134eb5 100644 (file)
@@ -9,7 +9,7 @@
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
-<service-name>GraphSyrControlAve</service-name>
+<service-name>GraphSyrControlAveNOTExecutable_1</service-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
        <inParameter-name>label_begin__MAXB</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>double</inParameter-type>
-       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndL_OneEven__MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndL_OneEven__MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>EndL_OneEven__AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Finished</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>label_test__Incr</outParameter-name>      </outParameter>
       <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>label_test__AVERAGET</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
        <outParameter-name>EndL_OneEven__MIN</outParameter-name>      </outParameter>
       <outParameter>
@@ -42,7 +57,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>2/10/2003 - 11:17:14</creation-date>
-    <lastmodification-date>19/1/2005 - 17:52:49</lastmodification-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>JR</author>
     <container>?</container>
@@ -68,8 +83,8 @@
        <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>C_DIV2 from SyrComponent</comment>
     <x-position>789</x-position>
-    <y-position>276</y-position>   </node>
+    <y-position>255</y-position>   </node>
    <node>
 <component-name>SyrComponent</component-name>
     <interface-name>SyrComponent</interface-name>
        <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewMinVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aNewMaxVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>anAverage</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
        <outParameter-name>aListOfSyr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
     <DataStream-list/>
     <PyFunction-list/>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>localhost/FactoryServer</container>
     <comment>C_LISTOFSYR from SyrComponent</comment>
-    <x-position>4</x-position>
-    <y-position>363</y-position>   </node>
+    <x-position>5</x-position>
+    <y-position>321</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
 <FuncName>label_begin</FuncName>
       <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
       <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Python function</comment>
     <x-position>183</x-position>
-    <y-position>219</y-position>   </node>
+    <y-position>220</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
       <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
       <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
       <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
-    <x-position>563</x-position>
-    <y-position>206</y-position>   </node>
+    <x-position>564</x-position>
+    <y-position>219</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
      <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>MIN</inParameter-name>      </inParameter>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>long</inParameter-type>
-       <inParameter-name>MAX</inParameter-name>      </inParameter>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
       <inParameter>
 <inParameter-type>double</inParameter-type>
-       <inParameter-name>AVERAGE</inParameter-name>      </inParameter>     </inParameter-list>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
      <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <comment>Compute Node</comment>
     <x-position>1064</x-position>
-    <y-position>379</y-position>   </node>
+    <y-position>339</y-position>   </node>
    <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
 <FuncName>C_NotOneIsEven</FuncName>
       <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
       <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <FuncName>control_div2</FuncName>
       <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
       <PyFunc><![CDATA[    return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>19/1/2005 - 17:44:31</creation-date>
-    <lastmodification-date>19/1/2005 - 17:44:31</lastmodification-date>
+    <creation-date>22/6/2005 - 11:35:16</creation-date>
+    <lastmodification-date>22/6/2005 - 11:35:16</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <toserviceparameter-name>ValEven</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>545</x>
-      <y>269</y>     </coord>
+<x>544</x>
+      <y>256</y>     </coord>
      <coord>
-<x>545</x>
-      <y>535</y>     </coord>    </coord-list>   </link>
+<x>544</x>
+      <y>524</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>test_ISONE</fromnode-name>
     <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>546</x>
-      <y>241</y>     </coord>
+      <y>237</y>     </coord>
      <coord>
-<x>545</x>
-      <y>208</y>     </coord>    </coord-list>   </link>
+<x>546</x>
+      <y>198</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>m3p1</fromnode-name>
     <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
     <toserviceparameter-name>N</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>977</x>
-      <y>43</y>     </coord>
+<x>975</x>
+      <y>38</y>     </coord>
      <coord>
 <x>976</x>
       <y>81</y>     </coord>    </coord-list>   </link>
     <toserviceparameter-name>N</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>1011</x>
-      <y>590</y>     </coord>
+<x>1012</x>
+      <y>585</y>     </coord>
      <coord>
-<x>1010</x>
-      <y>357</y>     </coord>    </coord-list>   </link>
+<x>1011</x>
+      <y>346</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>incr</fromnode-name>
     <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
     <toserviceparameter-name>K</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>964</x>
-      <y>618</y>     </coord>
-     <coord>
 <x>966</x>
-      <y>217</y>     </coord>    </coord-list>   </link>
+      <y>606</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>207</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>incr</fromnode-name>
     <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
     <toserviceparameter-name>K</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>966</x>
-      <y>70</y>     </coord>
+<x>965</x>
+      <y>59</y>     </coord>
      <coord>
 <x>966</x>
-      <y>216</y>     </coord>    </coord-list>   </link>
+      <y>208</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>incr</fromnode-name>
     <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
     <toserviceparameter-name>aCount</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>778</x>
-      <y>615</y>     </coord>
+<x>751</x>
+      <y>588</y>     </coord>
      <coord>
-<x>779</x>
-      <y>462</y>     </coord>
+<x>751</x>
+      <y>460</y>     </coord>
      <coord>
 <x>965</x>
       <y>462</y>     </coord>
      <coord>
-<x>966</x>
-      <y>216</y>     </coord>    </coord-list>   </link>
+<x>968</x>
+      <y>205</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_MIN</fromnode-name>
     <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>991</x>
-      <y>100</y>     </coord>
+      <y>78</y>     </coord>
      <coord>
 <x>991</x>
-      <y>913</y>     </coord>    </coord-list>   </link>
+      <y>905</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_MIN</fromnode-name>
     <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
     <toserviceparameter-name>MINT</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>990</x>
-      <y>646</y>     </coord>
+<x>991</x>
+      <y>626</y>     </coord>
      <coord>
 <x>991</x>
-      <y>912</y>     </coord>    </coord-list>   </link>
+      <y>905</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_MAX</fromnode-name>
     <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
     <toserviceparameter-name>MAXT</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>974</x>
-      <y>130</y>     </coord>
+<x>976</x>
+      <y>98</y>     </coord>
      <coord>
 <x>974</x>
-      <y>747</y>     </coord>    </coord-list>   </link>
+      <y>738</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_MAX</fromnode-name>
     <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
     <toserviceparameter-name>MAXT</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>973</x>
-      <y>676</y>     </coord>
+<x>972</x>
+      <y>648</y>     </coord>
      <coord>
 <x>974</x>
-      <y>747</y>     </coord>    </coord-list>   </link>
+      <y>738</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_AVERAGE</fromnode-name>
     <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>1037</x>
-      <y>188</y>     </coord>
+      <y>137</y>     </coord>
      <coord>
 <x>1038</x>
       <y>556</y>     </coord>    </coord-list>   </link>
     <coord-list>
 <coord>
 <x>1038</x>
-      <y>735</y>     </coord>
+      <y>686</y>     </coord>
      <coord>
 <x>1038</x>
       <y>555</y>     </coord>    </coord-list>   </link>
     <toserviceparameter-name>AVERAGET</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>1027</x>
-      <y>158</y>     </coord>
-     <coord>
 <x>1026</x>
-      <y>584</y>     </coord>    </coord-list>   </link>
+      <y>118</y>     </coord>
+     <coord>
+<x>1027</x>
+      <y>567</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_AVERAGE</fromnode-name>
     <fromserviceparameter-name>anAverage</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>1027</x>
-      <y>706</y>     </coord>
+      <y>668</y>     </coord>
      <coord>
-<x>1027</x>
-      <y>584</y>     </coord>    </coord-list>   </link>
+<x>1026</x>
+      <y>568</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>C_LISTOFSYR</fromnode-name>
     <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
     <toserviceparameter-name>anInteger</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>362</x>
-      <y>207</y>     </coord>
+<x>361</x>
+      <y>197</y>     </coord>
      <coord>
-<x>362</x>
-      <y>299</y>     </coord>    </coord-list>   </link>
+<x>360</x>
+      <y>290</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_begin</fromnode-name>
     <fromserviceparameter-name>NT</fromserviceparameter-name>
     <toserviceparameter-name>anInteger</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>361</x>
-      <y>534</y>     </coord>
+<x>359</x>
+      <y>525</y>     </coord>
      <coord>
-<x>362</x>
-      <y>299</y>     </coord>    </coord-list>   </link>
+<x>361</x>
+      <y>291</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_begin</fromnode-name>
     <fromserviceparameter-name>KT</fromserviceparameter-name>
     <toserviceparameter-name>SYRLIST</toserviceparameter-name>
     <coord-list/>   </link>
    <link>
-<fromnode-name>label_test</fromnode-name>
-    <fromserviceparameter-name>Finished</fromserviceparameter-name>
-    <tonode-name>EndL_OneEven</tonode-name>
-    <toserviceparameter-name>Default</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>Even</fromserviceparameter-name>
     <tonode-name>div2</tonode-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>780</x>
-      <y>387</y>     </coord>
+<x>777</x>
+      <y>351</y>     </coord>
      <coord>
-<x>779</x>
-      <y>299</y>     </coord>    </coord-list>   </link>
+<x>777</x>
+      <y>286</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>Odd</fromserviceparameter-name>
     <toserviceparameter-name>Gate</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>756</x>
-      <y>115</y>     </coord>
+<x>757</x>
+      <y>95</y>     </coord>
      <coord>
-<x>756</x>
-      <y>328</y>     </coord>    </coord-list>   </link>
+<x>757</x>
+      <y>310</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>N</fromserviceparameter-name>
     <toserviceparameter-name>anOddInteger</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>740</x>
-      <y>80</y>     </coord>
+<x>741</x>
+      <y>72</y>     </coord>
      <coord>
 <x>741</x>
-      <y>356</y>     </coord>    </coord-list>   </link>
+      <y>331</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>N</fromserviceparameter-name>
     <toserviceparameter-name>anInteger</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>741</x>
-      <y>943</y>     </coord>
+<x>744</x>
+      <y>923</y>     </coord>
      <coord>
-<x>740</x>
-      <y>357</y>     </coord>    </coord-list>   </link>
+<x>742</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>N</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>742</x>
-      <y>778</y>     </coord>
+      <y>759</y>     </coord>
      <coord>
-<x>741</x>
-      <y>359</y>     </coord>    </coord-list>   </link>
+<x>743</x>
+      <y>332</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>N</fromserviceparameter-name>
     <toserviceparameter-name>anInteger</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>742</x>
-      <y>584</y>     </coord>
-     <coord>
 <x>741</x>
-      <y>357</y>     </coord>    </coord-list>   </link>
+      <y>568</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>330</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>K</fromserviceparameter-name>
     <toserviceparameter-name>aCount</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>765</x>
-      <y>217</y>     </coord>
+<x>766</x>
+      <y>207</y>     </coord>
      <coord>
-<x>764</x>
-      <y>385</y>     </coord>    </coord-list>   </link>
+<x>766</x>
+      <y>343</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>MINT</fromserviceparameter-name>
     <toserviceparameter-name>aMinVal</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>759</x>
-      <y>914</y>     </coord>
+<x>760</x>
+      <y>904</y>     </coord>
      <coord>
-<x>758</x>
-      <y>414</y>     </coord>    </coord-list>   </link>
-   <link>
-<fromnode-name>label_test</fromnode-name>
-    <fromserviceparameter-name>MINT</fromserviceparameter-name>
-    <tonode-name>EndL_OneEven</tonode-name>
-    <toserviceparameter-name>MIN</toserviceparameter-name>
-    <coord-list/>   </link>
+<x>756</x>
+      <y>372</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>MAXT</fromserviceparameter-name>
     <toserviceparameter-name>aMaxVal</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>729</x>
-      <y>749</y>     </coord>
+<x>765</x>
+      <y>742</y>     </coord>
      <coord>
-<x>728</x>
-      <y>444</y>     </coord>    </coord-list>   </link>
-   <link>
-<fromnode-name>label_test</fromnode-name>
-    <fromserviceparameter-name>MAXT</fromserviceparameter-name>
-    <tonode-name>EndL_OneEven</tonode-name>
-    <toserviceparameter-name>MAX</toserviceparameter-name>
-    <coord-list/>   </link>
-   <link>
-<fromnode-name>label_test</fromnode-name>
-    <fromserviceparameter-name>AVERAGET</fromserviceparameter-name>
-    <tonode-name>EndL_OneEven</tonode-name>
-    <toserviceparameter-name>AVERAGE</toserviceparameter-name>
-    <coord-list/>   </link>
+<x>766</x>
+      <y>384</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>label_test</fromnode-name>
     <fromserviceparameter-name>SYRLISTT</fromserviceparameter-name>
     <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
     <coord-list>
 <coord>
-<x>771</x>
-      <y>557</y>     </coord>
+<x>773</x>
+      <y>546</y>     </coord>
      <coord>
-<x>770</x>
-      <y>502</y>     </coord>    </coord-list>   </link>
+<x>772</x>
+      <y>424</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
    <link>
 <fromnode-name>control_m3p1</fromnode-name>
     <fromserviceparameter-name>Gate</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>553</x>
-      <y>536</y>     </coord>
+      <y>453</y>     </coord>
      <coord>
 <x>554</x>
       <y>1025</y>     </coord>
 <x>1242</x>
       <y>1026</y>     </coord>
      <coord>
-<x>1243</x>
-      <y>279</y>     </coord>    </coord-list>   </link>
+<x>1234</x>
+      <y>204</y>     </coord>    </coord-list>   </link>
    <link>
 <fromnode-name>control_div2</fromnode-name>
     <fromserviceparameter-name>Gate</fromserviceparameter-name>
     <coord-list>
 <coord>
 <x>176</x>
-      <y>476</y>     </coord>
+      <y>419</y>     </coord>
      <coord>
 <x>176</x>
       <y>997</y>     </coord>
 <x>1217</x>
       <y>996</y>     </coord>
      <coord>
-<x>1218</x>
-      <y>768</y>     </coord>    </coord-list>   </link>  </link-list>
+<x>1223</x>
+      <y>711</y>     </coord>    </coord-list>   </link>  </link-list>
   <data-list>
 <data>
 <fromnode-name>GraphSyrControlAve</fromnode-name>
diff --git a/examples/GraphSyrControlAveAborted.py b/examples/GraphSyrControlAveAborted.py
new file mode 100644 (file)
index 0000000..30101b6
--- /dev/null
@@ -0,0 +1,413 @@
+
+# Generated python file of Graph GraphSyrControlAveAborted
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAveAborted
+def DefGraphSyrControlAveAborted() :
+    GraphSyrControlAveAborted = Graph( 'GraphSyrControlAveAborted' )
+    GraphSyrControlAveAborted.SetName( 'GraphSyrControlAveAborted' )
+    GraphSyrControlAveAborted.SetAuthor( 'JR' )
+    GraphSyrControlAveAborted.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAveAborted.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN.SetName( 'test_ISEVEN' )
+    test_ISEVEN.SetAuthor( '' )
+    test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
+    test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+    test_ISEVEN.Coords( 370 , 455 )
+    Itest_ISEVENanInteger = test_ISEVEN.GetInPort( 'anInteger' )
+    Itest_ISEVENGate = test_ISEVEN.GetInPort( 'Gate' )
+    Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
+    Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
+    
+    test_ISONE = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE.SetName( 'test_ISONE' )
+    test_ISONE.SetAuthor( '' )
+    test_ISONE.SetContainer( 'localhost/FactoryServer' )
+    test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+    test_ISONE.Coords( 370 , 127 )
+    Itest_ISONEanInteger = test_ISONE.GetInPort( 'anInteger' )
+    Itest_ISONEGate = test_ISONE.GetInPort( 'Gate' )
+    Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
+    Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
+    
+    m3p1 = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1.SetName( 'm3p1' )
+    m3p1.SetAuthor( '' )
+    m3p1.SetContainer( 'localhost/FactoryServer' )
+    m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+    m3p1.Coords( 789 , 0 )
+    Im3p1anOddInteger = m3p1.GetInPort( 'anOddInteger' )
+    Im3p1Gate = m3p1.GetInPort( 'Gate' )
+    Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
+    Om3p1Gate = m3p1.GetOutPort( 'Gate' )
+    
+    div2 = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2.SetName( 'div2' )
+    div2.SetAuthor( '' )
+    div2.SetContainer( 'localhost/FactoryServer' )
+    div2.SetComment( 'C_DIV2 from SyrComponent' )
+    div2.Coords( 789 , 255 )
+    Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
+    Idiv2Gate = div2.GetInPort( 'Gate' )
+    Odiv2anInteger = div2.GetOutPort( 'anInteger' )
+    Odiv2Gate = div2.GetOutPort( 'Gate' )
+    
+    incr = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr.SetName( 'incr' )
+    incr.SetAuthor( '' )
+    incr.SetContainer( 'localhost/FactoryServer' )
+    incr.SetComment( 'C_INCR from SyrComponent' )
+    incr.Coords( 790 , 136 )
+    IincraCount = incr.GetInPort( 'aCount' )
+    IincrGate = incr.GetInPort( 'Gate' )
+    OincraNewCount = incr.GetOutPort( 'aNewCount' )
+    OincrGate = incr.GetOutPort( 'Gate' )
+    
+    C_MIN = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MIN' )
+    C_MIN.SetName( 'C_MIN' )
+    C_MIN.SetAuthor( '' )
+    C_MIN.SetContainer( 'localhost/FactoryServer' )
+    C_MIN.SetComment( 'C_MIN from SyrComponent' )
+    C_MIN.Coords( 798 , 833 )
+    IC_MINaMinVal = C_MIN.GetInPort( 'aMinVal' )
+    IC_MINanInteger = C_MIN.GetInPort( 'anInteger' )
+    IC_MINGate = C_MIN.GetInPort( 'Gate' )
+    OC_MINaNewMinVal = C_MIN.GetOutPort( 'aNewMinVal' )
+    OC_MINGate = C_MIN.GetOutPort( 'Gate' )
+    
+    C_MAX = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MAX' )
+    C_MAX.SetName( 'C_MAX' )
+    C_MAX.SetAuthor( '' )
+    C_MAX.SetContainer( 'localhost/FactoryServer' )
+    C_MAX.SetComment( 'C_MAX from SyrComponent' )
+    C_MAX.Coords( 798 , 668 )
+    IC_MAXaMaxVal = C_MAX.GetInPort( 'aMaxVal' )
+    IC_MAXanInteger = C_MAX.GetInPort( 'anInteger' )
+    IC_MAXGate = C_MAX.GetInPort( 'Gate' )
+    OC_MAXaNewMaxVal = C_MAX.GetOutPort( 'aNewMaxVal' )
+    OC_MAXGate = C_MAX.GetOutPort( 'Gate' )
+    
+    C_AVERAGE = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_AVERAGE' )
+    C_AVERAGE.SetName( 'C_AVERAGE' )
+    C_AVERAGE.SetAuthor( '' )
+    C_AVERAGE.SetContainer( 'localhost/FactoryServer' )
+    C_AVERAGE.SetComment( 'C_AVERAGE from SyrComponent' )
+    C_AVERAGE.Coords( 784 , 476 )
+    IC_AVERAGEaListOfSyr = C_AVERAGE.GetInPort( 'aListOfSyr' )
+    IC_AVERAGEanInteger = C_AVERAGE.GetInPort( 'anInteger' )
+    IC_AVERAGEaCount = C_AVERAGE.GetInPort( 'aCount' )
+    IC_AVERAGEGate = C_AVERAGE.GetInPort( 'Gate' )
+    OC_AVERAGEaNewListOfSyr = C_AVERAGE.GetOutPort( 'aNewListOfSyr' )
+    OC_AVERAGEanAverage = C_AVERAGE.GetOutPort( 'anAverage' )
+    OC_AVERAGEGate = C_AVERAGE.GetOutPort( 'Gate' )
+    
+    C_LISTOFSYR = GraphSyrControlAveAborted.FNode( 'SyrComponent' , 'SyrComponent' , 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetName( 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetAuthor( '' )
+    C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
+    C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
+    C_LISTOFSYR.Coords( 5 , 321 )
+    IC_LISTOFSYRGate = C_LISTOFSYR.GetInPort( 'Gate' )
+    OC_LISTOFSYRaListOfSyr = C_LISTOFSYR.GetOutPort( 'aListOfSyr' )
+    OC_LISTOFSYRGate = C_LISTOFSYR.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    Pylabel_begin = []
+    Pylabel_begin.append( 'def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :' )
+    Pylabel_begin.append( '    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB' )
+    label_begin = GraphSyrControlAveAborted.INode( 'label_begin' , Pylabel_begin )
+    label_begin.SetName( 'label_begin' )
+    label_begin.SetAuthor( '' )
+    label_begin.SetComment( 'Python function' )
+    label_begin.Coords( 183 , 220 )
+    Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
+    Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
+    Ilabel_beginMINB = label_begin.InPort( 'MINB' , 'long' )
+    Ilabel_beginMAXB = label_begin.InPort( 'MAXB' , 'long' )
+    Ilabel_beginAVERAGEB = label_begin.InPort( 'AVERAGEB' , 'double' )
+    Ilabel_beginSYRLISTB = label_begin.InPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ilabel_beginGate = label_begin.GetInPort( 'Gate' )
+    Olabel_beginNT = label_begin.OutPort( 'NT' , 'long' )
+    Olabel_beginKT = label_begin.OutPort( 'KT' , 'long' )
+    Olabel_beginMIN = label_begin.OutPort( 'MIN' , 'long' )
+    Olabel_beginMAX = label_begin.OutPort( 'MAX' , 'long' )
+    Olabel_beginAVERAGE = label_begin.OutPort( 'AVERAGE' , 'double' )
+    Olabel_beginSYRLIST = label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_beginGate = label_begin.GetOutPort( 'Gate' )
+    
+    # Creation of Switch Nodes
+    Pylabel_test = []
+    Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):' )
+    Pylabel_test.append( '    Finished = ValOne' )
+    Pylabel_test.append( '    if Finished == 0 :' )
+    Pylabel_test.append( '        Incr = 1' )
+    Pylabel_test.append( '        Even = ValEven' )
+    Pylabel_test.append( '        if Even == 0 :' )
+    Pylabel_test.append( '            Odd = 1' )
+    Pylabel_test.append( '        else :' )
+    Pylabel_test.append( '            Odd = 0' )
+    Pylabel_test.append( '    else :' )
+    Pylabel_test.append( '        Incr = 0' )
+    Pylabel_test.append( '        Even = 0' )
+    Pylabel_test.append( '        Odd = 0' )
+    Pylabel_test.append( '    Even = ValEven' )
+    Pylabel_test.append( '    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST' )
+    label_test,EndL_OneEven = GraphSyrControlAveAborted.SNode( 'L_OneEven' , Pylabel_test )
+    EndL_OneEven.SetName( 'EndL_OneEven' )
+    EndL_OneEven.SetAuthor( '' )
+    EndL_OneEven.SetComment( 'Compute Node' )
+    EndL_OneEven.Coords( 1064 , 339 )
+    PyEndL_OneEven = []
+    EndL_OneEven.SetPyFunction( '' , PyEndL_OneEven )
+    IEndL_OneEvenMINT = EndL_OneEven.InPort( 'MINT' , 'long' )
+    IEndL_OneEvenMAXT = EndL_OneEven.InPort( 'MAXT' , 'long' )
+    IEndL_OneEvenAVERAGET = EndL_OneEven.InPort( 'AVERAGET' , 'double' )
+    IEndL_OneEvenDefault = EndL_OneEven.GetInPort( 'Default' )
+    OEndL_OneEvenMIN = EndL_OneEven.OutPort( 'MIN' , 'long' )
+    OEndL_OneEvenMAX = EndL_OneEven.OutPort( 'MAX' , 'long' )
+    OEndL_OneEvenAVERAGE = EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
+    OEndL_OneEvenGate = EndL_OneEven.GetOutPort( 'Gate' )
+    label_test.SetName( 'label_test' )
+    label_test.SetAuthor( '' )
+    label_test.SetComment( 'Compute Node' )
+    label_test.Coords( 564 , 219 )
+    Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
+    Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
+    Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
+    Ilabel_testKT = label_test.InPort( 'KT' , 'long' )
+    Ilabel_testMIN = label_test.InPort( 'MIN' , 'long' )
+    Ilabel_testMAX = label_test.InPort( 'MAX' , 'long' )
+    Ilabel_testAVERAGE = label_test.InPort( 'AVERAGE' , 'double' )
+    Ilabel_testSYRLIST = label_test.InPort( 'SYRLIST' , 'ListOfSyr' )
+    Ilabel_testGate = label_test.GetInPort( 'Gate' )
+    Olabel_testFinished = label_test.OutPort( 'Finished' , 'long' )
+    Olabel_testIncr = label_test.OutPort( 'Incr' , 'long' )
+    Olabel_testEven = label_test.OutPort( 'Even' , 'long' )
+    Olabel_testOdd = label_test.OutPort( 'Odd' , 'long' )
+    Olabel_testN = label_test.OutPort( 'N' , 'long' )
+    Olabel_testK = label_test.OutPort( 'K' , 'long' )
+    Olabel_testMIN = label_test.OutPort( 'MIN' , 'long' )
+    Olabel_testMAX = label_test.OutPort( 'MAX' , 'long' )
+    Olabel_testAVERAGE = label_test.OutPort( 'AVERAGE' , 'double' )
+    Olabel_testSYRLIST = label_test.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_testDefault = label_test.GetOutPort( 'Default' )
+    
+    # Creation of GOTO Nodes
+    Pycontrol_m3p1 = []
+    Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_m3p1 = GraphSyrControlAveAborted.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1.SetName( 'control_m3p1' )
+    control_m3p1.SetAuthor( '' )
+    control_m3p1.SetComment( 'Compute Node' )
+    control_m3p1.Coords( 1058 , 8 )
+    Icontrol_m3p1N = control_m3p1.InPort( 'N' , 'long' )
+    Icontrol_m3p1K = control_m3p1.InPort( 'K' , 'long' )
+    Icontrol_m3p1MINT = control_m3p1.InPort( 'MINT' , 'long' )
+    Icontrol_m3p1MAXT = control_m3p1.InPort( 'MAXT' , 'long' )
+    Icontrol_m3p1AVERAGET = control_m3p1.InPort( 'AVERAGET' , 'double' )
+    Icontrol_m3p1SYRLISTT = control_m3p1.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_m3p1Gate = control_m3p1.GetInPort( 'Gate' )
+    Ocontrol_m3p1ValOne = control_m3p1.OutPort( 'ValOne' , 'long' )
+    Ocontrol_m3p1ValEven = control_m3p1.OutPort( 'ValEven' , 'long' )
+    Ocontrol_m3p1NT = control_m3p1.OutPort( 'NT' , 'long' )
+    Ocontrol_m3p1KT = control_m3p1.OutPort( 'KT' , 'long' )
+    Ocontrol_m3p1MIN = control_m3p1.OutPort( 'MIN' , 'long' )
+    Ocontrol_m3p1MAX = control_m3p1.OutPort( 'MAX' , 'long' )
+    Ocontrol_m3p1AVERAGE = control_m3p1.OutPort( 'AVERAGE' , 'double' )
+    Ocontrol_m3p1SYRLIST = control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
+    
+    Pycontrol_div2 = []
+    Pycontrol_div2.append( 'def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :' )
+    Pycontrol_div2.append( '    return N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_div2 = GraphSyrControlAveAborted.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2.SetName( 'control_div2' )
+    control_div2.SetAuthor( '' )
+    control_div2.SetComment( 'Compute Node' )
+    control_div2.Coords( 1048 , 555 )
+    Icontrol_div2N = control_div2.InPort( 'N' , 'long' )
+    Icontrol_div2K = control_div2.InPort( 'K' , 'long' )
+    Icontrol_div2MINT = control_div2.InPort( 'MINT' , 'long' )
+    Icontrol_div2MAXT = control_div2.InPort( 'MAXT' , 'long' )
+    Icontrol_div2AVERAGET = control_div2.InPort( 'AVERAGET' , 'double' )
+    Icontrol_div2SYRLISTT = control_div2.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_div2Gate = control_div2.GetInPort( 'Gate' )
+    Ocontrol_div2NB = control_div2.OutPort( 'NB' , 'long' )
+    Ocontrol_div2KB = control_div2.OutPort( 'KB' , 'long' )
+    Ocontrol_div2MINB = control_div2.OutPort( 'MINB' , 'long' )
+    Ocontrol_div2MAXB = control_div2.OutPort( 'MAXB' , 'long' )
+    Ocontrol_div2AVERAGEB = control_div2.OutPort( 'AVERAGEB' , 'double' )
+    Ocontrol_div2SYRLISTB = control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAveAborted.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAveAborted.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAveAborted.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAveAborted.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAveAborted.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAveAborted.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
+    
+    LincraNewCountC_AVERAGEaCount = GraphSyrControlAveAborted.Link( OincraNewCount , IC_AVERAGEaCount )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 751 , 588 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 751 , 460 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 968 , 205 )
+    
+    LC_MINaNewMinValcontrol_m3p1MINT = GraphSyrControlAveAborted.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAveAborted.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAveAborted.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAveAborted.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAveAborted.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAveAborted.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+    
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAveAborted.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
+    
+    LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAveAborted.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
+    
+    LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAveAborted.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAveAborted.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAveAborted.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAveAborted.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAveAborted.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_beginMINlabel_testMIN = GraphSyrControlAveAborted.Link( Olabel_beginMIN , Ilabel_testMIN )
+    
+    Llabel_beginMAXlabel_testMAX = GraphSyrControlAveAborted.Link( Olabel_beginMAX , Ilabel_testMAX )
+    
+    Llabel_beginAVERAGElabel_testAVERAGE = GraphSyrControlAveAborted.Link( Olabel_beginAVERAGE , Ilabel_testAVERAGE )
+    
+    Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAveAborted.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
+    
+    Llabel_testEvendiv2Gate = GraphSyrControlAveAborted.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
+    
+    Llabel_testOddm3p1Gate = GraphSyrControlAveAborted.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
+    
+    Llabel_testNm3p1anOddInteger = GraphSyrControlAveAborted.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
+    
+    Llabel_testNdiv2anEvenInteger = GraphSyrControlAveAborted.Link( Olabel_testN , Idiv2anEvenInteger )
+    
+    Llabel_testNC_MINanInteger = GraphSyrControlAveAborted.Link( Olabel_testN , IC_MINanInteger )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
+    
+    Llabel_testNC_MAXanInteger = GraphSyrControlAveAborted.Link( Olabel_testN , IC_MAXanInteger )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
+    
+    Llabel_testNC_AVERAGEanInteger = GraphSyrControlAveAborted.Link( Olabel_testN , IC_AVERAGEanInteger )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
+    
+    Llabel_testKincraCount = GraphSyrControlAveAborted.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
+    
+    Llabel_testMINC_MINaMinVal = GraphSyrControlAveAborted.Link( Olabel_testMIN , IC_MINaMinVal )
+    Llabel_testMINC_MINaMinVal.AddCoord( 1 , 771 , 902 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 2 , 777 , 371 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 3 , 777 , 370 )
+    
+    Llabel_testMINEndL_OneEvenMINT = GraphSyrControlAveAborted.Link( Olabel_testMIN , IEndL_OneEvenMINT )
+    
+    Llabel_testMAXC_MAXaMaxVal = GraphSyrControlAveAborted.Link( Olabel_testMAX , IC_MAXaMaxVal )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 1 , 764 , 739 )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 2 , 762 , 390 )
+    
+    Llabel_testMAXEndL_OneEvenMAXT = GraphSyrControlAveAborted.Link( Olabel_testMAX , IEndL_OneEvenMAXT )
+    
+    Llabel_testAVERAGEEndL_OneEvenAVERAGET = GraphSyrControlAveAborted.Link( Olabel_testAVERAGE , IEndL_OneEvenAVERAGET )
+    
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr = GraphSyrControlAveAborted.Link( Olabel_testSYRLIST , IC_AVERAGEaListOfSyr )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 1 , 769 , 546 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 2 , 769 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 3 , 768 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 4 , 768 , 430 )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAveAborted.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 453 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 554 , 1025 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1242 , 1026 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1234 , 204 )
+    
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAveAborted.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 419 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 176 , 997 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1217 , 996 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1223 , 711 )
+    
+    # Input datas
+    Ilabel_beginNB.Input( 31 )
+    Ilabel_beginKB.Input( 0 )
+    Ilabel_beginMINB.Input( 0 )
+    Ilabel_beginMAXB.Input( 0 )
+    Ilabel_beginAVERAGEB.Input( 0 )
+    
+    # Output Ports of the graph
+    #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
+    #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
+    #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
+    #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
+    #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
+    return GraphSyrControlAveAborted
+
+
+GraphSyrControlAveAborted = DefGraphSyrControlAveAborted()
diff --git a/examples/GraphSyrControlAveAborted.xml b/examples/GraphSyrControlAveAborted.xml
new file mode 100644 (file)
index 0000000..6d11dbe
--- /dev/null
@@ -0,0 +1,1107 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAveAborted</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSyrControlAveNOTValid1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MIN</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MAX</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>EndL_OneEven__AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>2/10/2003 - 11:17:14</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Syracuse algorithm</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISEVEN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISEVEN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISEVEN from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>455</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISONE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISONE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISONE from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>m3p1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_M3P1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anOddInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_M3P1 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>0</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>div2</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_DIV2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anEvenInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_DIV2 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>255</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>incr</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_INCR</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_INCR from SyrComponent</comment>
+    <x-position>790</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MIN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MIN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMinVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMinVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MIN from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>833</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MAX</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MAX</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMaxVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMaxVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MAX from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>668</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_AVERAGE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_AVERAGE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>aListOfSyr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aNewListOfSyr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>anAverage</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_AVERAGE from SyrComponent</comment>
+    <x-position>784</x-position>
+    <y-position>476</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_LISTOFSYR</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_LISTOFSYR</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aListOfSyr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_LISTOFSYR from SyrComponent</comment>
+    <x-position>5</x-position>
+    <y-position>321</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_begin</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_begin</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+      <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>183</x-position>
+    <y-position>220</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_test</node-name>
+    <kind>6</kind>
+    <coupled-node>EndL_OneEven</coupled-node>
+    <service>
+<service-name>label_test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</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>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGE</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLIST</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>N</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>L_OneEven</FuncName>
+      <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):]]></PyFunc>
+      <PyFunc><![CDATA[    Finished = ValOne]]></PyFunc>
+      <PyFunc><![CDATA[    if Finished == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 1]]></PyFunc>
+      <PyFunc><![CDATA[        Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[        if Even == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1]]></PyFunc>
+      <PyFunc><![CDATA[        else :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    else :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>564</x-position>
+    <y-position>219</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndL_OneEven</node-name>
+    <kind>7</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>EndL_OneEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1064</x-position>
+    <y-position>339</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_m3p1</node-name>
+    <kind>8</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>control_m3p1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>C_NotOneIsEven</FuncName>
+      <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1058</x-position>
+    <y-position>8</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_div2</node-name>
+    <kind>8</kind>
+    <coupled-node>label_begin</coupled-node>
+    <service>
+<service-name>control_div2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MINB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MAXB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGEB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLISTB</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+      <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>6/7/2005 - 10:32:56</creation-date>
+    <lastmodification-date>6/7/2005 - 10:32:56</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1048</x-position>
+    <y-position>555</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+    <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>544</x>
+      <y>256</y>     </coord>
+     <coord>
+<x>544</x>
+      <y>524</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test_ISONE</fromnode-name>
+    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>546</x>
+      <y>237</y>     </coord>
+     <coord>
+<x>546</x>
+      <y>198</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>m3p1</fromnode-name>
+    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>975</x>
+      <y>38</y>     </coord>
+     <coord>
+<x>976</x>
+      <y>81</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>div2</fromnode-name>
+    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1012</x>
+      <y>585</y>     </coord>
+     <coord>
+<x>1011</x>
+      <y>346</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>966</x>
+      <y>606</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>207</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>965</x>
+      <y>59</y>     </coord>
+     <coord>
+<x>966</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>588</y>     </coord>
+     <coord>
+<x>751</x>
+      <y>460</y>     </coord>
+     <coord>
+<x>965</x>
+      <y>462</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>205</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>626</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>976</x>
+      <y>98</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>972</x>
+      <y>648</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1037</x>
+      <y>137</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>556</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1038</x>
+      <y>686</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>555</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1026</x>
+      <y>118</y>     </coord>
+     <coord>
+<x>1027</x>
+      <y>567</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1027</x>
+      <y>668</y>     </coord>
+     <coord>
+<x>1026</x>
+      <y>568</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_LISTOFSYR</fromnode-name>
+    <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>SYRLISTB</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISONE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>361</x>
+      <y>197</y>     </coord>
+     <coord>
+<x>360</x>
+      <y>290</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISEVEN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>359</x>
+      <y>525</y>     </coord>
+     <coord>
+<x>361</x>
+      <y>291</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MIN</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MAX</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>AVERAGE</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>SYRLIST</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>777</x>
+      <y>351</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>286</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>757</x>
+      <y>95</y>     </coord>
+     <coord>
+<x>757</x>
+      <y>310</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>72</y>     </coord>
+     <coord>
+<x>741</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>744</x>
+      <y>923</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>742</x>
+      <y>759</y>     </coord>
+     <coord>
+<x>743</x>
+      <y>332</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>568</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>330</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>incr</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>766</x>
+      <y>207</y>     </coord>
+     <coord>
+<x>766</x>
+      <y>343</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>aMinVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>771</x>
+      <y>902</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>371</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>370</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>aMaxVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>764</x>
+      <y>739</y>     </coord>
+     <coord>
+<x>762</x>
+      <y>390</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>769</x>
+      <y>546</y>     </coord>
+     <coord>
+<x>769</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>430</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_m3p1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>553</x>
+      <y>453</y>     </coord>
+     <coord>
+<x>554</x>
+      <y>1025</y>     </coord>
+     <coord>
+<x>1242</x>
+      <y>1026</y>     </coord>
+     <coord>
+<x>1234</x>
+      <y>204</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_div2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>176</x>
+      <y>419</y>     </coord>
+     <coord>
+<x>176</x>
+      <y>997</y>     </coord>
+     <coord>
+<x>1217</x>
+      <y>996</y>     </coord>
+     <coord>
+<x>1223</x>
+      <y>711</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSyrControlAveAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>NB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>31</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>KB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__MINB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MINB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__MAXB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MAXB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveAborted</fromnode-name>
+    <fromserviceparameter-name>label_begin__AVERAGEB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSyrControlAveExecutable.py b/examples/GraphSyrControlAveExecutable.py
new file mode 100644 (file)
index 0000000..338adea
--- /dev/null
@@ -0,0 +1,415 @@
+
+# Generated python file of Graph GraphSyrControlAveExecutable
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAveExecutable
+def DefGraphSyrControlAveExecutable() :
+    GraphSyrControlAveExecutable = Graph( 'GraphSyrControlAveExecutable' )
+    GraphSyrControlAveExecutable.SetName( 'GraphSyrControlAveExecutable' )
+    GraphSyrControlAveExecutable.SetAuthor( 'JR' )
+    GraphSyrControlAveExecutable.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAveExecutable.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN.SetName( 'test_ISEVEN' )
+    test_ISEVEN.SetAuthor( '' )
+    test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
+    test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+    test_ISEVEN.Coords( 370 , 455 )
+    Itest_ISEVENanInteger = test_ISEVEN.GetInPort( 'anInteger' )
+    Itest_ISEVENGate = test_ISEVEN.GetInPort( 'Gate' )
+    Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
+    Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
+    
+    test_ISONE = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE.SetName( 'test_ISONE' )
+    test_ISONE.SetAuthor( '' )
+    test_ISONE.SetContainer( 'localhost/FactoryServer' )
+    test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+    test_ISONE.Coords( 370 , 127 )
+    Itest_ISONEanInteger = test_ISONE.GetInPort( 'anInteger' )
+    Itest_ISONEGate = test_ISONE.GetInPort( 'Gate' )
+    Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
+    Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
+    
+    m3p1 = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1.SetName( 'm3p1' )
+    m3p1.SetAuthor( '' )
+    m3p1.SetContainer( 'localhost/FactoryServer' )
+    m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+    m3p1.Coords( 789 , 0 )
+    Im3p1anOddInteger = m3p1.GetInPort( 'anOddInteger' )
+    Im3p1Gate = m3p1.GetInPort( 'Gate' )
+    Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
+    Om3p1Gate = m3p1.GetOutPort( 'Gate' )
+    
+    div2 = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2.SetName( 'div2' )
+    div2.SetAuthor( '' )
+    div2.SetContainer( 'localhost/FactoryServer' )
+    div2.SetComment( 'C_DIV2 from SyrComponent' )
+    div2.Coords( 789 , 255 )
+    Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
+    Idiv2Gate = div2.GetInPort( 'Gate' )
+    Odiv2anInteger = div2.GetOutPort( 'anInteger' )
+    Odiv2Gate = div2.GetOutPort( 'Gate' )
+    
+    incr = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr.SetName( 'incr' )
+    incr.SetAuthor( '' )
+    incr.SetContainer( 'localhost/FactoryServer' )
+    incr.SetComment( 'C_INCR from SyrComponent' )
+    incr.Coords( 790 , 136 )
+    IincraCount = incr.GetInPort( 'aCount' )
+    IincrGate = incr.GetInPort( 'Gate' )
+    OincraNewCount = incr.GetOutPort( 'aNewCount' )
+    OincrGate = incr.GetOutPort( 'Gate' )
+    
+    C_MIN = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MIN' )
+    C_MIN.SetName( 'C_MIN' )
+    C_MIN.SetAuthor( '' )
+    C_MIN.SetContainer( 'localhost/FactoryServer' )
+    C_MIN.SetComment( 'C_MIN from SyrComponent' )
+    C_MIN.Coords( 798 , 833 )
+    IC_MINaMinVal = C_MIN.GetInPort( 'aMinVal' )
+    IC_MINanInteger = C_MIN.GetInPort( 'anInteger' )
+    IC_MINGate = C_MIN.GetInPort( 'Gate' )
+    OC_MINaNewMinVal = C_MIN.GetOutPort( 'aNewMinVal' )
+    OC_MINGate = C_MIN.GetOutPort( 'Gate' )
+    
+    C_MAX = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MAX' )
+    C_MAX.SetName( 'C_MAX' )
+    C_MAX.SetAuthor( '' )
+    C_MAX.SetContainer( 'localhost/FactoryServer' )
+    C_MAX.SetComment( 'C_MAX from SyrComponent' )
+    C_MAX.Coords( 798 , 668 )
+    IC_MAXaMaxVal = C_MAX.GetInPort( 'aMaxVal' )
+    IC_MAXanInteger = C_MAX.GetInPort( 'anInteger' )
+    IC_MAXGate = C_MAX.GetInPort( 'Gate' )
+    OC_MAXaNewMaxVal = C_MAX.GetOutPort( 'aNewMaxVal' )
+    OC_MAXGate = C_MAX.GetOutPort( 'Gate' )
+    
+    C_AVERAGE = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_AVERAGE' )
+    C_AVERAGE.SetName( 'C_AVERAGE' )
+    C_AVERAGE.SetAuthor( '' )
+    C_AVERAGE.SetContainer( 'localhost/FactoryServer' )
+    C_AVERAGE.SetComment( 'C_AVERAGE from SyrComponent' )
+    C_AVERAGE.Coords( 784 , 476 )
+    IC_AVERAGEaListOfSyr = C_AVERAGE.GetInPort( 'aListOfSyr' )
+    IC_AVERAGEanInteger = C_AVERAGE.GetInPort( 'anInteger' )
+    IC_AVERAGEaCount = C_AVERAGE.GetInPort( 'aCount' )
+    IC_AVERAGEGate = C_AVERAGE.GetInPort( 'Gate' )
+    OC_AVERAGEaNewListOfSyr = C_AVERAGE.GetOutPort( 'aNewListOfSyr' )
+    OC_AVERAGEanAverage = C_AVERAGE.GetOutPort( 'anAverage' )
+    OC_AVERAGEGate = C_AVERAGE.GetOutPort( 'Gate' )
+    
+    C_LISTOFSYR = GraphSyrControlAveExecutable.FNode( 'SyrComponent' , 'SyrComponent' , 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetName( 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetAuthor( '' )
+    C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
+    C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
+    C_LISTOFSYR.Coords( 5 , 321 )
+    IC_LISTOFSYRGate = C_LISTOFSYR.GetInPort( 'Gate' )
+    OC_LISTOFSYRaListOfSyr = C_LISTOFSYR.GetOutPort( 'aListOfSyr' )
+    OC_LISTOFSYRGate = C_LISTOFSYR.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    Pylabel_begin = []
+    Pylabel_begin.append( 'def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :' )
+    Pylabel_begin.append( '    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB' )
+    label_begin = GraphSyrControlAveExecutable.INode( 'label_begin' , Pylabel_begin )
+    label_begin.SetName( 'label_begin' )
+    label_begin.SetAuthor( '' )
+    label_begin.SetComment( 'Python function' )
+    label_begin.Coords( 183 , 220 )
+    Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
+    Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
+    Ilabel_beginMINB = label_begin.InPort( 'MINB' , 'long' )
+    Ilabel_beginMAXB = label_begin.InPort( 'MAXB' , 'long' )
+    Ilabel_beginAVERAGEB = label_begin.InPort( 'AVERAGEB' , 'double' )
+    Ilabel_beginSYRLISTB = label_begin.InPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ilabel_beginGate = label_begin.GetInPort( 'Gate' )
+    Olabel_beginNT = label_begin.OutPort( 'NT' , 'long' )
+    Olabel_beginKT = label_begin.OutPort( 'KT' , 'long' )
+    Olabel_beginMIN = label_begin.OutPort( 'MIN' , 'long' )
+    Olabel_beginMAX = label_begin.OutPort( 'MAX' , 'long' )
+    Olabel_beginAVERAGE = label_begin.OutPort( 'AVERAGE' , 'double' )
+    Olabel_beginSYRLIST = label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_beginGate = label_begin.GetOutPort( 'Gate' )
+    
+    # Creation of Switch Nodes
+    Pylabel_test = []
+    Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):' )
+    Pylabel_test.append( '    Finished = ValOne' )
+    Pylabel_test.append( '    if Finished == 0 :' )
+    Pylabel_test.append( '        Incr = 1' )
+    Pylabel_test.append( '        Even = ValEven' )
+    Pylabel_test.append( '        if Even == 0 :' )
+    Pylabel_test.append( '            Odd = 1' )
+    Pylabel_test.append( '        else :' )
+    Pylabel_test.append( '            Odd = 0' )
+    Pylabel_test.append( '    else :' )
+    Pylabel_test.append( '        Incr = 0' )
+    Pylabel_test.append( '        Even = 0' )
+    Pylabel_test.append( '        Odd = 0' )
+    Pylabel_test.append( '    Even = ValEven' )
+    Pylabel_test.append( '    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST' )
+    label_test,EndL_OneEven = GraphSyrControlAveExecutable.SNode( 'L_OneEven' , Pylabel_test )
+    EndL_OneEven.SetName( 'EndL_OneEven' )
+    EndL_OneEven.SetAuthor( '' )
+    EndL_OneEven.SetComment( 'Compute Node' )
+    EndL_OneEven.Coords( 1064 , 339 )
+    PyEndL_OneEven = []
+    EndL_OneEven.SetPyFunction( '' , PyEndL_OneEven )
+    IEndL_OneEvenMINT = EndL_OneEven.InPort( 'MINT' , 'long' )
+    IEndL_OneEvenMAXT = EndL_OneEven.InPort( 'MAXT' , 'long' )
+    IEndL_OneEvenAVERAGET = EndL_OneEven.InPort( 'AVERAGET' , 'double' )
+    IEndL_OneEvenDefault = EndL_OneEven.GetInPort( 'Default' )
+    OEndL_OneEvenMIN = EndL_OneEven.OutPort( 'MIN' , 'long' )
+    OEndL_OneEvenMAX = EndL_OneEven.OutPort( 'MAX' , 'long' )
+    OEndL_OneEvenAVERAGE = EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
+    OEndL_OneEvenGate = EndL_OneEven.GetOutPort( 'Gate' )
+    label_test.SetName( 'label_test' )
+    label_test.SetAuthor( '' )
+    label_test.SetComment( 'Compute Node' )
+    label_test.Coords( 564 , 219 )
+    Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
+    Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
+    Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
+    Ilabel_testKT = label_test.InPort( 'KT' , 'long' )
+    Ilabel_testMIN = label_test.InPort( 'MIN' , 'long' )
+    Ilabel_testMAX = label_test.InPort( 'MAX' , 'long' )
+    Ilabel_testAVERAGE = label_test.InPort( 'AVERAGE' , 'double' )
+    Ilabel_testSYRLIST = label_test.InPort( 'SYRLIST' , 'ListOfSyr' )
+    Ilabel_testGate = label_test.GetInPort( 'Gate' )
+    Olabel_testFinished = label_test.OutPort( 'Finished' , 'long' )
+    Olabel_testIncr = label_test.OutPort( 'Incr' , 'long' )
+    Olabel_testEven = label_test.OutPort( 'Even' , 'long' )
+    Olabel_testOdd = label_test.OutPort( 'Odd' , 'long' )
+    Olabel_testN = label_test.OutPort( 'N' , 'long' )
+    Olabel_testK = label_test.OutPort( 'K' , 'long' )
+    Olabel_testMIN = label_test.OutPort( 'MIN' , 'long' )
+    Olabel_testMAX = label_test.OutPort( 'MAX' , 'long' )
+    Olabel_testAVERAGE = label_test.OutPort( 'AVERAGE' , 'double' )
+    Olabel_testSYRLIST = label_test.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_testDefault = label_test.GetOutPort( 'Default' )
+    
+    # Creation of GOTO Nodes
+    Pycontrol_m3p1 = []
+    Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_m3p1 = GraphSyrControlAveExecutable.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1.SetName( 'control_m3p1' )
+    control_m3p1.SetAuthor( '' )
+    control_m3p1.SetComment( 'Compute Node' )
+    control_m3p1.Coords( 1058 , 8 )
+    Icontrol_m3p1N = control_m3p1.InPort( 'N' , 'long' )
+    Icontrol_m3p1K = control_m3p1.InPort( 'K' , 'long' )
+    Icontrol_m3p1MINT = control_m3p1.InPort( 'MINT' , 'long' )
+    Icontrol_m3p1MAXT = control_m3p1.InPort( 'MAXT' , 'long' )
+    Icontrol_m3p1AVERAGET = control_m3p1.InPort( 'AVERAGET' , 'double' )
+    Icontrol_m3p1SYRLISTT = control_m3p1.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_m3p1Gate = control_m3p1.GetInPort( 'Gate' )
+    Ocontrol_m3p1ValOne = control_m3p1.OutPort( 'ValOne' , 'long' )
+    Ocontrol_m3p1ValEven = control_m3p1.OutPort( 'ValEven' , 'long' )
+    Ocontrol_m3p1NT = control_m3p1.OutPort( 'NT' , 'long' )
+    Ocontrol_m3p1KT = control_m3p1.OutPort( 'KT' , 'long' )
+    Ocontrol_m3p1MIN = control_m3p1.OutPort( 'MIN' , 'long' )
+    Ocontrol_m3p1MAX = control_m3p1.OutPort( 'MAX' , 'long' )
+    Ocontrol_m3p1AVERAGE = control_m3p1.OutPort( 'AVERAGE' , 'double' )
+    Ocontrol_m3p1SYRLIST = control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
+    
+    Pycontrol_div2 = []
+    Pycontrol_div2.append( 'def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :' )
+    Pycontrol_div2.append( '    return N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_div2 = GraphSyrControlAveExecutable.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2.SetName( 'control_div2' )
+    control_div2.SetAuthor( '' )
+    control_div2.SetComment( 'Compute Node' )
+    control_div2.Coords( 1048 , 555 )
+    Icontrol_div2N = control_div2.InPort( 'N' , 'long' )
+    Icontrol_div2K = control_div2.InPort( 'K' , 'long' )
+    Icontrol_div2MINT = control_div2.InPort( 'MINT' , 'long' )
+    Icontrol_div2MAXT = control_div2.InPort( 'MAXT' , 'long' )
+    Icontrol_div2AVERAGET = control_div2.InPort( 'AVERAGET' , 'double' )
+    Icontrol_div2SYRLISTT = control_div2.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_div2Gate = control_div2.GetInPort( 'Gate' )
+    Ocontrol_div2NB = control_div2.OutPort( 'NB' , 'long' )
+    Ocontrol_div2KB = control_div2.OutPort( 'KB' , 'long' )
+    Ocontrol_div2MINB = control_div2.OutPort( 'MINB' , 'long' )
+    Ocontrol_div2MAXB = control_div2.OutPort( 'MAXB' , 'long' )
+    Ocontrol_div2AVERAGEB = control_div2.OutPort( 'AVERAGEB' , 'double' )
+    Ocontrol_div2SYRLISTB = control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAveExecutable.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAveExecutable.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAveExecutable.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAveExecutable.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAveExecutable.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAveExecutable.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
+    
+    LincraNewCountC_AVERAGEaCount = GraphSyrControlAveExecutable.Link( OincraNewCount , IC_AVERAGEaCount )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 751 , 588 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 751 , 460 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 968 , 205 )
+    
+    LC_MINaNewMinValcontrol_m3p1MINT = GraphSyrControlAveExecutable.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAveExecutable.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAveExecutable.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAveExecutable.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAveExecutable.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAveExecutable.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+    
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAveExecutable.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
+    
+    LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAveExecutable.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
+    
+    LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAveExecutable.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAveExecutable.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAveExecutable.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAveExecutable.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAveExecutable.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_beginMINlabel_testMIN = GraphSyrControlAveExecutable.Link( Olabel_beginMIN , Ilabel_testMIN )
+    
+    Llabel_beginMAXlabel_testMAX = GraphSyrControlAveExecutable.Link( Olabel_beginMAX , Ilabel_testMAX )
+    
+    Llabel_beginAVERAGElabel_testAVERAGE = GraphSyrControlAveExecutable.Link( Olabel_beginAVERAGE , Ilabel_testAVERAGE )
+    
+    Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAveExecutable.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
+    
+    Llabel_testEvendiv2Gate = GraphSyrControlAveExecutable.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
+    
+    Llabel_testOddm3p1Gate = GraphSyrControlAveExecutable.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
+    
+    Llabel_testNm3p1anOddInteger = GraphSyrControlAveExecutable.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
+    
+    Llabel_testNdiv2anEvenInteger = GraphSyrControlAveExecutable.Link( Olabel_testN , Idiv2anEvenInteger )
+    
+    Llabel_testNC_MINanInteger = GraphSyrControlAveExecutable.Link( Olabel_testN , IC_MINanInteger )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
+    
+    Llabel_testNC_MAXanInteger = GraphSyrControlAveExecutable.Link( Olabel_testN , IC_MAXanInteger )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
+    
+    Llabel_testNC_AVERAGEanInteger = GraphSyrControlAveExecutable.Link( Olabel_testN , IC_AVERAGEanInteger )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
+    
+    Llabel_testKincraCount = GraphSyrControlAveExecutable.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
+    
+    Llabel_testMINC_MINaMinVal = GraphSyrControlAveExecutable.Link( Olabel_testMIN , IC_MINaMinVal )
+    Llabel_testMINC_MINaMinVal.AddCoord( 1 , 771 , 902 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 2 , 777 , 371 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 3 , 777 , 370 )
+    
+    Llabel_testMINEndL_OneEvenMINT = GraphSyrControlAveExecutable.Link( Olabel_testMIN , IEndL_OneEvenMINT )
+    
+    Llabel_testMAXC_MAXaMaxVal = GraphSyrControlAveExecutable.Link( Olabel_testMAX , IC_MAXaMaxVal )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 1 , 764 , 739 )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 2 , 762 , 390 )
+    
+    Llabel_testMAXEndL_OneEvenMAXT = GraphSyrControlAveExecutable.Link( Olabel_testMAX , IEndL_OneEvenMAXT )
+    
+    Llabel_testAVERAGEEndL_OneEvenAVERAGET = GraphSyrControlAveExecutable.Link( Olabel_testAVERAGE , IEndL_OneEvenAVERAGET )
+    
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr = GraphSyrControlAveExecutable.Link( Olabel_testSYRLIST , IC_AVERAGEaListOfSyr )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 1 , 769 , 546 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 2 , 769 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 3 , 768 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 4 , 768 , 430 )
+    
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlAveExecutable.Link( Olabel_testDefault , IEndL_OneEvenDefault )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAveExecutable.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 453 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 554 , 1025 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1242 , 1026 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1234 , 204 )
+    
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAveExecutable.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 419 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 176 , 997 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1217 , 996 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1223 , 711 )
+    
+    # Input datas
+    Ilabel_beginNB.Input( 31 )
+    Ilabel_beginKB.Input( 0 )
+    Ilabel_beginMINB.Input( 0 )
+    Ilabel_beginMAXB.Input( 0 )
+    Ilabel_beginAVERAGEB.Input( 0 )
+    
+    # Output Ports of the graph
+    #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
+    #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
+    #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
+    #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
+    #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
+    return GraphSyrControlAveExecutable
+
+
+GraphSyrControlAveExecutable = DefGraphSyrControlAveExecutable()
diff --git a/examples/GraphSyrControlAveExecutable.xml b/examples/GraphSyrControlAveExecutable.xml
new file mode 100644 (file)
index 0000000..630c7ad
--- /dev/null
@@ -0,0 +1,1113 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAveExecutable</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSyrControlAveNOTExecutable</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MIN</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MAX</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>EndL_OneEven__AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>2/10/2003 - 11:17:14</creation-date>
+    <lastmodification-date>22/6/2005 - 15:5:27</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Syracuse algorithm</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISEVEN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISEVEN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISEVEN from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>455</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISONE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISONE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISONE from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>m3p1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_M3P1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anOddInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_M3P1 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>0</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>div2</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_DIV2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anEvenInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_DIV2 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>255</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>incr</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_INCR</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_INCR from SyrComponent</comment>
+    <x-position>790</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MIN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MIN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMinVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMinVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MIN from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>833</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MAX</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MAX</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMaxVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMaxVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MAX from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>668</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_AVERAGE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_AVERAGE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>aListOfSyr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aNewListOfSyr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>anAverage</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_AVERAGE from SyrComponent</comment>
+    <x-position>784</x-position>
+    <y-position>476</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_LISTOFSYR</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_LISTOFSYR</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aListOfSyr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_LISTOFSYR from SyrComponent</comment>
+    <x-position>5</x-position>
+    <y-position>321</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_begin</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_begin</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+      <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>183</x-position>
+    <y-position>220</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_test</node-name>
+    <kind>6</kind>
+    <coupled-node>EndL_OneEven</coupled-node>
+    <service>
+<service-name>label_test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</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>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGE</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLIST</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>N</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>L_OneEven</FuncName>
+      <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):]]></PyFunc>
+      <PyFunc><![CDATA[    Finished = ValOne]]></PyFunc>
+      <PyFunc><![CDATA[    if Finished == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 1]]></PyFunc>
+      <PyFunc><![CDATA[        Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[        if Even == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1]]></PyFunc>
+      <PyFunc><![CDATA[        else :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    else :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>564</x-position>
+    <y-position>219</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndL_OneEven</node-name>
+    <kind>7</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>EndL_OneEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1064</x-position>
+    <y-position>339</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_m3p1</node-name>
+    <kind>8</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>control_m3p1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>C_NotOneIsEven</FuncName>
+      <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1058</x-position>
+    <y-position>8</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_div2</node-name>
+    <kind>8</kind>
+    <coupled-node>label_begin</coupled-node>
+    <service>
+<service-name>control_div2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MINB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MAXB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGEB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLISTB</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+      <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>22/6/2005 - 15:4:37</creation-date>
+    <lastmodification-date>22/6/2005 - 15:4:37</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1048</x-position>
+    <y-position>555</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+    <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>544</x>
+      <y>256</y>     </coord>
+     <coord>
+<x>544</x>
+      <y>524</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test_ISONE</fromnode-name>
+    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>546</x>
+      <y>237</y>     </coord>
+     <coord>
+<x>546</x>
+      <y>198</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>m3p1</fromnode-name>
+    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>975</x>
+      <y>38</y>     </coord>
+     <coord>
+<x>976</x>
+      <y>81</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>div2</fromnode-name>
+    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1012</x>
+      <y>585</y>     </coord>
+     <coord>
+<x>1011</x>
+      <y>346</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>966</x>
+      <y>606</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>207</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>965</x>
+      <y>59</y>     </coord>
+     <coord>
+<x>966</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>588</y>     </coord>
+     <coord>
+<x>751</x>
+      <y>460</y>     </coord>
+     <coord>
+<x>965</x>
+      <y>462</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>205</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>626</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>976</x>
+      <y>98</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>972</x>
+      <y>648</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1037</x>
+      <y>137</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>556</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1038</x>
+      <y>686</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>555</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1026</x>
+      <y>118</y>     </coord>
+     <coord>
+<x>1027</x>
+      <y>567</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1027</x>
+      <y>668</y>     </coord>
+     <coord>
+<x>1026</x>
+      <y>568</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_LISTOFSYR</fromnode-name>
+    <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>SYRLISTB</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISONE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>361</x>
+      <y>197</y>     </coord>
+     <coord>
+<x>360</x>
+      <y>290</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISEVEN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>359</x>
+      <y>525</y>     </coord>
+     <coord>
+<x>361</x>
+      <y>291</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MIN</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MAX</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>AVERAGE</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>SYRLIST</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>777</x>
+      <y>351</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>286</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>757</x>
+      <y>95</y>     </coord>
+     <coord>
+<x>757</x>
+      <y>310</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>72</y>     </coord>
+     <coord>
+<x>741</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>744</x>
+      <y>923</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>742</x>
+      <y>759</y>     </coord>
+     <coord>
+<x>743</x>
+      <y>332</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>568</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>330</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>incr</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>766</x>
+      <y>207</y>     </coord>
+     <coord>
+<x>766</x>
+      <y>343</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>aMinVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>771</x>
+      <y>902</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>371</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>370</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>aMaxVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>764</x>
+      <y>739</y>     </coord>
+     <coord>
+<x>762</x>
+      <y>390</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>769</x>
+      <y>546</y>     </coord>
+     <coord>
+<x>769</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>430</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>control_m3p1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>553</x>
+      <y>453</y>     </coord>
+     <coord>
+<x>554</x>
+      <y>1025</y>     </coord>
+     <coord>
+<x>1242</x>
+      <y>1026</y>     </coord>
+     <coord>
+<x>1234</x>
+      <y>204</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_div2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>176</x>
+      <y>419</y>     </coord>
+     <coord>
+<x>176</x>
+      <y>997</y>     </coord>
+     <coord>
+<x>1217</x>
+      <y>996</y>     </coord>
+     <coord>
+<x>1223</x>
+      <y>711</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSyrControlAveExecutable</fromnode-name>
+    <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>NB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>31</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveExecutable</fromnode-name>
+    <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>KB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveExecutable</fromnode-name>
+    <fromserviceparameter-name>label_begin__MINB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MINB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveExecutable</fromnode-name>
+    <fromserviceparameter-name>label_begin__MAXB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MAXB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveExecutable</fromnode-name>
+    <fromserviceparameter-name>label_begin__AVERAGEB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSyrControlAveNOTValid.py b/examples/GraphSyrControlAveNOTValid.py
new file mode 100644 (file)
index 0000000..f2062f0
--- /dev/null
@@ -0,0 +1,415 @@
+
+# Generated python file of Graph GraphSyrControlAveNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAveNOTValid
+def DefGraphSyrControlAveNOTValid() :
+    GraphSyrControlAveNOTValid = Graph( 'GraphSyrControlAveNOTValid' )
+    GraphSyrControlAveNOTValid.SetName( 'GraphSyrControlAveNOTValid' )
+    GraphSyrControlAveNOTValid.SetAuthor( 'JR' )
+    GraphSyrControlAveNOTValid.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAveNOTValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN.SetName( 'test_ISEVEN' )
+    test_ISEVEN.SetAuthor( '' )
+    test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
+    test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+    test_ISEVEN.Coords( 370 , 455 )
+    Itest_ISEVENanInteger = test_ISEVEN.GetInPort( 'anInteger' )
+    Itest_ISEVENGate = test_ISEVEN.GetInPort( 'Gate' )
+    Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
+    Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
+    
+    test_ISONE = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE.SetName( 'test_ISONE' )
+    test_ISONE.SetAuthor( '' )
+    test_ISONE.SetContainer( 'localhost/FactoryServer' )
+    test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+    test_ISONE.Coords( 370 , 127 )
+    Itest_ISONEanInteger = test_ISONE.GetInPort( 'anInteger' )
+    Itest_ISONEGate = test_ISONE.GetInPort( 'Gate' )
+    Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
+    Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
+    
+    m3p1 = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1.SetName( 'm3p1' )
+    m3p1.SetAuthor( '' )
+    m3p1.SetContainer( 'localhost/FactoryServer' )
+    m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+    m3p1.Coords( 789 , 0 )
+    Im3p1anOddInteger = m3p1.GetInPort( 'anOddInteger' )
+    Im3p1Gate = m3p1.GetInPort( 'Gate' )
+    Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
+    Om3p1Gate = m3p1.GetOutPort( 'Gate' )
+    
+    div2 = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2.SetName( 'div2' )
+    div2.SetAuthor( '' )
+    div2.SetContainer( 'localhost/FactoryServer' )
+    div2.SetComment( 'C_DIV2 from SyrComponent' )
+    div2.Coords( 789 , 255 )
+    Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
+    Idiv2Gate = div2.GetInPort( 'Gate' )
+    Odiv2anInteger = div2.GetOutPort( 'anInteger' )
+    Odiv2Gate = div2.GetOutPort( 'Gate' )
+    
+    incr = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr.SetName( 'incr' )
+    incr.SetAuthor( '' )
+    incr.SetContainer( 'localhost/FactoryServer' )
+    incr.SetComment( 'C_INCR from SyrComponent' )
+    incr.Coords( 790 , 136 )
+    IincraCount = incr.GetInPort( 'aCount' )
+    IincrGate = incr.GetInPort( 'Gate' )
+    OincraNewCount = incr.GetOutPort( 'aNewCount' )
+    OincrGate = incr.GetOutPort( 'Gate' )
+    
+    C_MIN = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MIN' )
+    C_MIN.SetName( 'C_MIN' )
+    C_MIN.SetAuthor( '' )
+    C_MIN.SetContainer( 'localhost/FactoryServer' )
+    C_MIN.SetComment( 'C_MIN from SyrComponent' )
+    C_MIN.Coords( 798 , 833 )
+    IC_MINaMinVal = C_MIN.GetInPort( 'aMinVal' )
+    IC_MINanInteger = C_MIN.GetInPort( 'anInteger' )
+    IC_MINGate = C_MIN.GetInPort( 'Gate' )
+    OC_MINaNewMinVal = C_MIN.GetOutPort( 'aNewMinVal' )
+    OC_MINGate = C_MIN.GetOutPort( 'Gate' )
+    
+    C_MAX = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MAX' )
+    C_MAX.SetName( 'C_MAX' )
+    C_MAX.SetAuthor( '' )
+    C_MAX.SetContainer( 'localhost/FactoryServer' )
+    C_MAX.SetComment( 'C_MAX from SyrComponent' )
+    C_MAX.Coords( 798 , 668 )
+    IC_MAXaMaxVal = C_MAX.GetInPort( 'aMaxVal' )
+    IC_MAXanInteger = C_MAX.GetInPort( 'anInteger' )
+    IC_MAXGate = C_MAX.GetInPort( 'Gate' )
+    OC_MAXaNewMaxVal = C_MAX.GetOutPort( 'aNewMaxVal' )
+    OC_MAXGate = C_MAX.GetOutPort( 'Gate' )
+    
+    C_AVERAGE = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_AVERAGE' )
+    C_AVERAGE.SetName( 'C_AVERAGE' )
+    C_AVERAGE.SetAuthor( '' )
+    C_AVERAGE.SetContainer( 'localhost/FactoryServer' )
+    C_AVERAGE.SetComment( 'C_AVERAGE from SyrComponent' )
+    C_AVERAGE.Coords( 784 , 476 )
+    IC_AVERAGEaListOfSyr = C_AVERAGE.GetInPort( 'aListOfSyr' )
+    IC_AVERAGEanInteger = C_AVERAGE.GetInPort( 'anInteger' )
+    IC_AVERAGEaCount = C_AVERAGE.GetInPort( 'aCount' )
+    IC_AVERAGEGate = C_AVERAGE.GetInPort( 'Gate' )
+    OC_AVERAGEaNewListOfSyr = C_AVERAGE.GetOutPort( 'aNewListOfSyr' )
+    OC_AVERAGEanAverage = C_AVERAGE.GetOutPort( 'anAverage' )
+    OC_AVERAGEGate = C_AVERAGE.GetOutPort( 'Gate' )
+    
+    C_LISTOFSYR = GraphSyrControlAveNOTValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetName( 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetAuthor( '' )
+    C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
+    C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
+    C_LISTOFSYR.Coords( 5 , 321 )
+    IC_LISTOFSYRGate = C_LISTOFSYR.GetInPort( 'Gate' )
+    OC_LISTOFSYRaListOfSyr = C_LISTOFSYR.GetOutPort( 'aListOfSyr' )
+    OC_LISTOFSYRGate = C_LISTOFSYR.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    Pylabel_begin = []
+    Pylabel_begin.append( 'def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :' )
+    Pylabel_begin.append( '    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB' )
+    label_begin = GraphSyrControlAveNOTValid.INode( 'label_begin' , Pylabel_begin )
+    label_begin.SetName( 'label_begin' )
+    label_begin.SetAuthor( '' )
+    label_begin.SetComment( 'Python function' )
+    label_begin.Coords( 183 , 220 )
+    Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
+    Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
+    Ilabel_beginMINB = label_begin.InPort( 'MINB' , 'long' )
+    Ilabel_beginMAXB = label_begin.InPort( 'MAXB' , 'long' )
+    Ilabel_beginAVERAGEB = label_begin.InPort( 'AVERAGEB' , 'double' )
+    Ilabel_beginSYRLISTB = label_begin.InPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ilabel_beginGate = label_begin.GetInPort( 'Gate' )
+    Olabel_beginNT = label_begin.OutPort( 'NT' , 'long' )
+    Olabel_beginKT = label_begin.OutPort( 'KT' , 'long' )
+    Olabel_beginMIN = label_begin.OutPort( 'MIN' , 'long' )
+    Olabel_beginMAX = label_begin.OutPort( 'MAX' , 'long' )
+    Olabel_beginAVERAGE = label_begin.OutPort( 'AVERAGE' , 'double' )
+    Olabel_beginSYRLIST = label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_beginGate = label_begin.GetOutPort( 'Gate' )
+    
+    # Creation of Switch Nodes
+    Pylabel_test = []
+    Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):' )
+    Pylabel_test.append( '    Finished = ValOne' )
+    Pylabel_test.append( '    if Finished == 0 :' )
+    Pylabel_test.append( '        Incr = 1' )
+    Pylabel_test.append( '        Even = ValEven' )
+    Pylabel_test.append( '        if Even == 0 :' )
+    Pylabel_test.append( '            Odd = 1' )
+    Pylabel_test.append( '        else :' )
+    Pylabel_test.append( '            Odd = 0' )
+    Pylabel_test.append( '    else :' )
+    Pylabel_test.append( '        Incr = 0' )
+    Pylabel_test.append( '        Even = 0' )
+    Pylabel_test.append( '        Odd = 0' )
+    Pylabel_test.append( '    Even = ValEven' )
+    Pylabel_test.append( '    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST' )
+    label_test,EndL_OneEven = GraphSyrControlAveNOTValid.SNode( 'L_OneEven' , Pylabel_test )
+    EndL_OneEven.SetName( 'EndL_OneEven' )
+    EndL_OneEven.SetAuthor( '' )
+    EndL_OneEven.SetComment( 'Compute Node' )
+    EndL_OneEven.Coords( 1064 , 339 )
+    PyEndL_OneEven = []
+    EndL_OneEven.SetPyFunction( '' , PyEndL_OneEven )
+    IEndL_OneEvenMINT = EndL_OneEven.InPort( 'MINT' , 'long' )
+    IEndL_OneEvenMAXT = EndL_OneEven.InPort( 'MAXT' , 'long' )
+    IEndL_OneEvenAVERAGET = EndL_OneEven.InPort( 'AVERAGET' , 'double' )
+    IEndL_OneEvenDefault = EndL_OneEven.GetInPort( 'Default' )
+    OEndL_OneEvenMIN = EndL_OneEven.OutPort( 'MIN' , 'long' )
+    OEndL_OneEvenMAX = EndL_OneEven.OutPort( 'MAX' , 'long' )
+    OEndL_OneEvenAVERAGE = EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
+    OEndL_OneEvenGate = EndL_OneEven.GetOutPort( 'Gate' )
+    label_test.SetName( 'label_test' )
+    label_test.SetAuthor( '' )
+    label_test.SetComment( 'Compute Node' )
+    label_test.Coords( 564 , 219 )
+    Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
+    Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
+    Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
+    Ilabel_testKT = label_test.InPort( 'KT' , 'long' )
+    Ilabel_testMIN = label_test.InPort( 'MIN' , 'long' )
+    Ilabel_testMAX = label_test.InPort( 'MAX' , 'long' )
+    Ilabel_testAVERAGE = label_test.InPort( 'AVERAGE' , 'double' )
+    Ilabel_testSYRLIST = label_test.InPort( 'SYRLIST' , 'ListOfSyr' )
+    Ilabel_testGate = label_test.GetInPort( 'Gate' )
+    Olabel_testFinished = label_test.OutPort( 'Finished' , 'long' )
+    Olabel_testIncr = label_test.OutPort( 'Incr' , 'long' )
+    Olabel_testEven = label_test.OutPort( 'Even' , 'long' )
+    Olabel_testOdd = label_test.OutPort( 'Odd' , 'long' )
+    Olabel_testN = label_test.OutPort( 'N' , 'long' )
+    Olabel_testK = label_test.OutPort( 'K' , 'long' )
+    Olabel_testMIN = label_test.OutPort( 'MIN' , 'long' )
+    Olabel_testMAX = label_test.OutPort( 'MAX' , 'long' )
+    Olabel_testAVERAGE = label_test.OutPort( 'AVERAGE' , 'double' )
+    Olabel_testSYRLIST = label_test.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_testDefault = label_test.GetOutPort( 'Default' )
+    
+    # Creation of GOTO Nodes
+    Pycontrol_m3p1 = []
+    Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_m3p1 = GraphSyrControlAveNOTValid.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1.SetName( 'control_m3p1' )
+    control_m3p1.SetAuthor( '' )
+    control_m3p1.SetComment( 'Compute Node' )
+    control_m3p1.Coords( 1058 , 8 )
+    Icontrol_m3p1N = control_m3p1.InPort( 'N' , 'long' )
+    Icontrol_m3p1K = control_m3p1.InPort( 'K' , 'long' )
+    Icontrol_m3p1MINT = control_m3p1.InPort( 'MINT' , 'long' )
+    Icontrol_m3p1MAXT = control_m3p1.InPort( 'MAXT' , 'long' )
+    Icontrol_m3p1AVERAGET = control_m3p1.InPort( 'AVERAGET' , 'double' )
+    Icontrol_m3p1SYRLISTT = control_m3p1.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_m3p1Gate = control_m3p1.GetInPort( 'Gate' )
+    Ocontrol_m3p1ValOne = control_m3p1.OutPort( 'ValOne' , 'long' )
+    Ocontrol_m3p1ValEven = control_m3p1.OutPort( 'ValEven' , 'long' )
+    Ocontrol_m3p1NT = control_m3p1.OutPort( 'NT' , 'long' )
+    Ocontrol_m3p1KT = control_m3p1.OutPort( 'KT' , 'long' )
+    Ocontrol_m3p1MIN = control_m3p1.OutPort( 'MIN' , 'long' )
+    Ocontrol_m3p1MAX = control_m3p1.OutPort( 'MAX' , 'long' )
+    Ocontrol_m3p1AVERAGE = control_m3p1.OutPort( 'AVERAGE' , 'double' )
+    Ocontrol_m3p1SYRLIST = control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
+    
+    Pycontrol_div2 = []
+    Pycontrol_div2.append( 'def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :' )
+    Pycontrol_div2.append( '    return N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_div2 = GraphSyrControlAveNOTValid.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2.SetName( 'control_div2' )
+    control_div2.SetAuthor( '' )
+    control_div2.SetComment( 'Compute Node' )
+    control_div2.Coords( 1048 , 555 )
+    Icontrol_div2N = control_div2.InPort( 'N' , 'long' )
+    Icontrol_div2K = control_div2.InPort( 'K' , 'long' )
+    Icontrol_div2MINT = control_div2.InPort( 'MINT' , 'long' )
+    Icontrol_div2MAXT = control_div2.InPort( 'MAXT' , 'long' )
+    Icontrol_div2AVERAGET = control_div2.InPort( 'AVERAGET' , 'double' )
+    Icontrol_div2SYRLISTT = control_div2.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_div2Gate = control_div2.GetInPort( 'Gate' )
+    Ocontrol_div2NB = control_div2.OutPort( 'NB' , 'long' )
+    Ocontrol_div2KB = control_div2.OutPort( 'KB' , 'long' )
+    Ocontrol_div2MINB = control_div2.OutPort( 'MINB' , 'long' )
+    Ocontrol_div2MAXB = control_div2.OutPort( 'MAXB' , 'long' )
+    Ocontrol_div2AVERAGEB = control_div2.OutPort( 'AVERAGEB' , 'double' )
+    Ocontrol_div2SYRLISTB = control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAveNOTValid.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAveNOTValid.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAveNOTValid.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAveNOTValid.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAveNOTValid.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAveNOTValid.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
+    
+    LincraNewCountC_AVERAGEaCount = GraphSyrControlAveNOTValid.Link( OincraNewCount , IC_AVERAGEaCount )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 751 , 588 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 751 , 460 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 968 , 205 )
+    
+    LC_MINaNewMinValcontrol_m3p1MINT = GraphSyrControlAveNOTValid.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAveNOTValid.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAveNOTValid.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAveNOTValid.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAveNOTValid.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAveNOTValid.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+    
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAveNOTValid.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
+    
+    LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAveNOTValid.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
+    
+    LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAveNOTValid.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAveNOTValid.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAveNOTValid.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAveNOTValid.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAveNOTValid.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_beginMINlabel_testMIN = GraphSyrControlAveNOTValid.Link( Olabel_beginMIN , Ilabel_testMIN )
+    
+    Llabel_beginMAXlabel_testMAX = GraphSyrControlAveNOTValid.Link( Olabel_beginMAX , Ilabel_testMAX )
+    
+    Llabel_beginAVERAGElabel_testAVERAGE = GraphSyrControlAveNOTValid.Link( Olabel_beginAVERAGE , Ilabel_testAVERAGE )
+    
+    Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAveNOTValid.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
+    
+    Llabel_testEvendiv2Gate = GraphSyrControlAveNOTValid.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
+    
+    Llabel_testOddm3p1Gate = GraphSyrControlAveNOTValid.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
+    
+    Llabel_testNm3p1anOddInteger = GraphSyrControlAveNOTValid.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
+    
+    Llabel_testNdiv2anEvenInteger = GraphSyrControlAveNOTValid.Link( Olabel_testN , Idiv2anEvenInteger )
+    
+    Llabel_testNC_MINanInteger = GraphSyrControlAveNOTValid.Link( Olabel_testN , IC_MINanInteger )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
+    
+    Llabel_testNC_MAXanInteger = GraphSyrControlAveNOTValid.Link( Olabel_testN , IC_MAXanInteger )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
+    
+    Llabel_testNC_AVERAGEanInteger = GraphSyrControlAveNOTValid.Link( Olabel_testN , IC_AVERAGEanInteger )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
+    
+    Llabel_testKincraCount = GraphSyrControlAveNOTValid.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
+    
+    Llabel_testMINC_MINaMinVal = GraphSyrControlAveNOTValid.Link( Olabel_testMIN , IC_MINaMinVal )
+    Llabel_testMINC_MINaMinVal.AddCoord( 1 , 771 , 902 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 2 , 777 , 371 )
+    Llabel_testMINC_MINaMinVal.AddCoord( 3 , 777 , 370 )
+    
+    Llabel_testMAXC_MAXaMaxVal = GraphSyrControlAveNOTValid.Link( Olabel_testMAX , IC_MAXaMaxVal )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 1 , 764 , 739 )
+    Llabel_testMAXC_MAXaMaxVal.AddCoord( 2 , 762 , 390 )
+    
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr = GraphSyrControlAveNOTValid.Link( Olabel_testSYRLIST , IC_AVERAGEaListOfSyr )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 1 , 769 , 546 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 2 , 769 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 3 , 768 , 431 )
+    Llabel_testSYRLISTC_AVERAGEaListOfSyr.AddCoord( 4 , 768 , 430 )
+    
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlAveNOTValid.Link( Olabel_testDefault , IEndL_OneEvenDefault )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAveNOTValid.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 453 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 554 , 1025 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1242 , 1026 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1234 , 204 )
+    
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAveNOTValid.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 419 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 176 , 997 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1217 , 996 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1223 , 711 )
+    
+    # Input datas
+    Ilabel_beginNB.Input( 31 )
+    Ilabel_beginKB.Input( 0 )
+    Ilabel_beginMINB.Input( 0 )
+    Ilabel_beginMAXB.Input( 0 )
+    Ilabel_beginAVERAGEB.Input( 0 )
+    
+    # Input Ports of the graph
+    #IEndL_OneEvenMINT = EndL_OneEven.GetInPort( 'MINT' )
+    #IEndL_OneEvenMAXT = EndL_OneEven.GetInPort( 'MAXT' )
+    #IEndL_OneEvenAVERAGET = EndL_OneEven.GetInPort( 'AVERAGET' )
+    
+    # Output Ports of the graph
+    #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
+    #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
+    #Olabel_testAVERAGE = label_test.GetOutPort( 'AVERAGE' )
+    #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
+    #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
+    #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
+    return GraphSyrControlAveNOTValid
+
+
+GraphSyrControlAveNOTValid = DefGraphSyrControlAveNOTValid()
diff --git a/examples/GraphSyrControlAveNOTValid.xml b/examples/GraphSyrControlAveNOTValid.xml
new file mode 100644 (file)
index 0000000..48cb311
--- /dev/null
@@ -0,0 +1,1107 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAveNOTValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSyrControlAveNOTValid</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndL_OneEven__MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>EndL_OneEven__MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>EndL_OneEven__AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>label_test__AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MIN</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MAX</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>EndL_OneEven__AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>2/10/2003 - 11:17:14</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Syracuse algorithm</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISEVEN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISEVEN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISEVEN from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>455</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISONE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISONE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISONE from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>m3p1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_M3P1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anOddInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_M3P1 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>0</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>div2</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_DIV2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anEvenInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_DIV2 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>255</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>incr</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_INCR</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_INCR from SyrComponent</comment>
+    <x-position>790</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MIN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MIN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMinVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMinVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MIN from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>833</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MAX</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MAX</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMaxVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMaxVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MAX from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>668</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_AVERAGE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_AVERAGE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>aListOfSyr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aNewListOfSyr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>anAverage</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_AVERAGE from SyrComponent</comment>
+    <x-position>784</x-position>
+    <y-position>476</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_LISTOFSYR</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_LISTOFSYR</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aListOfSyr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_LISTOFSYR from SyrComponent</comment>
+    <x-position>5</x-position>
+    <y-position>321</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_begin</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_begin</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+      <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>183</x-position>
+    <y-position>220</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_test</node-name>
+    <kind>6</kind>
+    <coupled-node>EndL_OneEven</coupled-node>
+    <service>
+<service-name>label_test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</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>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGE</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLIST</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>N</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>L_OneEven</FuncName>
+      <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):]]></PyFunc>
+      <PyFunc><![CDATA[    Finished = ValOne]]></PyFunc>
+      <PyFunc><![CDATA[    if Finished == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 1]]></PyFunc>
+      <PyFunc><![CDATA[        Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[        if Even == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1]]></PyFunc>
+      <PyFunc><![CDATA[        else :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    else :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>564</x-position>
+    <y-position>219</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndL_OneEven</node-name>
+    <kind>7</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>EndL_OneEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1064</x-position>
+    <y-position>339</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_m3p1</node-name>
+    <kind>8</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>control_m3p1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>C_NotOneIsEven</FuncName>
+      <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1058</x-position>
+    <y-position>8</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_div2</node-name>
+    <kind>8</kind>
+    <coupled-node>label_begin</coupled-node>
+    <service>
+<service-name>control_div2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MINB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MAXB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGEB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLISTB</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+      <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 12:6:44</creation-date>
+    <lastmodification-date>28/6/2005 - 12:6:44</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1048</x-position>
+    <y-position>555</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+    <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>544</x>
+      <y>256</y>     </coord>
+     <coord>
+<x>544</x>
+      <y>524</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test_ISONE</fromnode-name>
+    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>546</x>
+      <y>237</y>     </coord>
+     <coord>
+<x>546</x>
+      <y>198</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>m3p1</fromnode-name>
+    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>975</x>
+      <y>38</y>     </coord>
+     <coord>
+<x>976</x>
+      <y>81</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>div2</fromnode-name>
+    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1012</x>
+      <y>585</y>     </coord>
+     <coord>
+<x>1011</x>
+      <y>346</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>966</x>
+      <y>606</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>207</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>965</x>
+      <y>59</y>     </coord>
+     <coord>
+<x>966</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>588</y>     </coord>
+     <coord>
+<x>751</x>
+      <y>460</y>     </coord>
+     <coord>
+<x>965</x>
+      <y>462</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>205</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>626</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>976</x>
+      <y>98</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>972</x>
+      <y>648</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1037</x>
+      <y>137</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>556</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1038</x>
+      <y>686</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>555</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1026</x>
+      <y>118</y>     </coord>
+     <coord>
+<x>1027</x>
+      <y>567</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1027</x>
+      <y>668</y>     </coord>
+     <coord>
+<x>1026</x>
+      <y>568</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_LISTOFSYR</fromnode-name>
+    <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>SYRLISTB</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISONE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>361</x>
+      <y>197</y>     </coord>
+     <coord>
+<x>360</x>
+      <y>290</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISEVEN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>359</x>
+      <y>525</y>     </coord>
+     <coord>
+<x>361</x>
+      <y>291</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MIN</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MAX</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>AVERAGE</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>SYRLIST</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>777</x>
+      <y>351</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>286</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>757</x>
+      <y>95</y>     </coord>
+     <coord>
+<x>757</x>
+      <y>310</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>72</y>     </coord>
+     <coord>
+<x>741</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>744</x>
+      <y>923</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>742</x>
+      <y>759</y>     </coord>
+     <coord>
+<x>743</x>
+      <y>332</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>568</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>330</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>incr</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>766</x>
+      <y>207</y>     </coord>
+     <coord>
+<x>766</x>
+      <y>343</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>aMinVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>771</x>
+      <y>902</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>371</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>370</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>aMaxVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>764</x>
+      <y>739</y>     </coord>
+     <coord>
+<x>762</x>
+      <y>390</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>769</x>
+      <y>546</y>     </coord>
+     <coord>
+<x>769</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>431</y>     </coord>
+     <coord>
+<x>768</x>
+      <y>430</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>control_m3p1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>553</x>
+      <y>453</y>     </coord>
+     <coord>
+<x>554</x>
+      <y>1025</y>     </coord>
+     <coord>
+<x>1242</x>
+      <y>1026</y>     </coord>
+     <coord>
+<x>1234</x>
+      <y>204</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_div2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>176</x>
+      <y>419</y>     </coord>
+     <coord>
+<x>176</x>
+      <y>997</y>     </coord>
+     <coord>
+<x>1217</x>
+      <y>996</y>     </coord>
+     <coord>
+<x>1223</x>
+      <y>711</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSyrControlAveNOTValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>NB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>31</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveNOTValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>KB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveNOTValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__MINB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MINB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveNOTValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__MAXB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MAXB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveNOTValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__AVERAGEB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphSyrControlAveValid.py b/examples/GraphSyrControlAveValid.py
new file mode 100644 (file)
index 0000000..d388eb0
--- /dev/null
@@ -0,0 +1,412 @@
+
+# Generated python file of Graph GraphSyrControlAveValid
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAveValid
+def DefGraphSyrControlAveValid() :
+    GraphSyrControlAveValid = Graph( 'GraphSyrControlAveValid' )
+    GraphSyrControlAveValid.SetName( 'GraphSyrControlAveValid' )
+    GraphSyrControlAveValid.SetAuthor( 'JR' )
+    GraphSyrControlAveValid.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAveValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+    test_ISEVEN.SetName( 'test_ISEVEN' )
+    test_ISEVEN.SetAuthor( '' )
+    test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
+    test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+    test_ISEVEN.Coords( 370 , 455 )
+    Itest_ISEVENanInteger = test_ISEVEN.GetInPort( 'anInteger' )
+    Itest_ISEVENGate = test_ISEVEN.GetInPort( 'Gate' )
+    Otest_ISEVENBoolEven = test_ISEVEN.GetOutPort( 'BoolEven' )
+    Otest_ISEVENGate = test_ISEVEN.GetOutPort( 'Gate' )
+    
+    test_ISONE = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+    test_ISONE.SetName( 'test_ISONE' )
+    test_ISONE.SetAuthor( '' )
+    test_ISONE.SetContainer( 'localhost/FactoryServer' )
+    test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+    test_ISONE.Coords( 370 , 127 )
+    Itest_ISONEanInteger = test_ISONE.GetInPort( 'anInteger' )
+    Itest_ISONEGate = test_ISONE.GetInPort( 'Gate' )
+    Otest_ISONEBoolOne = test_ISONE.GetOutPort( 'BoolOne' )
+    Otest_ISONEGate = test_ISONE.GetOutPort( 'Gate' )
+    
+    m3p1 = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+    m3p1.SetName( 'm3p1' )
+    m3p1.SetAuthor( '' )
+    m3p1.SetContainer( 'localhost/FactoryServer' )
+    m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+    m3p1.Coords( 789 , 0 )
+    Im3p1anOddInteger = m3p1.GetInPort( 'anOddInteger' )
+    Im3p1Gate = m3p1.GetInPort( 'Gate' )
+    Om3p1anEvenInteger = m3p1.GetOutPort( 'anEvenInteger' )
+    Om3p1Gate = m3p1.GetOutPort( 'Gate' )
+    
+    div2 = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+    div2.SetName( 'div2' )
+    div2.SetAuthor( '' )
+    div2.SetContainer( 'localhost/FactoryServer' )
+    div2.SetComment( 'C_DIV2 from SyrComponent' )
+    div2.Coords( 789 , 255 )
+    Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
+    Idiv2Gate = div2.GetInPort( 'Gate' )
+    Odiv2anInteger = div2.GetOutPort( 'anInteger' )
+    Odiv2Gate = div2.GetOutPort( 'Gate' )
+    
+    incr = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+    incr.SetName( 'incr' )
+    incr.SetAuthor( '' )
+    incr.SetContainer( 'localhost/FactoryServer' )
+    incr.SetComment( 'C_INCR from SyrComponent' )
+    incr.Coords( 790 , 136 )
+    IincraCount = incr.GetInPort( 'aCount' )
+    IincrGate = incr.GetInPort( 'Gate' )
+    OincraNewCount = incr.GetOutPort( 'aNewCount' )
+    OincrGate = incr.GetOutPort( 'Gate' )
+    
+    C_MIN = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MIN' )
+    C_MIN.SetName( 'C_MIN' )
+    C_MIN.SetAuthor( '' )
+    C_MIN.SetContainer( 'localhost/FactoryServer' )
+    C_MIN.SetComment( 'C_MIN from SyrComponent' )
+    C_MIN.Coords( 798 , 833 )
+    IC_MINaMinVal = C_MIN.GetInPort( 'aMinVal' )
+    IC_MINanInteger = C_MIN.GetInPort( 'anInteger' )
+    IC_MINGate = C_MIN.GetInPort( 'Gate' )
+    OC_MINaNewMinVal = C_MIN.GetOutPort( 'aNewMinVal' )
+    OC_MINGate = C_MIN.GetOutPort( 'Gate' )
+    
+    C_MAX = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_MAX' )
+    C_MAX.SetName( 'C_MAX' )
+    C_MAX.SetAuthor( '' )
+    C_MAX.SetContainer( 'localhost/FactoryServer' )
+    C_MAX.SetComment( 'C_MAX from SyrComponent' )
+    C_MAX.Coords( 798 , 668 )
+    IC_MAXaMaxVal = C_MAX.GetInPort( 'aMaxVal' )
+    IC_MAXanInteger = C_MAX.GetInPort( 'anInteger' )
+    IC_MAXGate = C_MAX.GetInPort( 'Gate' )
+    OC_MAXaNewMaxVal = C_MAX.GetOutPort( 'aNewMaxVal' )
+    OC_MAXGate = C_MAX.GetOutPort( 'Gate' )
+    
+    C_AVERAGE = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_AVERAGE' )
+    C_AVERAGE.SetName( 'C_AVERAGE' )
+    C_AVERAGE.SetAuthor( '' )
+    C_AVERAGE.SetContainer( 'localhost/FactoryServer' )
+    C_AVERAGE.SetComment( 'C_AVERAGE from SyrComponent' )
+    C_AVERAGE.Coords( 784 , 476 )
+    IC_AVERAGEaListOfSyr = C_AVERAGE.GetInPort( 'aListOfSyr' )
+    IC_AVERAGEanInteger = C_AVERAGE.GetInPort( 'anInteger' )
+    IC_AVERAGEaCount = C_AVERAGE.GetInPort( 'aCount' )
+    IC_AVERAGEGate = C_AVERAGE.GetInPort( 'Gate' )
+    OC_AVERAGEaNewListOfSyr = C_AVERAGE.GetOutPort( 'aNewListOfSyr' )
+    OC_AVERAGEanAverage = C_AVERAGE.GetOutPort( 'anAverage' )
+    OC_AVERAGEGate = C_AVERAGE.GetOutPort( 'Gate' )
+    
+    C_LISTOFSYR = GraphSyrControlAveValid.FNode( 'SyrComponent' , 'SyrComponent' , 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetName( 'C_LISTOFSYR' )
+    C_LISTOFSYR.SetAuthor( '' )
+    C_LISTOFSYR.SetContainer( 'localhost/FactoryServer' )
+    C_LISTOFSYR.SetComment( 'C_LISTOFSYR from SyrComponent' )
+    C_LISTOFSYR.Coords( 5 , 321 )
+    IC_LISTOFSYRGate = C_LISTOFSYR.GetInPort( 'Gate' )
+    OC_LISTOFSYRaListOfSyr = C_LISTOFSYR.GetOutPort( 'aListOfSyr' )
+    OC_LISTOFSYRGate = C_LISTOFSYR.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    Pylabel_begin = []
+    Pylabel_begin.append( 'def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :' )
+    Pylabel_begin.append( '    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB' )
+    label_begin = GraphSyrControlAveValid.INode( 'label_begin' , Pylabel_begin )
+    label_begin.SetName( 'label_begin' )
+    label_begin.SetAuthor( '' )
+    label_begin.SetComment( 'Python function' )
+    label_begin.Coords( 183 , 220 )
+    Ilabel_beginNB = label_begin.InPort( 'NB' , 'long' )
+    Ilabel_beginKB = label_begin.InPort( 'KB' , 'long' )
+    Ilabel_beginMINB = label_begin.InPort( 'MINB' , 'long' )
+    Ilabel_beginMAXB = label_begin.InPort( 'MAXB' , 'long' )
+    Ilabel_beginAVERAGEB = label_begin.InPort( 'AVERAGEB' , 'double' )
+    Ilabel_beginSYRLISTB = label_begin.InPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ilabel_beginGate = label_begin.GetInPort( 'Gate' )
+    Olabel_beginNT = label_begin.OutPort( 'NT' , 'long' )
+    Olabel_beginKT = label_begin.OutPort( 'KT' , 'long' )
+    Olabel_beginMIN = label_begin.OutPort( 'MIN' , 'long' )
+    Olabel_beginMAX = label_begin.OutPort( 'MAX' , 'long' )
+    Olabel_beginAVERAGE = label_begin.OutPort( 'AVERAGE' , 'double' )
+    Olabel_beginSYRLIST = label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Olabel_beginGate = label_begin.GetOutPort( 'Gate' )
+    
+    # Creation of Switch Nodes
+    Pylabel_test = []
+    Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):' )
+    Pylabel_test.append( '    Finished = ValOne' )
+    Pylabel_test.append( '    if Finished == 0 :' )
+    Pylabel_test.append( '        Incr = 1' )
+    Pylabel_test.append( '        Even = ValEven' )
+    Pylabel_test.append( '        if Even == 0 :' )
+    Pylabel_test.append( '            Odd = 1' )
+    Pylabel_test.append( '        else :' )
+    Pylabel_test.append( '            Odd = 0' )
+    Pylabel_test.append( '    else :' )
+    Pylabel_test.append( '        Incr = 0' )
+    Pylabel_test.append( '        Even = 0' )
+    Pylabel_test.append( '        Odd = 0' )
+    Pylabel_test.append( '    Even = ValEven' )
+    Pylabel_test.append( '    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST' )
+    label_test,EndL_OneEven = GraphSyrControlAveValid.SNode( 'L_OneEven' , Pylabel_test )
+    EndL_OneEven.SetName( 'EndL_OneEven' )
+    EndL_OneEven.SetAuthor( '' )
+    EndL_OneEven.SetComment( 'Compute Node' )
+    EndL_OneEven.Coords( 1064 , 339 )
+    PyEndL_OneEven = []
+    EndL_OneEven.SetPyFunction( '' , PyEndL_OneEven )
+    IEndL_OneEvenMINT = EndL_OneEven.InPort( 'MINT' , 'long' )
+    IEndL_OneEvenMAXT = EndL_OneEven.InPort( 'MAXT' , 'long' )
+    IEndL_OneEvenAVERAGET = EndL_OneEven.InPort( 'AVERAGET' , 'double' )
+    IEndL_OneEvenDefault = EndL_OneEven.GetInPort( 'Default' )
+    OEndL_OneEvenMIN = EndL_OneEven.OutPort( 'MIN' , 'long' )
+    OEndL_OneEvenMAX = EndL_OneEven.OutPort( 'MAX' , 'long' )
+    OEndL_OneEvenAVERAGE = EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
+    OEndL_OneEvenGate = EndL_OneEven.GetOutPort( 'Gate' )
+    label_test.SetName( 'label_test' )
+    label_test.SetAuthor( '' )
+    label_test.SetComment( 'Compute Node' )
+    label_test.Coords( 564 , 219 )
+    Ilabel_testValOne = label_test.InPort( 'ValOne' , 'long' )
+    Ilabel_testValEven = label_test.InPort( 'ValEven' , 'long' )
+    Ilabel_testNT = label_test.InPort( 'NT' , 'long' )
+    Ilabel_testKT = label_test.InPort( 'KT' , 'long' )
+    Ilabel_testMIN = label_test.InPort( 'MIN' , 'long' )
+    Ilabel_testMAX = label_test.InPort( 'MAX' , 'long' )
+    Ilabel_testAVERAGE = label_test.InPort( 'AVERAGE' , 'double' )
+    Ilabel_testSYRLIST = label_test.InPort( 'SYRLIST' , 'ListOfSyr' )
+    Ilabel_testGate = label_test.GetInPort( 'Gate' )
+    Olabel_testFinished = label_test.OutPort( 'Finished' , 'long' )
+    Olabel_testIncr = label_test.OutPort( 'Incr' , 'long' )
+    Olabel_testEven = label_test.OutPort( 'Even' , 'long' )
+    Olabel_testOdd = label_test.OutPort( 'Odd' , 'long' )
+    Olabel_testN = label_test.OutPort( 'N' , 'long' )
+    Olabel_testK = label_test.OutPort( 'K' , 'long' )
+    Olabel_testMINT = label_test.OutPort( 'MINT' , 'long' )
+    Olabel_testMAXT = label_test.OutPort( 'MAXT' , 'long' )
+    Olabel_testAVERAGET = label_test.OutPort( 'AVERAGET' , 'double' )
+    Olabel_testSYRLISTT = label_test.OutPort( 'SYRLISTT' , 'ListOfSyr' )
+    Olabel_testDefault = label_test.GetOutPort( 'Default' )
+    
+    # Creation of GOTO Nodes
+    Pycontrol_m3p1 = []
+    Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):' )
+    Pycontrol_m3p1.append( '    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_m3p1 = GraphSyrControlAveValid.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+    control_m3p1.SetName( 'control_m3p1' )
+    control_m3p1.SetAuthor( '' )
+    control_m3p1.SetComment( 'Compute Node' )
+    control_m3p1.Coords( 1058 , 8 )
+    Icontrol_m3p1N = control_m3p1.InPort( 'N' , 'long' )
+    Icontrol_m3p1K = control_m3p1.InPort( 'K' , 'long' )
+    Icontrol_m3p1MINT = control_m3p1.InPort( 'MINT' , 'long' )
+    Icontrol_m3p1MAXT = control_m3p1.InPort( 'MAXT' , 'long' )
+    Icontrol_m3p1AVERAGET = control_m3p1.InPort( 'AVERAGET' , 'double' )
+    Icontrol_m3p1SYRLISTT = control_m3p1.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_m3p1Gate = control_m3p1.GetInPort( 'Gate' )
+    Ocontrol_m3p1ValOne = control_m3p1.OutPort( 'ValOne' , 'long' )
+    Ocontrol_m3p1ValEven = control_m3p1.OutPort( 'ValEven' , 'long' )
+    Ocontrol_m3p1NT = control_m3p1.OutPort( 'NT' , 'long' )
+    Ocontrol_m3p1KT = control_m3p1.OutPort( 'KT' , 'long' )
+    Ocontrol_m3p1MIN = control_m3p1.OutPort( 'MIN' , 'long' )
+    Ocontrol_m3p1MAX = control_m3p1.OutPort( 'MAX' , 'long' )
+    Ocontrol_m3p1AVERAGE = control_m3p1.OutPort( 'AVERAGE' , 'double' )
+    Ocontrol_m3p1SYRLIST = control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
+    Ocontrol_m3p1Gate = control_m3p1.GetOutPort( 'Gate' )
+    
+    Pycontrol_div2 = []
+    Pycontrol_div2.append( 'def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :' )
+    Pycontrol_div2.append( '    return N,K,MINT,MAXT,AVERAGET,SYRLISTT' )
+    control_div2 = GraphSyrControlAveValid.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+    control_div2.SetName( 'control_div2' )
+    control_div2.SetAuthor( '' )
+    control_div2.SetComment( 'Compute Node' )
+    control_div2.Coords( 1048 , 555 )
+    Icontrol_div2N = control_div2.InPort( 'N' , 'long' )
+    Icontrol_div2K = control_div2.InPort( 'K' , 'long' )
+    Icontrol_div2MINT = control_div2.InPort( 'MINT' , 'long' )
+    Icontrol_div2MAXT = control_div2.InPort( 'MAXT' , 'long' )
+    Icontrol_div2AVERAGET = control_div2.InPort( 'AVERAGET' , 'double' )
+    Icontrol_div2SYRLISTT = control_div2.InPort( 'SYRLISTT' , 'ListOfSyr' )
+    Icontrol_div2Gate = control_div2.GetInPort( 'Gate' )
+    Ocontrol_div2NB = control_div2.OutPort( 'NB' , 'long' )
+    Ocontrol_div2KB = control_div2.OutPort( 'KB' , 'long' )
+    Ocontrol_div2MINB = control_div2.OutPort( 'MINB' , 'long' )
+    Ocontrol_div2MAXB = control_div2.OutPort( 'MAXB' , 'long' )
+    Ocontrol_div2AVERAGEB = control_div2.OutPort( 'AVERAGEB' , 'double' )
+    Ocontrol_div2SYRLISTB = control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
+    Ocontrol_div2Gate = control_div2.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    Ltest_ISEVENBoolEvenlabel_testValEven = GraphSyrControlAveValid.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAveValid.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAveValid.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAveValid.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAveValid.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAveValid.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
+    
+    LincraNewCountC_AVERAGEaCount = GraphSyrControlAveValid.Link( OincraNewCount , IC_AVERAGEaCount )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 1 , 751 , 588 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 2 , 751 , 460 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
+    LincraNewCountC_AVERAGEaCount.AddCoord( 4 , 968 , 205 )
+    
+    LC_MINaNewMinValcontrol_m3p1MINT = GraphSyrControlAveValid.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAveValid.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAveValid.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAveValid.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAveValid.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAveValid.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+    
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAveValid.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
+    
+    LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAveValid.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
+    
+    LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAveValid.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAveValid.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAveValid.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAveValid.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAveValid.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_beginMINlabel_testMIN = GraphSyrControlAveValid.Link( Olabel_beginMIN , Ilabel_testMIN )
+    
+    Llabel_beginMAXlabel_testMAX = GraphSyrControlAveValid.Link( Olabel_beginMAX , Ilabel_testMAX )
+    
+    Llabel_beginAVERAGElabel_testAVERAGE = GraphSyrControlAveValid.Link( Olabel_beginAVERAGE , Ilabel_testAVERAGE )
+    
+    Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAveValid.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
+    
+    Llabel_testEvendiv2Gate = GraphSyrControlAveValid.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
+    
+    Llabel_testOddm3p1Gate = GraphSyrControlAveValid.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
+    
+    Llabel_testNm3p1anOddInteger = GraphSyrControlAveValid.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
+    
+    Llabel_testNdiv2anEvenInteger = GraphSyrControlAveValid.Link( Olabel_testN , Idiv2anEvenInteger )
+    
+    Llabel_testNC_MINanInteger = GraphSyrControlAveValid.Link( Olabel_testN , IC_MINanInteger )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
+    
+    Llabel_testNC_MAXanInteger = GraphSyrControlAveValid.Link( Olabel_testN , IC_MAXanInteger )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
+    
+    Llabel_testNC_AVERAGEanInteger = GraphSyrControlAveValid.Link( Olabel_testN , IC_AVERAGEanInteger )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
+    
+    Llabel_testKincraCount = GraphSyrControlAveValid.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
+    
+    Llabel_testMINTC_MINaMinVal = GraphSyrControlAveValid.Link( Olabel_testMINT , IC_MINaMinVal )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 1 , 760 , 904 )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 2 , 756 , 372 )
+    
+    Llabel_testMINTEndL_OneEvenMINT = GraphSyrControlAveValid.Link( Olabel_testMINT , IEndL_OneEvenMINT )
+    
+    Llabel_testMAXTC_MAXaMaxVal = GraphSyrControlAveValid.Link( Olabel_testMAXT , IC_MAXaMaxVal )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 1 , 765 , 742 )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 2 , 766 , 384 )
+    
+    Llabel_testMAXTEndL_OneEvenMAXT = GraphSyrControlAveValid.Link( Olabel_testMAXT , IEndL_OneEvenMAXT )
+    
+    Llabel_testAVERAGETEndL_OneEvenAVERAGET = GraphSyrControlAveValid.Link( Olabel_testAVERAGET , IEndL_OneEvenAVERAGET )
+    
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr = GraphSyrControlAveValid.Link( Olabel_testSYRLISTT , IC_AVERAGEaListOfSyr )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 1 , 773 , 546 )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 2 , 772 , 424 )
+    
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlAveValid.Link( Olabel_testDefault , IEndL_OneEvenDefault )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAveValid.Link( Ocontrol_m3p1Gate , Ilabel_testGate )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 1 , 553 , 453 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 2 , 554 , 1025 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 3 , 1242 , 1026 )
+    Lcontrol_m3p1Gatelabel_testGate.AddCoord( 4 , 1234 , 204 )
+    
+    Lcontrol_div2Gatelabel_beginGate = GraphSyrControlAveValid.Link( Ocontrol_div2Gate , Ilabel_beginGate )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 1 , 176 , 419 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 2 , 176 , 997 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 3 , 1217 , 996 )
+    Lcontrol_div2Gatelabel_beginGate.AddCoord( 4 , 1223 , 711 )
+    
+    # Input datas
+    Ilabel_beginNB.Input( 31 )
+    Ilabel_beginKB.Input( 0 )
+    Ilabel_beginMINB.Input( 0 )
+    Ilabel_beginMAXB.Input( 0 )
+    Ilabel_beginAVERAGEB.Input( 0 )
+    
+    # Output Ports of the graph
+    #Olabel_testFinished = label_test.GetOutPort( 'Finished' )
+    #Olabel_testIncr = label_test.GetOutPort( 'Incr' )
+    #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
+    #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
+    #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
+    return GraphSyrControlAveValid
+
+
+GraphSyrControlAveValid = DefGraphSyrControlAveValid()
diff --git a/examples/GraphSyrControlAveValid.xml b/examples/GraphSyrControlAveValid.xml
new file mode 100644 (file)
index 0000000..80536df
--- /dev/null
@@ -0,0 +1,1104 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAveValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphSyrControlAveValid</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>label_begin__MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>label_begin__AVERAGEB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>label_test__Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MIN</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndL_OneEven__MAX</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>EndL_OneEven__AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>2/10/2003 - 11:17:14</creation-date>
+    <lastmodification-date>28/6/2005 - 14:10:50</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>JR</author>
+    <container>?</container>
+    <comment>Syracuse algorithm</comment>
+    <x-position>0</x-position>
+    <y-position>0</y-position>   </node>  </info-list>
+  <node-list>
+<node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISEVEN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISEVEN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolEven</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISEVEN from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>455</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>test_ISONE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_ISONE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>BoolOne</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_ISONE from SyrComponent</comment>
+    <x-position>370</x-position>
+    <y-position>127</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>m3p1</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_M3P1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anOddInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anEvenInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_M3P1 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>0</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>div2</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_DIV2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anEvenInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>anInteger</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_DIV2 from SyrComponent</comment>
+    <x-position>789</x-position>
+    <y-position>255</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>incr</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_INCR</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewCount</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_INCR from SyrComponent</comment>
+    <x-position>790</x-position>
+    <y-position>136</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MIN</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MIN</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMinVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMinVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MIN from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>833</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_MAX</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_MAX</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aMaxVal</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>aNewMaxVal</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_MAX from SyrComponent</comment>
+    <x-position>798</x-position>
+    <y-position>668</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_AVERAGE</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_AVERAGE</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>aListOfSyr</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>anInteger</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>aCount</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aNewListOfSyr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>anAverage</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_AVERAGE from SyrComponent</comment>
+    <x-position>784</x-position>
+    <y-position>476</y-position>   </node>
+   <node>
+<component-name>SyrComponent</component-name>
+    <interface-name>SyrComponent</interface-name>
+    <node-name>C_LISTOFSYR</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>C_LISTOFSYR</service-name>
+     <inParameter-list/>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>aListOfSyr</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>localhost/FactoryServer</container>
+    <comment>C_LISTOFSYR from SyrComponent</comment>
+    <x-position>5</x-position>
+    <y-position>321</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_begin</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>label_begin</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGEB</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTB</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+      <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>183</x-position>
+    <y-position>220</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>label_test</node-name>
+    <kind>6</kind>
+    <coupled-node>EndL_OneEven</coupled-node>
+    <service>
+<service-name>label_test</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValOne</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>ValEven</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>NT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>KT</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>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGE</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLIST</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Finished</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Incr</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>N</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>K</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MINT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MAXT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGET</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLISTT</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>L_OneEven</FuncName>
+      <PyFunc><![CDATA[def L_OneEven( ValOne , ValEven , NT , KT , MIN , MAX , AVERAGE , SYRLIST ):]]></PyFunc>
+      <PyFunc><![CDATA[    Finished = ValOne]]></PyFunc>
+      <PyFunc><![CDATA[    if Finished == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 1]]></PyFunc>
+      <PyFunc><![CDATA[        Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[        if Even == 0 :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 1]]></PyFunc>
+      <PyFunc><![CDATA[        else :]]></PyFunc>
+      <PyFunc><![CDATA[            Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    else :]]></PyFunc>
+      <PyFunc><![CDATA[        Incr = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Even = 0]]></PyFunc>
+      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
+      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
+      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>564</x-position>
+    <y-position>219</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndL_OneEven</node-name>
+    <kind>7</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>EndL_OneEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1064</x-position>
+    <y-position>339</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_m3p1</node-name>
+    <kind>8</kind>
+    <coupled-node>label_test</coupled-node>
+    <service>
+<service-name>control_m3p1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValOne</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>ValEven</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NT</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KT</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>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGE</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLIST</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>C_NotOneIsEven</FuncName>
+      <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
+      <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1058</x-position>
+    <y-position>8</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>control_div2</node-name>
+    <kind>8</kind>
+    <coupled-node>label_begin</coupled-node>
+    <service>
+<service-name>control_div2</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>N</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>K</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MINT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>MAXT</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>AVERAGET</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>ListOfSyr</inParameter-type>
+       <inParameter-name>SYRLISTT</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>NB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>KB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MINB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>MAXB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>double</outParameter-type>
+       <outParameter-name>AVERAGEB</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>ListOfSyr</outParameter-type>
+       <outParameter-name>SYRLISTB</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+      <PyFunc><![CDATA[def control_div2( N , K , MINT , MAXT , AVERAGET , SYRLISTT ) :]]></PyFunc>
+      <PyFunc><![CDATA[    return N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>28/6/2005 - 14:8:24</creation-date>
+    <lastmodification-date>28/6/2005 - 14:8:24</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1048</x-position>
+    <y-position>555</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+    <fromserviceparameter-name>BoolEven</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValEven</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>544</x>
+      <y>256</y>     </coord>
+     <coord>
+<x>544</x>
+      <y>524</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>test_ISONE</fromnode-name>
+    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>ValOne</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>546</x>
+      <y>237</y>     </coord>
+     <coord>
+<x>546</x>
+      <y>198</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>m3p1</fromnode-name>
+    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>975</x>
+      <y>38</y>     </coord>
+     <coord>
+<x>976</x>
+      <y>81</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>div2</fromnode-name>
+    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>N</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1012</x>
+      <y>585</y>     </coord>
+     <coord>
+<x>1011</x>
+      <y>346</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>966</x>
+      <y>606</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>207</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>K</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>965</x>
+      <y>59</y>     </coord>
+     <coord>
+<x>966</x>
+      <y>208</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>incr</fromnode-name>
+    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>751</x>
+      <y>588</y>     </coord>
+     <coord>
+<x>751</x>
+      <y>460</y>     </coord>
+     <coord>
+<x>965</x>
+      <y>462</y>     </coord>
+     <coord>
+<x>968</x>
+      <y>205</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>78</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MIN</fromnode-name>
+    <fromserviceparameter-name>aNewMinVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>991</x>
+      <y>626</y>     </coord>
+     <coord>
+<x>991</x>
+      <y>905</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>976</x>
+      <y>98</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_MAX</fromnode-name>
+    <fromserviceparameter-name>aNewMaxVal</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>972</x>
+      <y>648</y>     </coord>
+     <coord>
+<x>974</x>
+      <y>738</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1037</x>
+      <y>137</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>556</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>aNewListOfSyr</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>SYRLISTT</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1038</x>
+      <y>686</y>     </coord>
+     <coord>
+<x>1038</x>
+      <y>555</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_m3p1</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1026</x>
+      <y>118</y>     </coord>
+     <coord>
+<x>1027</x>
+      <y>567</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_AVERAGE</fromnode-name>
+    <fromserviceparameter-name>anAverage</fromserviceparameter-name>
+    <tonode-name>control_div2</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>1027</x>
+      <y>668</y>     </coord>
+     <coord>
+<x>1026</x>
+      <y>568</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>C_LISTOFSYR</fromnode-name>
+    <fromserviceparameter-name>aListOfSyr</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>SYRLISTB</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISONE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>361</x>
+      <y>197</y>     </coord>
+     <coord>
+<x>360</x>
+      <y>290</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>NT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>NT</fromserviceparameter-name>
+    <tonode-name>test_ISEVEN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>359</x>
+      <y>525</y>     </coord>
+     <coord>
+<x>361</x>
+      <y>291</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>KT</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>KT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MIN</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MIN</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>MAX</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>MAX</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>AVERAGE</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>AVERAGE</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_begin</fromnode-name>
+    <fromserviceparameter-name>SYRLIST</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>SYRLIST</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>777</x>
+      <y>351</y>     </coord>
+     <coord>
+<x>777</x>
+      <y>286</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>757</x>
+      <y>95</y>     </coord>
+     <coord>
+<x>757</x>
+      <y>310</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>m3p1</tonode-name>
+    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>72</y>     </coord>
+     <coord>
+<x>741</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>div2</tonode-name>
+    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>744</x>
+      <y>923</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>331</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>742</x>
+      <y>759</y>     </coord>
+     <coord>
+<x>743</x>
+      <y>332</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>N</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>anInteger</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>741</x>
+      <y>568</y>     </coord>
+     <coord>
+<x>742</x>
+      <y>330</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>K</fromserviceparameter-name>
+    <tonode-name>incr</tonode-name>
+    <toserviceparameter-name>aCount</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>766</x>
+      <y>207</y>     </coord>
+     <coord>
+<x>766</x>
+      <y>343</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MINT</fromserviceparameter-name>
+    <tonode-name>C_MIN</tonode-name>
+    <toserviceparameter-name>aMinVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>760</x>
+      <y>904</y>     </coord>
+     <coord>
+<x>756</x>
+      <y>372</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MINT</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MINT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAXT</fromserviceparameter-name>
+    <tonode-name>C_MAX</tonode-name>
+    <toserviceparameter-name>aMaxVal</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>765</x>
+      <y>742</y>     </coord>
+     <coord>
+<x>766</x>
+      <y>384</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>MAXT</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>MAXT</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>AVERAGET</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>AVERAGET</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>SYRLISTT</fromserviceparameter-name>
+    <tonode-name>C_AVERAGE</tonode-name>
+    <toserviceparameter-name>aListOfSyr</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>773</x>
+      <y>546</y>     </coord>
+     <coord>
+<x>772</x>
+      <y>424</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>label_test</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndL_OneEven</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>control_m3p1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_test</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>553</x>
+      <y>453</y>     </coord>
+     <coord>
+<x>554</x>
+      <y>1025</y>     </coord>
+     <coord>
+<x>1242</x>
+      <y>1026</y>     </coord>
+     <coord>
+<x>1234</x>
+      <y>204</y>     </coord>    </coord-list>   </link>
+   <link>
+<fromnode-name>control_div2</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list>
+<coord>
+<x>176</x>
+      <y>419</y>     </coord>
+     <coord>
+<x>176</x>
+      <y>997</y>     </coord>
+     <coord>
+<x>1217</x>
+      <y>996</y>     </coord>
+     <coord>
+<x>1223</x>
+      <y>711</y>     </coord>    </coord-list>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSyrControlAveValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__NB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>NB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>31</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__KB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>KB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__MINB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MINB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__MAXB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>MAXB</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphSyrControlAveValid</fromnode-name>
+    <fromserviceparameter-name>label_begin__AVERAGEB</fromserviceparameter-name>
+    <tonode-name>label_begin</tonode-name>
+    <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
+    <data-value>
+<value-type>7</value-type>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphTwoLoops1.py b/examples/GraphTwoLoops1.py
new file mode 100644 (file)
index 0000000..dc71c5f
--- /dev/null
@@ -0,0 +1,133 @@
+
+# Generated python file of Graph GraphTwoLoops1
+
+from SuperV import *
+
+# Graph creation of GraphTwoLoops1
+def DefGraphTwoLoops1() :
+    GraphTwoLoops1 = Graph( 'GraphTwoLoops1' )
+    GraphTwoLoops1.SetName( 'GraphTwoLoops1' )
+    GraphTwoLoops1.SetAuthor( 'JR' )
+    GraphTwoLoops1.SetComment( '' )
+    GraphTwoLoops1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of Loop Nodes
+    PyLoop1 = []
+    PyLoop1.append( 'def Loop1(Index,Max) :      ' )
+    PyLoop1.append( '  return Index,Max        ' )
+    PyLoop1.append( '' )
+    PyMoreLoop1 = []
+    PyMoreLoop1.append( 'import time  ' )
+    PyMoreLoop1.append( 'def More(Index,Max) :   ' )
+    PyMoreLoop1.append( '      time.sleep(2)  ' )
+    PyMoreLoop1.append( '      DoLoop = 0       ' )
+    PyMoreLoop1.append( '      if Index < Max :       ' )
+    PyMoreLoop1.append( '              DoLoop = 1       ' )
+    PyMoreLoop1.append( '      return DoLoop,Index,Max       ' )
+    PyMoreLoop1.append( '' )
+    PyNextLoop1 = []
+    PyNextLoop1.append( 'def Next(Index,Max) :       ' )
+    PyNextLoop1.append( '      Index = Index + 1       ' )
+    PyNextLoop1.append( '      return Index,Max       ' )
+    PyNextLoop1.append( '' )
+    Loop1,EndLoop1 = GraphTwoLoops1.LNode( 'Loop1' , PyLoop1 , 'More' , PyMoreLoop1 , 'Next' , PyNextLoop1 )
+    EndLoop1.SetName( 'EndLoop1' )
+    EndLoop1.SetAuthor( '' )
+    EndLoop1.SetComment( 'Compute Node' )
+    EndLoop1.Coords( 634 , 177 )
+    PyEndLoop1 = []
+    EndLoop1.SetPyFunction( 'EndLoop1' , PyEndLoop1 )
+    ILoop1DoLoop = Loop1.GetInPort( 'DoLoop' )
+    ILoop1Index = Loop1.InPort( 'Index' , 'long' )
+    ILoop1Max = Loop1.InPort( 'Max' , 'long' )
+    ILoop1Gate = Loop1.GetInPort( 'Gate' )
+    OLoop1DoLoop = Loop1.GetOutPort( 'DoLoop' )
+    OLoop1Index = Loop1.GetOutPort( 'Index' )
+    OLoop1Max = Loop1.GetOutPort( 'Max' )
+    IEndLoop1DoLoop = EndLoop1.GetInPort( 'DoLoop' )
+    IEndLoop1Index = EndLoop1.GetInPort( 'Index' )
+    IEndLoop1Max = EndLoop1.GetInPort( 'Max' )
+    IEndLoop1Gate = EndLoop1.GetInPort( 'Gate' )
+    OEndLoop1DoLoop = EndLoop1.GetOutPort( 'DoLoop' )
+    OEndLoop1Index = EndLoop1.GetOutPort( 'Index' )
+    OEndLoop1Max = EndLoop1.GetOutPort( 'Max' )
+    OEndLoop1Gate = EndLoop1.GetOutPort( 'Gate' )
+    Loop1.SetName( 'Loop1' )
+    Loop1.SetAuthor( '' )
+    Loop1.SetComment( 'Compute Node' )
+    Loop1.Coords( 7 , 175 )
+    
+    PyLoop = []
+    PyMoreLoop = []
+    PyMoreLoop.append( '' )
+    PyNextLoop = []
+    PyNextLoop.append( 'def Next(Index,Max) : ' )
+    PyNextLoop.append( '       Index = Index + 1 ' )
+    PyNextLoop.append( '       return Index,Max ' )
+    PyNextLoop.append( '' )
+    Loop,EndLoop = GraphTwoLoops1.LNode( '' , PyLoop , '' , PyMoreLoop , 'Next' , PyNextLoop )
+    EndLoop.SetName( 'EndLoop' )
+    EndLoop.SetAuthor( '' )
+    EndLoop.SetComment( 'Compute Node' )
+    EndLoop.Coords( 426 , 180 )
+    PyEndLoop = []
+    PyEndLoop.append( 'import time ' )
+    PyEndLoop.append( 'def EndLoop(DoLoop,Index,Max) :  ' )
+    PyEndLoop.append( '        time.sleep(1) ' )
+    PyEndLoop.append( '        DoLoop = 0  ' )
+    PyEndLoop.append( '        if Index < Max :  ' )
+    PyEndLoop.append( '                DoLoop = 1  ' )
+    PyEndLoop.append( '        return DoLoop,Index,Max  ' )
+    PyEndLoop.append( '' )
+    EndLoop.SetPyFunction( 'EndLoop' , PyEndLoop )
+    ILoopDoLoop = Loop.GetInPort( 'DoLoop' )
+    ILoopIndex = Loop.InPort( 'Index' , 'long' )
+    ILoopMax = Loop.InPort( 'Max' , 'long' )
+    ILoopGate = Loop.GetInPort( 'Gate' )
+    OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+    OLoopIndex = Loop.GetOutPort( 'Index' )
+    OLoopMax = Loop.GetOutPort( 'Max' )
+    IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+    IEndLoopIndex = EndLoop.GetInPort( 'Index' )
+    IEndLoopMax = EndLoop.GetInPort( 'Max' )
+    IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+    OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+    OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    OEndLoopGate = EndLoop.GetOutPort( 'Gate' )
+    Loop.SetName( 'Loop' )
+    Loop.SetAuthor( '' )
+    Loop.SetComment( 'Compute Node' )
+    Loop.Coords( 208 , 179 )
+    
+    # Creation of Links
+    LLoop1IndexEndLoop1Index = GraphTwoLoops1.Link( OLoop1Index , IEndLoop1Index )
+    
+    LLoop1IndexLoopIndex = GraphTwoLoops1.Link( OLoop1Index , ILoopIndex )
+    
+    LLoop1MaxEndLoop1Max = GraphTwoLoops1.Link( OLoop1Max , IEndLoop1Max )
+    
+    LLoop1GateLoopGate = GraphTwoLoops1.Link( OLoop1Gate , ILoopGate )
+    
+    LLoopIndexEndLoopIndex = GraphTwoLoops1.Link( OLoopIndex , IEndLoopIndex )
+    
+    LLoopMaxEndLoopMax = GraphTwoLoops1.Link( OLoopMax , IEndLoopMax )
+    
+    LEndLoopGateEndLoop1Gate = GraphTwoLoops1.Link( OEndLoopGate , IEndLoop1Gate )
+    
+    # Input datas
+    ILoop1Index.Input( 5 )
+    ILoop1Max.Input( 15 )
+    ILoopMax.Input( 20 )
+    
+    # Output Ports of the graph
+    #OEndLoop1Index = EndLoop1.GetOutPort( 'Index' )
+    #OEndLoop1Max = EndLoop1.GetOutPort( 'Max' )
+    #OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+    #OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+    return GraphTwoLoops1
+
+
+GraphTwoLoops1 = DefGraphTwoLoops1()
diff --git a/examples/GraphTwoLoops1.xml b/examples/GraphTwoLoops1.xml
new file mode 100644 (file)
index 0000000..80212e5
--- /dev/null
@@ -0,0 +1,315 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphTwoLoops1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphTwoLoops1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop1__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop1__Max</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Loop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop1__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop1__Max</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>17/12/2004 - 11:3:21</creation-date>
+    <lastmodification-date>8/7/2005 - 15:57:18</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>Loop1</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoop1</coupled-node>
+    <service>
+<service-name>Loop1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</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>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Loop1</FuncName>
+      <PyFunc><![CDATA[def Loop1(Index,Max) :      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Max        ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[import time  ]]></PyFunc>
+      <PyFunc><![CDATA[def More(Index,Max) :   ]]></PyFunc>
+      <PyFunc><![CDATA[        time.sleep(2)  ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0       ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index < Max :       ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return DoLoop,Index,Max       ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Max) :       ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1       ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Max       ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:51:35</creation-date>
+    <lastmodification-date>8/7/2005 - 15:51:35</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>7</x-position>
+    <y-position>175</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoop1</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop1</coupled-node>
+    <service>
+<service-name>EndLoop1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</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>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoop1</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:51:35</creation-date>
+    <lastmodification-date>8/7/2005 - 15:51:35</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>634</x-position>
+    <y-position>177</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Loop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndLoop</coupled-node>
+    <service>
+<service-name>Loop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</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>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(Index,Max) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1 ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Max ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:51:35</creation-date>
+    <lastmodification-date>8/7/2005 - 15:51:35</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>208</x-position>
+    <y-position>179</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>Loop</coupled-node>
+    <service>
+<service-name>EndLoop</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Index</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>Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoop</FuncName>
+      <PyFunc><![CDATA[import time ]]></PyFunc>
+      <PyFunc><![CDATA[def EndLoop(DoLoop,Index,Max) :  ]]></PyFunc>
+      <PyFunc><![CDATA[        time.sleep(1) ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0  ]]></PyFunc>
+      <PyFunc><![CDATA[        if Index < Max :  ]]></PyFunc>
+      <PyFunc><![CDATA[                DoLoop = 1  ]]></PyFunc>
+      <PyFunc><![CDATA[        return DoLoop,Index,Max  ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/7/2005 - 15:51:35</creation-date>
+    <lastmodification-date>8/7/2005 - 15:51:35</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>426</x-position>
+    <y-position>180</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>Loop1</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoop1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop1</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoop1</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop1</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop1</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoop1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop1</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoop1</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop1</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Loop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndLoop</fromnode-name>
+    <fromserviceparameter-name>Gate</fromserviceparameter-name>
+    <tonode-name>EndLoop1</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphTwoLoops1</fromnode-name>
+    <fromserviceparameter-name>Loop1__Index</fromserviceparameter-name>
+    <tonode-name>Loop1</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphTwoLoops1</fromnode-name>
+    <fromserviceparameter-name>Loop1__Max</fromserviceparameter-name>
+    <tonode-name>Loop1</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>15</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphTwoLoops1</fromnode-name>
+    <fromserviceparameter-name>Loop__Max</fromserviceparameter-name>
+    <tonode-name>Loop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>20</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index c773582050494ded9a747bbd4bedd59be320bd85..a2164ae9f661ce4b51dde21a85af7400dd321fb7 100755 (executable)
 
-# Generated python file of Graph GraphEssai
+# Generated python file of Graph GraphUnValid
 
 from SuperV import *
-# Graph creation 
-GraphUnValid = Graph( 'GraphUnValid' )
-GraphUnValid.SetName( 'GraphUnValid' )
-GraphUnValid.SetAuthor( '' )
-GraphUnValid.SetComment( '' )
-GraphUnValid.Coords( 0 , 0 )
-
-# Creation of Factory Nodes
-
-Add = GraphUnValid.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
-Add.SetName( 'Add' )
-Add.SetAuthor( '' )
-Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 8 , 62 )
-
-Sub = GraphUnValid.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
-Sub.SetName( 'Sub' )
-Sub.SetAuthor( '' )
-Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 203 , 4 )
-
-Mul = GraphUnValid.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( '' )
-Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 390 , 62 )
-
-Div = GraphUnValid.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
-Div.SetName( 'Div' )
-Div.SetAuthor( '' )
-Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 575 , 11 )
-
-# Creation of Links
-Addz = Add.Port( 'z' )
-Muly = GraphUnValid.Link( Addz , Mul.Port( 'y' ) )
-
-Suby = GraphUnValid.Link( Addz , Sub.Port( 'y' ) )
-Suby.AddCoord( 1 , 182 , 113 )
-Suby.AddCoord( 2 , 183 , 170 )
-
-Subz = Sub.Port( 'z' )
-Divx = GraphUnValid.Link( Subz , Div.Port( 'x' ) )
-Divx.AddCoord( 1 , 566 , 91 )
-Divx.AddCoord( 2 , 566 , 49 )
-Divx.AddCoord( 3 , 380 , 49 )
-Divx.AddCoord( 4 , 379 , 84 )
-
-Mulx = GraphUnValid.Link( Subz , Mul.Port( 'x' ) )
-Mulx.AddCoord( 1 , 379 , 141 )
-Mulx.AddCoord( 2 , 378 , 85 )
-
-Mulz = Mul.Port( 'z' )
-Divy = GraphUnValid.Link( Mulz , Div.Port( 'y' ) )
-Divy.AddCoord( 1 , 565 , 120 )
-Divy.AddCoord( 2 , 565 , 141 )
-
-Subx = GraphUnValid.Link( Mulz , Sub.Port( 'x' ) )
-Subx.AddCoord( 1 , 194 , 84 )
-Subx.AddCoord( 2 , 195 , 252 )
-Subx.AddCoord( 3 , 566 , 252 )
-Subx.AddCoord( 4 , 565 , 141 )
-
-# Creation of Output variables
-AddFuncValue = Add.Port( 'FuncValue' )
-Divz = Div.Port( 'z' )
-
-statvalid = GraphInLinesUnValid.IsValid()
-if statvalid == 0 :
-    print "Unvalid graph : Ok"
-else :
-    print "Error : the graph should not be valid"
-
-# Creation of Output variables
-statrun = GraphUnValid.Run()
-if statrun == 0 :
-    print "Unvalid graph ==> No Run : Ok"
-else :
-    print "Error : the graph is not valid and is running"
-
-GraphUnValid.IsDone()
-
-GraphUnValid.State()
-
-GraphUnValid.PrintPorts()
 
+# Graph creation of GraphUnValid
+def DefGraphUnValid() :
+    GraphUnValid = Graph( 'GraphUnValid' )
+    GraphUnValid.SetName( 'GraphUnValid' )
+    GraphUnValid.SetAuthor( 'JR' )
+    GraphUnValid.SetComment( '' )
+    GraphUnValid.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphUnValid.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 8 , 62 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Sub = GraphUnValid.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'FactoryServer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 203 , 4 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    Mul = GraphUnValid.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+    Mul.SetName( 'Mul' )
+    Mul.SetAuthor( '' )
+    Mul.SetContainer( 'FactoryServer' )
+    Mul.SetComment( 'Mul from MulComponent' )
+    Mul.Coords( 390 , 62 )
+    IMulx = Mul.GetInPort( 'x' )
+    IMuly = Mul.GetInPort( 'y' )
+    IMulGate = Mul.GetInPort( 'Gate' )
+    OMulz = Mul.GetOutPort( 'z' )
+    OMulGate = Mul.GetOutPort( 'Gate' )
+    
+    Div = GraphUnValid.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+    Div.SetName( 'Div' )
+    Div.SetAuthor( '' )
+    Div.SetContainer( 'FactoryServer' )
+    Div.SetComment( 'Div from DivComponent' )
+    Div.Coords( 575 , 11 )
+    IDivx = Div.GetInPort( 'x' )
+    IDivy = Div.GetInPort( 'y' )
+    IDivGate = Div.GetInPort( 'Gate' )
+    ODivz = Div.GetOutPort( 'z' )
+    ODivGate = Div.GetOutPort( 'Gate' )
+    
+    # Creation of Links
+    LAddzMuly = GraphUnValid.Link( OAddz , IMuly )
+    
+    LAddzSuby = GraphUnValid.Link( OAddz , ISuby )
+    LAddzSuby.AddCoord( 1 , 182 , 113 )
+    LAddzSuby.AddCoord( 2 , 183 , 170 )
+    
+    LSubzDivx = GraphUnValid.Link( OSubz , IDivx )
+    LSubzDivx.AddCoord( 1 , 566 , 91 )
+    LSubzDivx.AddCoord( 2 , 566 , 49 )
+    LSubzDivx.AddCoord( 3 , 380 , 49 )
+    LSubzDivx.AddCoord( 4 , 379 , 84 )
+    
+    LSubzMulx = GraphUnValid.Link( OSubz , IMulx )
+    LSubzMulx.AddCoord( 1 , 379 , 141 )
+    LSubzMulx.AddCoord( 2 , 378 , 85 )
+    
+    LMulzDivy = GraphUnValid.Link( OMulz , IDivy )
+    LMulzDivy.AddCoord( 1 , 565 , 120 )
+    LMulzDivy.AddCoord( 2 , 565 , 141 )
+    
+    LMulzSubx = GraphUnValid.Link( OMulz , ISubx )
+    LMulzSubx.AddCoord( 1 , 194 , 84 )
+    LMulzSubx.AddCoord( 2 , 195 , 252 )
+    LMulzSubx.AddCoord( 3 , 566 , 252 )
+    LMulzSubx.AddCoord( 4 , 565 , 141 )
+    
+    # Input datas
+    IAddx.Input( 3 )
+    IAddy.Input( 4.5 )
+    
+    # Output Ports of the graph
+    #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    #ODivz = Div.GetOutPort( 'z' )
+    return GraphUnValid
+
+
+GraphUnValid = DefGraphUnValid()
index 243fc6fab9d4f9b8bfdfbc3d682ae8d4e78d7dc1..3255351c7c4dac55c92e45e9f413f642fe49ae7c 100755 (executable)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>GraphEssai</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>GraphUnValid</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>GraphEssai</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>Add\x</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Add__x</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>Add\y</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Add__y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>Add__FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>11/3/2003 - 9:58:58</creation-date>
-   <lastmodification-date>8/8/2003 - 15:33:21</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>Div__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>11/3/2003 - 9:58:58</creation-date>
+    <lastmodification-date>8/7/2005 - 16:1:1</lastmodification-date>
+    <editor-release>1.04</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>AddComponent</component-name>
-   <interface-name>AddComponent</interface-name>
-   <node-name>Add</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <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-list>
 <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>FuncValue</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>8/8/2003 - 15:32:31</creation-date>
-   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>FactoryServer</container>
-   <comment>Add from AddComponent</comment>
-   <x-position>8</x-position>
-   <y-position>62</y-position>  </node>
-  <node>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/7/2005 - 16:1:1</creation-date>
+    <lastmodification-date>8/7/2005 - 16:1:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>8</x-position>
+    <y-position>62</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>
+    <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-list>
 <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>8/8/2003 - 15:32:31</creation-date>
-   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>FactoryServer</container>
-   <comment>Sub from SubComponent</comment>
-   <x-position>203</x-position>
-   <y-position>4</y-position>  </node>
-  <node>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/7/2005 - 16:1:1</creation-date>
+    <lastmodification-date>8/7/2005 - 16:1:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>203</x-position>
+    <y-position>4</y-position>   </node>
+   <node>
 <component-name>MulComponent</component-name>
-   <interface-name>MulComponent</interface-name>
-   <node-name>Mul</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>MulComponent</interface-name>
+    <node-name>Mul</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>Mul</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>8/8/2003 - 15:32:31</creation-date>
-   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>FactoryServer</container>
-   <comment>Mul from MulComponent</comment>
-   <x-position>390</x-position>
-   <y-position>62</y-position>  </node>
-  <node>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/7/2005 - 16:1:1</creation-date>
+    <lastmodification-date>8/7/2005 - 16:1:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>FactoryServer</container>
+    <comment>Mul from MulComponent</comment>
+    <x-position>390</x-position>
+    <y-position>62</y-position>   </node>
+   <node>
 <component-name>DivComponent</component-name>
-   <interface-name>DivComponent</interface-name>
-   <node-name>Div</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>DivComponent</interface-name>
+    <node-name>Div</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>Div</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>8/8/2003 - 15:32:31</creation-date>
-   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>FactoryServer</container>
-   <comment>Div from DivComponent</comment>
-   <x-position>575</x-position>
-   <y-position>11</y-position>  </node> </node-list>
- <link-list>
+       <outParameter-name>z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/7/2005 - 16:1:1</creation-date>
+    <lastmodification-date>8/7/2005 - 16:1:1</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>FactoryServer</container>
+    <comment>Div from DivComponent</comment>
+    <x-position>575</x-position>
+    <y-position>11</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>Add</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>y</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Add</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Sub</tonode-name>
-   <toserviceparameter-name>y</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>182</x>
-     <y>113</y>    </coord>
-    <coord>
+      <y>113</y>     </coord>
+     <coord>
 <x>183</x>
-     <y>170</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>170</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Sub</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Div</tonode-name>
-   <toserviceparameter-name>x</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>566</x>
-     <y>91</y>    </coord>
-    <coord>
+      <y>91</y>     </coord>
+     <coord>
 <x>566</x>
-     <y>49</y>    </coord>
-    <coord>
+      <y>49</y>     </coord>
+     <coord>
 <x>380</x>
-     <y>49</y>    </coord>
-    <coord>
+      <y>49</y>     </coord>
+     <coord>
 <x>379</x>
-     <y>84</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>84</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Sub</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>x</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>379</x>
-     <y>141</y>    </coord>
-    <coord>
+      <y>141</y>     </coord>
+     <coord>
 <x>378</x>
-     <y>85</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>85</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Mul</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Div</tonode-name>
-   <toserviceparameter-name>y</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Div</tonode-name>
+    <toserviceparameter-name>y</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>565</x>
-     <y>120</y>    </coord>
-    <coord>
+      <y>120</y>     </coord>
+     <coord>
 <x>565</x>
-     <y>141</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>141</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Mul</fromnode-name>
-   <fromserviceparameter-name>z</fromserviceparameter-name>
-   <tonode-name>Sub</tonode-name>
-   <toserviceparameter-name>x</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>z</fromserviceparameter-name>
+    <tonode-name>Sub</tonode-name>
+    <toserviceparameter-name>x</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>194</x>
-     <y>84</y>    </coord>
-    <coord>
+      <y>84</y>     </coord>
+     <coord>
 <x>195</x>
-     <y>252</y>    </coord>
-    <coord>
+      <y>252</y>     </coord>
+     <coord>
 <x>566</x>
-     <y>252</y>    </coord>
-    <coord>
+      <y>252</y>     </coord>
+     <coord>
 <x>565</x>
-     <y>141</y>    </coord>   </coord-list>  </link> </link-list>
- <data-list>
+      <y>141</y>     </coord>    </coord-list>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>GraphEssai</fromnode-name>
-   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-   <tonode-name>Add</tonode-name>
-   <toserviceparameter-name>x</toserviceparameter-name>
-   <data-value>
-<value-type>3</value-type>
-    <value>3</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>GraphEssai</fromnode-name>
-   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-   <tonode-name>Add</tonode-name>
-   <toserviceparameter-name>y</toserviceparameter-name>
-   <data-value>
+<fromnode-name>GraphUnValid</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>4.5</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>3</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphUnValid</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>4.5</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphWrongContainerOrComponent.py b/examples/GraphWrongContainerOrComponent.py
new file mode 100644 (file)
index 0000000..c2fdf3a
--- /dev/null
@@ -0,0 +1,54 @@
+
+# Generated python file of Graph GraphWrongContainerOrComponent
+
+from SuperV import *
+
+# Graph creation of GraphWrongContainerOrComponent
+def DefGraphWrongContainerOrComponent() :
+    GraphWrongContainerOrComponent = Graph( 'GraphWrongContainerOrComponent' )
+    GraphWrongContainerOrComponent.SetName( 'GraphWrongContainerOrComponent' )
+    GraphWrongContainerOrComponent.SetAuthor( 'JR' )
+    GraphWrongContainerOrComponent.SetComment( '' )
+    GraphWrongContainerOrComponent.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Add = GraphWrongContainerOrComponent.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+    Add.SetName( 'Add' )
+    Add.SetAuthor( '' )
+    Add.SetContainer( 'FactoryServer' )
+    Add.SetComment( 'Add from AddComponent' )
+    Add.Coords( 99 , 304 )
+    IAddx = Add.GetInPort( 'x' )
+    IAddy = Add.GetInPort( 'y' )
+    IAddGate = Add.GetInPort( 'Gate' )
+    OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    OAddz = Add.GetOutPort( 'z' )
+    OAddGate = Add.GetOutPort( 'Gate' )
+    
+    Sub = GraphWrongContainerOrComponent.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+    Sub.SetName( 'Sub' )
+    Sub.SetAuthor( '' )
+    Sub.SetContainer( 'FactoryServer' )
+    Sub.SetComment( 'Sub from SubComponent' )
+    Sub.Coords( 98 , 59 )
+    ISubx = Sub.GetInPort( 'x' )
+    ISuby = Sub.GetInPort( 'y' )
+    ISubGate = Sub.GetInPort( 'Gate' )
+    OSubz = Sub.GetOutPort( 'z' )
+    OSubGate = Sub.GetOutPort( 'Gate' )
+    
+    # Input datas
+    IAddx.Input( 3 )
+    IAddy.Input( 4.5 )
+    ISubx.Input( 1.5 )
+    ISuby.Input( 0 )
+    
+    # Output Ports of the graph
+    #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
+    #OAddz = Add.GetOutPort( 'z' )
+    #OSubz = Sub.GetOutPort( 'z' )
+    return GraphWrongContainerOrComponent
+
+
+GraphWrongContainerOrComponent = DefGraphWrongContainerOrComponent()
diff --git a/examples/GraphWrongContainerOrComponent.xml b/examples/GraphWrongContainerOrComponent.xml
new file mode 100644 (file)
index 0000000..e5fec43
--- /dev/null
@@ -0,0 +1,145 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphWrongContainerOrComponent</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphEssai</service-name>
+     <inParameter-list>
+<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>Sub__x</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>double</inParameter-type>
+       <inParameter-name>Sub__y</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<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>Sub__z</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>11/3/2003 - 9:58:58</creation-date>
+    <lastmodification-date>21/6/2005 - 11:29:39</lastmodification-date>
+    <editor-release>1.04</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>NOAddComponent</component-name>
+    <interface-name>NOAddComponent</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>21/6/2005 - 11:29:24</creation-date>
+    <lastmodification-date>21/6/2005 - 11:29:24</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>FactoryServer</container>
+    <comment>Add from AddComponent</comment>
+    <x-position>99</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>21/6/2005 - 11:29:24</creation-date>
+    <lastmodification-date>21/6/2005 - 11:29:24</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>NOComputer/FactoryServer</container>
+    <comment>Sub from SubComponent</comment>
+    <x-position>98</x-position>
+    <y-position>59</y-position>   </node>  </node-list>
+  <link-list/>
+  <data-list>
+<data>
+<fromnode-name>GraphWrongContainerOrComponent</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>3</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphWrongContainerOrComponent</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>4.5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphWrongContainerOrComponent</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>1.5</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>GraphWrongContainerOrComponent</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>0</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
diff --git a/examples/GraphWrongPythonFunctions.py b/examples/GraphWrongPythonFunctions.py
new file mode 100644 (file)
index 0000000..f8495d1
--- /dev/null
@@ -0,0 +1,165 @@
+
+# Generated python file of Graph GraphWrongPythonFunctions_1
+
+from SuperV import *
+
+# Graph creation of GraphWrongPythonFunctions_1
+def DefGraphWrongPythonFunctions_1() :
+    GraphWrongPythonFunctions_1 = Graph( 'GraphWrongPythonFunctions_1' )
+    GraphWrongPythonFunctions_1.SetName( 'GraphWrongPythonFunctions_1' )
+    GraphWrongPythonFunctions_1.SetAuthor( 'JR' )
+    GraphWrongPythonFunctions_1.SetComment( '' )
+    GraphWrongPythonFunctions_1.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    # Creation of InLine Nodes
+    PyIsOdd = []
+    PyIsOdd.append( 'from timed import *      ' )
+    PyIsOdd.append( 'def IsOdd(a) :          ' )
+    PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"         ' )
+    PyIsOdd.append( '    sleep( 1 )      ' )
+    PyIsOdd.append( '    return a        ' )
+    IsOdd = GraphWrongPythonFunctions_1.INode( 'IsOdd' , PyIsOdd )
+    IsOdd.SetName( 'IsOdd' )
+    IsOdd.SetAuthor( '' )
+    IsOdd.SetComment( 'Python function' )
+    IsOdd.Coords( 397 , 1 )
+    IIsOdda = IsOdd.InPort( 'a' , 'long' )
+    IIsOddGate = IsOdd.GetInPort( 'Gate' )
+    OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+    OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+    
+    PyValEven = []
+    PyValEven.append( 'from timed import *  ' )
+    PyValEven.append( 'def ValEven(Even) :  ' )
+    PyValEven.append( '    sleep(1)  ' )
+    PyValEven.append( '    return Even    ' )
+    PyValEven.append( '' )
+    ValEven = GraphWrongPythonFunctions_1.INode( 'ValEven' , PyValEven )
+    ValEven.SetName( 'ValEven' )
+    ValEven.SetAuthor( '' )
+    ValEven.SetComment( 'Compute Node' )
+    ValEven.Coords( 396 , 222 )
+    IValEvenEven = ValEven.InPort( 'Even' , 'long' )
+    IValEvenGate = ValEven.GetInPort( 'Gate' )
+    OValEvenEven = ValEven.OutPort( 'Even' , 'long' )
+    OValEvenGate = ValEven.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInitLoop = []
+    PyInitLoop.append( 'def InitLoop(Index,Min,Max)     ' )
+    PyInitLoop.append( '       Index = Min      ' )
+    PyInitLoop.append( '       return Index,Min,Max      ' )
+    PyInitLoop.append( '   ' )
+    PyMoreInitLoop = []
+    PyMoreInitLoop.append( 'def More() ' )
+    PyMoreInitLoop.append( '    return toto     ' )
+    PyNextInitLoop = []
+    PyNextInitLoop.append( 'def Next(...)    ' )
+    PyNextInitLoop.append( '    return Ok     ' )
+    InitLoop,EndOfInitLoop = GraphWrongPythonFunctions_1.LNode( 'InitLoop' , PyInitLoop , 'More' , PyMoreInitLoop , 'Next' , PyNextInitLoop )
+    EndOfInitLoop.SetName( 'EndOfInitLoop' )
+    EndOfInitLoop.SetAuthor( '' )
+    EndOfInitLoop.SetComment( 'Compute Node' )
+    EndOfInitLoop.Coords( 767 , 102 )
+    PyEndOfInitLoop = []
+    PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) : ' )
+    PyEndOfInitLoop.append( '  Index = Index + 1      ' )
+    PyEndOfInitLoop.append( '  if Index <= Max :    ' )
+    PyEndOfInitLoop.append( '          DoLoop = 1      ' )
+    PyEndOfInitLoop.append( '  else :      ' )
+    PyEndOfInitLoop.append( '          DoLoop = 0      ' )
+    PyEndOfInitLoop.append( '  return DoLoop,Index,Min,Max :  ' )
+    EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+    IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
+    IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+    IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+    IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+    IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+    OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+    OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+    OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+    OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+    IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+    IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+    IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+    IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+    IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+    OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+    OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
+    InitLoop.SetName( 'InitLoop' )
+    InitLoop.SetAuthor( '' )
+    InitLoop.SetComment( 'Compute Node' )
+    InitLoop.Coords( 10 , 108 )
+    
+    # Creation of Switch Nodes
+    PySwitch = []
+    PySwitch.append( 'from time import *    ' )
+    PySwitch.append( 'def Switch(a) ' )
+    PySwitch.append( '    if a & 1 == 0 :    ' )
+    PySwitch.append( '        sleep(1)    ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a      ' )
+    Switch,EndSwitch = GraphWrongPythonFunctions_1.SNode( 'Switch' , PySwitch )
+    EndSwitch.SetName( 'EndSwitch' )
+    EndSwitch.SetAuthor( '' )
+    EndSwitch.SetComment( 'Compute Node' )
+    EndSwitch.Coords( 587 , 103 )
+    PyEndSwitch = []
+    PyEndSwitch.append( 'def EndSwitch(a,Even) ' )
+    PyEndSwitch.append( '    sleep(1)       ' )
+    PyEndSwitch.append( '    return a,      ' )
+    EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+    IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+    IEndSwitchEven = EndSwitch.InPort( 'Even' , 'long' )
+    IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+    OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+    OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+    Switch.SetName( 'Switch' )
+    Switch.SetAuthor( '' )
+    Switch.SetComment( 'Compute Node' )
+    Switch.Coords( 194 , 109 )
+    ISwitcha = Switch.InPort( 'a' , 'long' )
+    ISwitchGate = Switch.GetInPort( 'Gate' )
+    OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+    OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+    OSwitcha = Switch.OutPort( 'a' , 'int' )
+    OSwitchDefault = Switch.GetOutPort( 'Default' )
+    
+    # Creation of Links
+    LIsOddaEndSwitcha = GraphWrongPythonFunctions_1.Link( OIsOdda , IEndSwitcha )
+    
+    LInitLoopIndexSwitcha = GraphWrongPythonFunctions_1.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphWrongPythonFunctions_1.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphWrongPythonFunctions_1.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphWrongPythonFunctions_1.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchEvenValEvenEven = GraphWrongPythonFunctions_1.Link( OSwitchEven , IValEvenEven )
+    
+    LSwitchaIsOdda = GraphWrongPythonFunctions_1.Link( OSwitcha , IIsOdda )
+    
+    LSwitchDefaultEndSwitchDefault = GraphWrongPythonFunctions_1.Link( OSwitchDefault , IEndSwitchDefault )
+    
+    LEndSwitchaEndOfInitLoopIndex = GraphWrongPythonFunctions_1.Link( OEndSwitcha , IEndOfInitLoopIndex )
+    
+    LValEvenEvenEndSwitchEven = GraphWrongPythonFunctions_1.Link( OValEvenEven , IEndSwitchEven )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 5 )
+    IInitLoopMax.Input( 23 )
+    
+    # Output Ports of the graph
+    #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+    #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+    #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+    return GraphWrongPythonFunctions_1
+
+
+GraphWrongPythonFunctions_1 = DefGraphWrongPythonFunctions_1()
diff --git a/examples/GraphWrongPythonFunctions.xml b/examples/GraphWrongPythonFunctions.xml
new file mode 100644 (file)
index 0000000..2b131fb
--- /dev/null
@@ -0,0 +1,382 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphWrongPythonFunctions_1</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>GraphWrongPythonFunctions_1</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Index</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Min</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>InitLoop__Max</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Index</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Min</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>EndOfInitLoop__Max</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>22/10/2003 - 10:36:39</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</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>IsOdd</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>IsOdd</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+      <PyFunc><![CDATA[from timed import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def IsOdd(a) :          ]]></PyFunc>
+      <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"         ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )      ]]></PyFunc>
+      <PyFunc><![CDATA[    return a        ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Python function</comment>
+    <x-position>397</x-position>
+    <y-position>1</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>InitLoop</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInitLoop</coupled-node>
+    <service>
+<service-name>InitLoop</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>InitLoop</FuncName>
+      <PyFunc><![CDATA[def InitLoop(Index,Min,Max)     ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Min      ]]></PyFunc>
+      <PyFunc><![CDATA[        return Index,Min,Max      ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>More</FuncName>
+      <PyFunc><![CDATA[def More() ]]></PyFunc>
+      <PyFunc><![CDATA[    return toto     ]]></PyFunc>     </PyFunction>
+     <PyFunction>
+<FuncName>Next</FuncName>
+      <PyFunc><![CDATA[def Next(...)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return Ok     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>10</x-position>
+    <y-position>108</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInitLoop</node-name>
+    <kind>5</kind>
+    <coupled-node>InitLoop</coupled-node>
+    <service>
+<service-name>EndOfInitLoop</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>EndOfInitLoop</FuncName>
+      <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) : ]]></PyFunc>
+      <PyFunc><![CDATA[        Index = Index + 1      ]]></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-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>767</x-position>
+    <y-position>102</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>Switch</node-name>
+    <kind>6</kind>
+    <coupled-node>EndSwitch</coupled-node>
+    <service>
+<service-name>Switch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Odd</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>
+      <outParameter>
+<outParameter-type>int</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+      <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+      <PyFunc><![CDATA[def Switch(a) ]]></PyFunc>
+      <PyFunc><![CDATA[    if a & 1 == 0 :    ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>194</x-position>
+    <y-position>109</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>EndSwitch</node-name>
+    <kind>7</kind>
+    <coupled-node>Switch</coupled-node>
+    <service>
+<service-name>EndSwitch</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>a</inParameter-name>      </inParameter>
+      <inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>a</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+      <PyFunc><![CDATA[def EndSwitch(a,Even) ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)       ]]></PyFunc>
+      <PyFunc><![CDATA[    return a,      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>587</x-position>
+    <y-position>103</y-position>   </node>
+   <node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>ValEven</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>ValEven</service-name>
+     <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+       <inParameter-name>Even</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+       <outParameter-name>Even</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>ValEven</FuncName>
+      <PyFunc><![CDATA[from timed import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def ValEven(Even) :  ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return Even    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>21/6/2005 - 10:54:1</creation-date>
+    <lastmodification-date>21/6/2005 - 10:54:1</lastmodification-date>
+    <editor-release>2.0</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>396</x-position>
+    <y-position>222</y-position>   </node>  </node-list>
+  <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Index</fromserviceparameter-name>
+    <tonode-name>Switch</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Min</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>InitLoop</fromnode-name>
+    <fromserviceparameter-name>Max</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Odd</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>Gate</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>ValEven</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>IsOdd</tonode-name>
+    <toserviceparameter-name>a</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>Switch</fromnode-name>
+    <fromserviceparameter-name>Default</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Default</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>EndSwitch</fromnode-name>
+    <fromserviceparameter-name>a</fromserviceparameter-name>
+    <tonode-name>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
+<fromnode-name>ValEven</fromnode-name>
+    <fromserviceparameter-name>Even</fromserviceparameter-name>
+    <tonode-name>EndSwitch</tonode-name>
+    <toserviceparameter-name>Even</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphWrongPythonFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Index</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphWrongPythonFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Min</fromserviceparameter-name>
+    <tonode-name>InitLoop</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>GraphWrongPythonFunctions_1</fromnode-name>
+    <fromserviceparameter-name>InitLoop__Max</fromserviceparameter-name>
+    <tonode-name>InitLoop</tonode-name>
+    <toserviceparameter-name>Max</toserviceparameter-name>
+    <data-value>
+<value-type>3</value-type>
+     <value>23</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 70339b9f75dd0865e4ef036bee4c5fd27eb927db..119c5937f4e0af5499736a7420b0c8d6ecd1dbab 100755 (executable)
 
-# Generated python file of Graph LoopGraph
+# Generated python file of Graph TestSupervMedfieldLoopFori
 
 from SuperV import *
-# Graph creation 
-LoopGraph = Graph( 'LoopGraph' )
-LoopGraph.SetName( 'LoopGraph' )
-LoopGraph.SetAuthor( '' )
-LoopGraph.SetComment( '' )
-LoopGraph.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
-
-Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( 'LD' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Multiply a field by a constant' )
-Mul.Coords( 429 , 46 )
-
-# Creation of InLine Nodes
-PyInitDisplay = []
-PyInitDisplay.append( 'from VISU import *             ' )
-PyInitDisplay.append( 'import SALOMEDS             ' )
-PyInitDisplay.append( 'from LifeCycleCORBA import *      ' )
-PyInitDisplay.append( 'from SALOME_NamingServicePy import *         ' )
-PyInitDisplay.append( 'def InitDisplay():  ' )
-PyInitDisplay.append( '    # initialize the ORB    ' )
-PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ' )
-PyInitDisplay.append( '    # create an LifeCycleCORBA instance       ' )
-PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                 ' )
-PyInitDisplay.append( '    # -----------------------------------------         ' )
-PyInitDisplay.append( '    # Visualization parameters       ' )
-PyInitDisplay.append( '    #create a naming service instance             ' )
-PyInitDisplay.append( '    naming_service = SALOME_NamingServicePy_i(orb)             ' )
-PyInitDisplay.append( '    # get Study Manager reference             ' )
-PyInitDisplay.append( '    obj = naming_service.Resolve("myStudyManager")             ' )
-PyInitDisplay.append( '    myStudyManager = obj._narrow(SALOMEDS.StudyManager)             ' )
-PyInitDisplay.append( '    myStudy = myStudyManager.GetStudyByID(1)             ' )
-PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu")             ' )
-PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu   ' )
-PyInitDisplay.append( '    aVisu.SetCurrentStudy(myStudy);             ' )
-PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()              ' )
-PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager   ' )
-PyInitDisplay.append( '    aView = aViewManager.Create3DView()             ' )
-PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView   ' )
-PyInitDisplay.append( '    return aVisu,aView  ' )
-InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
-InitDisplay.OutPort( 'aVisu' , 'objref' )
-InitDisplay.OutPort( 'aView' , 'objref' )
-InitDisplay.SetName( 'InitDisplay' )
-InitDisplay.SetAuthor( '' )
-InitDisplay.SetComment( 'Compute Node' )
-InitDisplay.Coords( 1 , 105 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyInit.append( '    if max >= min :  ' )
-PyInit.append( '              index = min  ' )
-PyInit.append( '    else : ' )
-PyInit.append( '        index = max  ' )
-PyInit.append( '    print "Init --> index      = ",index   ' )
-PyInit.append( '    print "         min        = ",min   ' )
-PyInit.append( '    print "         max        = ",max   ' )
-PyInit.append( '    print "         medfield   = ",medfield   ' )
-PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyMoreInit.append( '    if max >= index :   ' )
-PyMoreInit.append( '        DoLoop = 1   ' )
-PyMoreInit.append( '    else :   ' )
-PyMoreInit.append( '        DoLoop = 0   ' )
-PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
-PyMoreInit.append( '    print "         index       = ",index   ' )
-PyMoreInit.append( '    print "         min         = ",min   ' )
-PyMoreInit.append( '    print "         max         = ",max   ' )
-PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
-PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyNextInit.append( '    index = index + 1  ' )
-PyNextInit.append( '    print "Next --> index      = ",index   ' )
-PyNextInit.append( '    print "         min        = ",min   ' )
-PyNextInit.append( '    print "         max        = ",max   ' )
-PyNextInit.append( '    print "         medfield   = ",medfield   ' )
-PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
-Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( 'LD' )
-EndInit.SetComment( 'no comment' )
-EndInit.Coords( 631 , 5 )
-Init.InPort( 'index' , 'long' )
-Init.InPort( 'min' , 'long' )
-Init.InPort( 'max' , 'long' )
-Init.InPort( 'medfield' , 'objref' )
-Init.InPort( 'x1' , 'double' )
-Init.InPort( 'aVisu' , 'objref' )
-Init.InPort( 'aView' , 'objref' )
-Init.OutPort( 'index' , 'long' )
-Init.OutPort( 'min' , 'long' )
-Init.OutPort( 'max' , 'long' )
-Init.OutPort( 'medfield' , 'objref' )
-Init.OutPort( 'x1' , 'double' )
-Init.OutPort( 'aVisu' , 'objref' )
-Init.OutPort( 'aView' , 'objref' )
-Init.SetName( 'Init' )
-Init.SetAuthor( 'LD' )
-Init.SetComment( 'no comment' )
-Init.Coords( 216 , 5 )
-
-# Creation of Links
-InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
-InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
-
-InitDisplayaView = InitDisplay.Port( 'aView' )
-InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
-
-Initindex = Init.Port( 'index' )
-EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
-
-Initmin = Init.Port( 'min' )
-EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
-
-Initmax = Init.Port( 'max' )
-EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
-
-Initmedfield = Init.Port( 'medfield' )
-Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
-
-Initx1 = Init.Port( 'x1' )
-EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
-
-Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
-
-InitaVisu = Init.Port( 'aVisu' )
-EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
-
-InitaView = Init.Port( 'aView' )
-EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
-
-Mulreturn = Mul.Port( 'return' )
-EndInitmedfield = LoopGraph.Link( Mulreturn , EndInit.Port( 'medfield' ) )
-
-# Creation of Input datas
-Initindex = Init.Input( 'index' , 0)
-Initmin = Init.Input( 'min' , 0)
-Initmax = Init.Input( 'max' , 55)
-Initmedfield = Init.Input( 'medfield' , 'IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021')
-Initx1 = Init.Input( 'x1' , 2)
-
-# Creation of Output variables
-EndInitindex = EndInit.Port( 'index' )
-EndInitmin = EndInit.Port( 'min' )
-EndInitmax = EndInit.Port( 'max' )
-EndInitmedfield = EndInit.Port( 'medfield' )
-EndInitx1 = EndInit.Port( 'x1' )
-EndInitaVisu = EndInit.Port( 'aVisu' )
-EndInitaView = EndInit.Port( 'aView' )
+# Graph creation of TestSupervMedfieldLoopFori
+def DefTestSupervMedfieldLoopFori() :
+    TestSupervMedfieldLoopFori = Graph( 'TestSupervMedfieldLoopFori' )
+    TestSupervMedfieldLoopFori.SetName( 'TestSupervMedfieldLoopFori' )
+    TestSupervMedfieldLoopFori.SetAuthor( '' )
+    TestSupervMedfieldLoopFori.SetComment( '' )
+    TestSupervMedfieldLoopFori.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Mul = TestSupervMedfieldLoopFori.FNode( 'Calculator' , 'Calculator' , 'Mul' )
+    Mul.SetName( 'Mul' )
+    Mul.SetAuthor( 'LD' )
+    Mul.SetContainer( 'localhost/FactoryServer' )
+    Mul.SetComment( 'Multiply a field by a constant' )
+    Mul.Coords( 429 , 46 )
+    IMulfield1 = Mul.GetInPort( 'field1' )
+    IMulx1 = Mul.GetInPort( 'x1' )
+    IMulGate = Mul.GetInPort( 'Gate' )
+    OMulreturn = Mul.GetOutPort( 'return' )
+    OMulGate = Mul.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyInitDisplay = []
+    PyInitDisplay.append( 'from VISU import *              ' )
+    PyInitDisplay.append( 'import SALOMEDS              ' )
+    PyInitDisplay.append( 'from LifeCycleCORBA import *       ' )
+    PyInitDisplay.append( 'from SALOME_NamingServicePy import *          ' )
+    PyInitDisplay.append( 'def InitDisplay():   ' )
+    PyInitDisplay.append( '    # initialize the ORB     ' )
+    PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)   ' )
+    PyInitDisplay.append( '    # create an LifeCycleCORBA instance        ' )
+    PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                  ' )
+    PyInitDisplay.append( '    # -----------------------------------------          ' )
+    PyInitDisplay.append( '    # Visualization parameters        ' )
+    PyInitDisplay.append( '    #create a naming service instance              ' )
+    PyInitDisplay.append( '    naming_service = SALOME_NamingServicePy_i(orb)              ' )
+    PyInitDisplay.append( '    # get Study Manager reference              ' )
+    PyInitDisplay.append( '    obj = naming_service.Resolve("myStudyManager")              ' )
+    PyInitDisplay.append( '    myStudyManager = obj._narrow(SALOMEDS.StudyManager)              ' )
+    PyInitDisplay.append( '    myStudy = myStudyManager.GetStudyByID(1)              ' )
+    PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer", "VISU")              ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu    ' )
+    PyInitDisplay.append( '    aVisu.SetCurrentStudy(myStudy);              ' )
+    PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()               ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager    ' )
+    PyInitDisplay.append( '    aView = aViewManager.Create3DView()              ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView    ' )
+    PyInitDisplay.append( '    return aVisu,aView   ' )
+    InitDisplay = TestSupervMedfieldLoopFori.INode( 'InitDisplay' , PyInitDisplay )
+    InitDisplay.SetName( 'InitDisplay' )
+    InitDisplay.SetAuthor( '' )
+    InitDisplay.SetComment( 'Compute Node' )
+    InitDisplay.Coords( 1 , 105 )
+    IInitDisplayGate = InitDisplay.GetInPort( 'Gate' )
+    OInitDisplayaVisu = InitDisplay.OutPort( 'aVisu' , 'objref' )
+    OInitDisplayaView = InitDisplay.OutPort( 'aView' , 'objref' )
+    OInitDisplayGate = InitDisplay.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyInit.append( '    if max >= min :  ' )
+    PyInit.append( '          index = min  ' )
+    PyInit.append( '    else : ' )
+    PyInit.append( '        index = max  ' )
+    PyInit.append( '    print "Init --> index      = ",index   ' )
+    PyInit.append( '    print "         min        = ",min   ' )
+    PyInit.append( '    print "         max        = ",max   ' )
+    PyInit.append( '    print "         medfield   = ",medfield   ' )
+    PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyMoreInit.append( '    if max >= index :   ' )
+    PyMoreInit.append( '        DoLoop = 1   ' )
+    PyMoreInit.append( '    else :   ' )
+    PyMoreInit.append( '        DoLoop = 0   ' )
+    PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
+    PyMoreInit.append( '    print "         index       = ",index   ' )
+    PyMoreInit.append( '    print "         min         = ",min   ' )
+    PyMoreInit.append( '    print "         max         = ",max   ' )
+    PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
+    PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyNextInit.append( '    index = index + 1  ' )
+    PyNextInit.append( '    print "Next --> index      = ",index   ' )
+    PyNextInit.append( '    print "         min        = ",min   ' )
+    PyNextInit.append( '    print "         max        = ",max   ' )
+    PyNextInit.append( '    print "         medfield   = ",medfield   ' )
+    PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+    Init,EndInit = TestSupervMedfieldLoopFori.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( 'LD' )
+    EndInit.SetComment( 'no comment' )
+    EndInit.Coords( 631 , 5 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitindex = Init.InPort( 'index' , 'long' )
+    IInitmin = Init.InPort( 'min' , 'long' )
+    IInitmax = Init.InPort( 'max' , 'long' )
+    IInitmedfield = Init.InPort( 'medfield' , 'objref' )
+    IInitx1 = Init.InPort( 'x1' , 'double' )
+    IInitaVisu = Init.InPort( 'aVisu' , 'objref' )
+    IInitaView = Init.InPort( 'aView' , 'objref' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitindex = Init.GetOutPort( 'index' )
+    OInitmin = Init.GetOutPort( 'min' )
+    OInitmax = Init.GetOutPort( 'max' )
+    OInitmedfield = Init.GetOutPort( 'medfield' )
+    OInitx1 = Init.GetOutPort( 'x1' )
+    OInitaVisu = Init.GetOutPort( 'aVisu' )
+    OInitaView = Init.GetOutPort( 'aView' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitindex = EndInit.GetInPort( 'index' )
+    IEndInitmin = EndInit.GetInPort( 'min' )
+    IEndInitmax = EndInit.GetInPort( 'max' )
+    IEndInitmedfield = EndInit.GetInPort( 'medfield' )
+    IEndInitx1 = EndInit.GetInPort( 'x1' )
+    IEndInitaVisu = EndInit.GetInPort( 'aVisu' )
+    IEndInitaView = EndInit.GetInPort( 'aView' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitindex = EndInit.GetOutPort( 'index' )
+    OEndInitmin = EndInit.GetOutPort( 'min' )
+    OEndInitmax = EndInit.GetOutPort( 'max' )
+    OEndInitmedfield = EndInit.GetOutPort( 'medfield' )
+    OEndInitx1 = EndInit.GetOutPort( 'x1' )
+    OEndInitaVisu = EndInit.GetOutPort( 'aVisu' )
+    OEndInitaView = EndInit.GetOutPort( 'aView' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( 'LD' )
+    Init.SetComment( 'no comment' )
+    Init.Coords( 216 , 5 )
+    
+    # Creation of Links
+    LInitDisplayaVisuInitaVisu = TestSupervMedfieldLoopFori.Link( OInitDisplayaVisu , IInitaVisu )
+    
+    LInitDisplayaViewInitaView = TestSupervMedfieldLoopFori.Link( OInitDisplayaView , IInitaView )
+    
+    LInitindexEndInitindex = TestSupervMedfieldLoopFori.Link( OInitindex , IEndInitindex )
+    
+    LInitminEndInitmin = TestSupervMedfieldLoopFori.Link( OInitmin , IEndInitmin )
+    
+    LInitmaxEndInitmax = TestSupervMedfieldLoopFori.Link( OInitmax , IEndInitmax )
+    
+    LInitmedfieldMulfield1 = TestSupervMedfieldLoopFori.Link( OInitmedfield , IMulfield1 )
+    
+    LInitx1EndInitx1 = TestSupervMedfieldLoopFori.Link( OInitx1 , IEndInitx1 )
+    
+    LInitx1Mulx1 = TestSupervMedfieldLoopFori.Link( OInitx1 , IMulx1 )
+    
+    LInitaVisuEndInitaVisu = TestSupervMedfieldLoopFori.Link( OInitaVisu , IEndInitaVisu )
+    
+    LInitaViewEndInitaView = TestSupervMedfieldLoopFori.Link( OInitaView , IEndInitaView )
+    
+    LMulreturnEndInitmedfield = TestSupervMedfieldLoopFori.Link( OMulreturn , IEndInitmedfield )
+    
+    # Input datas
+    IInitindex.Input( 0 )
+    IInitmin.Input( 0 )
+    IInitmax.Input( 55 )
+    IInitmedfield.Input( 'IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021' )
+    IInitx1.Input( 2 )
+    
+    # Output Ports of the graph
+    #OEndInitindex = EndInit.GetOutPort( 'index' )
+    #OEndInitmin = EndInit.GetOutPort( 'min' )
+    #OEndInitmax = EndInit.GetOutPort( 'max' )
+    #OEndInitmedfield = EndInit.GetOutPort( 'medfield' )
+    #OEndInitx1 = EndInit.GetOutPort( 'x1' )
+    #OEndInitaVisu = EndInit.GetOutPort( 'aVisu' )
+    #OEndInitaView = EndInit.GetOutPort( 'aView' )
+    return TestSupervMedfieldLoopFori
+
+
+TestSupervMedfieldLoopFori = DefTestSupervMedfieldLoopFori()
index 0d10269fbecd79ea7154ff459258fe0f68e84509..5edb47a1ab08076bf647853b593be46845b72744 100755 (executable)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>LoopGraph</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>TestSupervMedfieldLoopFori</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>LoopGraph</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>Init\medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Init__x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>EndInit\x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>15/9/2003 - 15:25:24</creation-date>
-   <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>EndInit__aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>15/9/2003 - 15:25:24</creation-date>
+    <lastmodification-date>8/4/2005 - 13:44:4</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</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>InitDisplay</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitDisplay</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>InitDisplay</service-name>
-    <inParameter-list/>
-    <outParameter-list>
+     <inParameter-list/>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitDisplay</FuncName>
-     <PyFunc><![CDATA[from VISU import *             ]]></PyFunc>
-     <PyFunc><![CDATA[import SALOMEDS             ]]></PyFunc>
-     <PyFunc><![CDATA[from LifeCycleCORBA import *      ]]></PyFunc>
-     <PyFunc><![CDATA[from SALOME_NamingServicePy import *         ]]></PyFunc>
-     <PyFunc><![CDATA[def InitDisplay():  ]]></PyFunc>
-     <PyFunc><![CDATA[    # initialize the ORB    ]]></PyFunc>
-     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ]]></PyFunc>
-     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance       ]]></PyFunc>
-     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                 ]]></PyFunc>
-     <PyFunc><![CDATA[    # -----------------------------------------         ]]></PyFunc>
-     <PyFunc><![CDATA[    # Visualization parameters       ]]></PyFunc>
-     <PyFunc><![CDATA[    #create a naming service instance             ]]></PyFunc>
-     <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)             ]]></PyFunc>
-     <PyFunc><![CDATA[    # get Study Manager reference             ]]></PyFunc>
-     <PyFunc><![CDATA[    obj = naming_service.Resolve("myStudyManager")             ]]></PyFunc>
-     <PyFunc><![CDATA[    myStudyManager = obj._narrow(SALOMEDS.StudyManager)             ]]></PyFunc>
-     <PyFunc><![CDATA[    myStudy = myStudyManager.GetStudyByID(1)             ]]></PyFunc>
-     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu")             ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu   ]]></PyFunc>
-     <PyFunc><![CDATA[    aVisu.SetCurrentStudy(myStudy);             ]]></PyFunc>
-     <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()              ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager   ]]></PyFunc>
-     <PyFunc><![CDATA[    aView = aViewManager.Create3DView()             ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView   ]]></PyFunc>
-     <PyFunc><![CDATA[    return aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:0:9</creation-date>
-   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>1</x-position>
-   <y-position>105</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from VISU import *              ]]></PyFunc>
+      <PyFunc><![CDATA[import SALOMEDS              ]]></PyFunc>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *       ]]></PyFunc>
+      <PyFunc><![CDATA[from SALOME_NamingServicePy import *          ]]></PyFunc>
+      <PyFunc><![CDATA[def InitDisplay():   ]]></PyFunc>
+      <PyFunc><![CDATA[    # initialize the ORB     ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)   ]]></PyFunc>
+      <PyFunc><![CDATA[    # create an LifeCycleCORBA instance        ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                  ]]></PyFunc>
+      <PyFunc><![CDATA[    # -----------------------------------------          ]]></PyFunc>
+      <PyFunc><![CDATA[    # Visualization parameters        ]]></PyFunc>
+      <PyFunc><![CDATA[    #create a naming service instance              ]]></PyFunc>
+      <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)              ]]></PyFunc>
+      <PyFunc><![CDATA[    # get Study Manager reference              ]]></PyFunc>
+      <PyFunc><![CDATA[    obj = naming_service.Resolve("myStudyManager")              ]]></PyFunc>
+      <PyFunc><![CDATA[    myStudyManager = obj._narrow(SALOMEDS.StudyManager)              ]]></PyFunc>
+      <PyFunc><![CDATA[    myStudy = myStudyManager.GetStudyByID(1)              ]]></PyFunc>
+      <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer", "VISU")              ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu    ]]></PyFunc>
+      <PyFunc><![CDATA[    aVisu.SetCurrentStudy(myStudy);              ]]></PyFunc>
+      <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()               ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager    ]]></PyFunc>
+      <PyFunc><![CDATA[    aView = aViewManager.Create3DView()              ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView    ]]></PyFunc>
+      <PyFunc><![CDATA[    return aVisu,aView   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:44:4</creation-date>
+    <lastmodification-date>8/4/2005 - 13:44:4</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>1</x-position>
+    <y-position>105</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Init</node-name>
-   <kind>4</kind>
-   <coupled-node>EndInit</coupled-node>
-   <service>
+    <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-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>aView</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Init</FuncName>
-     <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
-     <PyFunc><![CDATA[        index = min  ]]></PyFunc>
-     <PyFunc><![CDATA[    else : ]]></PyFunc>
-     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
+      <PyFunc><![CDATA[               index = min  ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>More</FuncName>
-     <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
-     <PyFunc><![CDATA[    else :   ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>Next</FuncName>
-     <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:0:9</creation-date>
-   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>?</container>
-   <comment>no comment</comment>
-   <x-position>216</x-position>
-   <y-position>5</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:44:4</creation-date>
+    <lastmodification-date>8/4/2005 - 13:44:4</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>?</container>
+    <comment>no comment</comment>
+    <x-position>216</x-position>
+    <y-position>5</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>
+    <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-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>aView</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:0:9</creation-date>
-   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>?</container>
-   <comment>no comment</comment>
-   <x-position>631</x-position>
-   <y-position>5</y-position>  </node>
-  <node>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:44:4</creation-date>
+    <lastmodification-date>8/4/2005 - 13:44:4</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>?</container>
+    <comment>no comment</comment>
+    <x-position>631</x-position>
+    <y-position>5</y-position>   </node>
+   <node>
 <component-name>Calculator</component-name>
-   <interface-name>Calculator</interface-name>
-   <node-name>Mul</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>Calculator</interface-name>
+    <node-name>Mul</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>Mul</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>FIELDDOUBLE</inParameter-type>
-      <inParameter-name>field1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>field1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>FIELDDOUBLE</outParameter-type>
-      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>19/9/2003 - 16:0:10</creation-date>
-   <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>localhost/FactoryServer</container>
-   <comment>Multiply a field by a constant</comment>
-   <x-position>429</x-position>
-   <y-position>46</y-position>  </node> </node-list>
- <link-list>
+       <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/4/2005 - 13:44:4</creation-date>
+    <lastmodification-date>8/4/2005 - 13:44:4</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Multiply a field by a constant</comment>
+    <x-position>429</x-position>
+    <y-position>46</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <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>
+    <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>
+    <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>
+    <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>
+    <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>medfield</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>field1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>medfield</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>field1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>aView</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>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>205</x>
-     <y>98</y>    </coord>
-    <coord>
+      <y>98</y>     </coord>
+     <coord>
 <x>204</x>
-     <y>21</y>    </coord>
-    <coord>
+      <y>21</y>     </coord>
+     <coord>
 <x>936</x>
-     <y>20</y>    </coord>
-    <coord>
+      <y>20</y>     </coord>
+     <coord>
 <x>935</x>
-     <y>70</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>70</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Mul</fromnode-name>
-   <fromserviceparameter-name>return</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>medfield</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
- <data-list>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>medfield</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <data-value>
+<fromnode-name>TestSupervMedfieldLoopFori</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>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopFori</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>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopFori</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>55</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\medfield</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>medfield</toserviceparameter-name>
-   <data-value>
+     <value>55</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopFori</fromnode-name>
+    <fromserviceparameter-name>Init__medfield</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>medfield</toserviceparameter-name>
+    <data-value>
 <value-type>14</value-type>
-    <value>IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <data-value>
+     <value>IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopFori</fromnode-name>
+    <fromserviceparameter-name>Init__x1</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <data-value>
 <value-type>7</value-type>
-    <value>2</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>2</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index 2eff10b013885b99b2aee7f159e4f505bf8d0a66..6841ea9ffa33cd70bd40ed779cf74ced587fedcb 100755 (executable)
 
-# Generated python file of Graph LoopGraph
+# Generated python file of Graph TestSupervMedfieldLoopForiVisu
 
 from SuperV import *
-# Graph creation 
-LoopGraph = Graph( 'LoopGraph' )
-LoopGraph.SetName( 'LoopGraph' )
-LoopGraph.SetAuthor( '' )
-LoopGraph.SetComment( '' )
-LoopGraph.Coords( 0 , 0 )
 
-# Creation of Factory Nodes
-
-Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
-Mul.SetName( 'Mul' )
-Mul.SetAuthor( 'LD' )
-Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( 'Multiply a field by a constant' )
-Mul.Coords( 387 , 104 )
-
-# Creation of InLine Nodes
-PyInitDisplay = []
-PyInitDisplay.append( 'from LifeCycleCORBA import *  ' )
-PyInitDisplay.append( 'from VISU import *  ' )
-PyInitDisplay.append( 'def InitDisplay():  ' )
-PyInitDisplay.append( '    # initialize the ORB    ' )
-PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ' )
-PyInitDisplay.append( '    # create an LifeCycleCORBA instance       ' )
-PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                 ' )
-PyInitDisplay.append( '    # -----------------------------------------   ' )
-PyInitDisplay.append( '    # loading visu component                      ' )
-PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu")   ' )
-PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu   ' )
-PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()          ' )
-PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager   ' )
-PyInitDisplay.append( '    # aView = aViewManager.GetCurrentView()       ' )
-PyInitDisplay.append( '    aView = aViewManager.Create3DView()            ' )
-PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView   ' )
-PyInitDisplay.append( '    return aVisu,aView  ' )
-InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
-InitDisplay.OutPort( 'aVisu' , 'objref' )
-InitDisplay.OutPort( 'aView' , 'objref' )
-InitDisplay.SetName( 'InitDisplay' )
-InitDisplay.SetAuthor( '' )
-InitDisplay.SetComment( 'Compute Node' )
-InitDisplay.Coords( 0 , 163 )
-
-PyDisplayMed = []
-PyDisplayMed.append( 'import os  ' )
-PyDisplayMed.append( 'import SALOME_MED  ' )
-PyDisplayMed.append( 'from VISU import *  ' )
-PyDisplayMed.append( 'from LifeCycleCORBA import *  ' )
-PyDisplayMed.append( 'def DisplayMed(medfield,index,aVisu,aView):     ' )
-PyDisplayMed.append( '    # initialize the ORB                    ' )
-PyDisplayMed.append( '    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                         ' )
-PyDisplayMed.append( '    # create an LifeCycleCORBA instance                   ' )
-PyDisplayMed.append( '    lcc = LifeCycleCORBA(orb)                   ' )
-PyDisplayMed.append( '    print " "  ' )
-PyDisplayMed.append( '    print "***************************************************************"  ' )
-PyDisplayMed.append( '    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ' )
-PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
-PyDisplayMed.append( '    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ' )
-PyDisplayMed.append( '    print "-----> Writing Med field in temporary file : ",medfilename  ' )
-PyDisplayMed.append( '    calc.writeMEDfile(medfield,medfilename)  ' )
-PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
-PyDisplayMed.append( '    print "***************************************************************"  ' )
-PyDisplayMed.append( '    myResult1   = aVisu.ImportFile(medfilename)  ' )
-PyDisplayMed.append( '    print "-----> myResult1 = ",myResult1  ' )
-PyDisplayMed.append( '    field_name = medfield.getName()  ' )
-PyDisplayMed.append( '    print "-----> field_name = ",field_name  ' )
-PyDisplayMed.append( '    mesh_name = medfield.getSupport().getMesh().getName()  ' )
-PyDisplayMed.append( '    print "-----> mesh_name = ",mesh_name  ' )
-PyDisplayMed.append( '    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ' )
-PyDisplayMed.append( '    print "-----> aMesh1 = ",aMesh1  ' )
-PyDisplayMed.append( '    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ' )
-PyDisplayMed.append( '    print "-----> aScalarMap1 = ",aScalarMap1  ' )
-PyDisplayMed.append( '    aView.DisplayOnly(aScalarMap1)  ' )
-PyDisplayMed.append( '    aView.FitAll()  ' )
-PyDisplayMed.append( '    command = "rm " + medfilename  ' )
-PyDisplayMed.append( '    os.system(command)  ' )
-PyDisplayMed.append( '    print "-----> Delete temporary Med file : ",medfilename  ' )
-PyDisplayMed.append( '    print "***************************************************************"  ' )
-PyDisplayMed.append( '    print " "  ' )
-PyDisplayMed.append( '    return medfield ' )
-DisplayMed = LoopGraph.INode( 'DisplayMed' , PyDisplayMed )
-DisplayMed.InPort( 'INmedfield' , 'objref' )
-DisplayMed.InPort( 'index' , 'long' )
-DisplayMed.InPort( 'aVisu' , 'objref' )
-DisplayMed.InPort( 'aView' , 'objref' )
-DisplayMed.OutPort( 'OUTmedfield' , 'objref' )
-DisplayMed.SetName( 'DisplayMed' )
-DisplayMed.SetAuthor( '' )
-DisplayMed.SetComment( 'Compute Node' )
-DisplayMed.Coords( 594 , 105 )
-
-# Creation of Loop Nodes
-PyInit = []
-PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyInit.append( '    if max >= min :  ' )
-PyInit.append( '              index = min  ' )
-PyInit.append( '    else : ' )
-PyInit.append( '        index = max  ' )
-PyInit.append( '    print "Init --> index      = ",index   ' )
-PyInit.append( '    print "         min        = ",min   ' )
-PyInit.append( '    print "         max        = ",max   ' )
-PyInit.append( '    print "         medfield   = ",medfield   ' )
-PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
-PyMoreInit = []
-PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyMoreInit.append( '    if max >= index :   ' )
-PyMoreInit.append( '        DoLoop = 1   ' )
-PyMoreInit.append( '    else :   ' )
-PyMoreInit.append( '        DoLoop = 0   ' )
-PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
-PyMoreInit.append( '    print "         index       = ",index   ' )
-PyMoreInit.append( '    print "         min         = ",min   ' )
-PyMoreInit.append( '    print "         max         = ",max   ' )
-PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
-PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
-PyNextInit = []
-PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
-PyNextInit.append( '    index = index + 1  ' )
-PyNextInit.append( '    print "Next --> index      = ",index   ' )
-PyNextInit.append( '    print "         min        = ",min   ' )
-PyNextInit.append( '    print "         max        = ",max   ' )
-PyNextInit.append( '    print "         medfield   = ",medfield   ' )
-PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
-Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
-EndInit.SetName( 'EndInit' )
-EndInit.SetAuthor( 'LD' )
-EndInit.SetComment( 'no comment' )
-EndInit.Coords( 776 , 64 )
-Init.InPort( 'index' , 'long' )
-Init.InPort( 'min' , 'long' )
-Init.InPort( 'max' , 'long' )
-Init.InPort( 'medfield' , 'objref' )
-Init.InPort( 'x1' , 'double' )
-Init.InPort( 'aVisu' , 'objref' )
-Init.InPort( 'aView' , 'objref' )
-Init.OutPort( 'index' , 'long' )
-Init.OutPort( 'min' , 'long' )
-Init.OutPort( 'max' , 'long' )
-Init.OutPort( 'medfield' , 'objref' )
-Init.OutPort( 'x1' , 'double' )
-Init.OutPort( 'aVisu' , 'objref' )
-Init.OutPort( 'aView' , 'objref' )
-Init.SetName( 'Init' )
-Init.SetAuthor( 'LD' )
-Init.SetComment( 'no comment' )
-Init.Coords( 205 , 63 )
-
-# Creation of Links
-InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
-InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
-
-InitDisplayaView = InitDisplay.Port( 'aView' )
-InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
-
-Initindex = Init.Port( 'index' )
-EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
-
-DisplayMedindex = LoopGraph.Link( Initindex , DisplayMed.Port( 'index' ) )
-DisplayMedindex.AddCoord( 1 , 566 , 215 )
-DisplayMedindex.AddCoord( 2 , 566 , 96 )
-
-Initmin = Init.Port( 'min' )
-EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
-
-Initmax = Init.Port( 'max' )
-EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
-
-Initmedfield = Init.Port( 'medfield' )
-Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
-
-Initx1 = Init.Port( 'x1' )
-EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
-
-Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
-
-InitaVisu = Init.Port( 'aVisu' )
-EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
-
-DisplayMedaVisu = LoopGraph.Link( InitaVisu , DisplayMed.Port( 'aVisu' ) )
-DisplayMedaVisu.AddCoord( 1 , 570 , 242 )
-DisplayMedaVisu.AddCoord( 2 , 569 , 263 )
-DisplayMedaVisu.AddCoord( 3 , 377 , 264 )
-DisplayMedaVisu.AddCoord( 4 , 376 , 242 )
-
-InitaView = Init.Port( 'aView' )
-EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
-
-DisplayMedaView = LoopGraph.Link( InitaView , DisplayMed.Port( 'aView' ) )
-
-Mulreturn = Mul.Port( 'return' )
-DisplayMedINmedfield = LoopGraph.Link( Mulreturn , DisplayMed.Port( 'INmedfield' ) )
-
-DisplayMedOUTmedfield = DisplayMed.Port( 'OUTmedfield' )
-EndInitmedfield = LoopGraph.Link( DisplayMedOUTmedfield , EndInit.Port( 'medfield' ) )
-
-# Creation of Input datas
-Initindex = Init.Input( 'index' , 0)
-Initmin = Init.Input( 'min' , 0)
-Initmax = Init.Input( 'max' , 4)
-Initx1 = Init.Input( 'x1' , 2)
-
-# Missing Input datas
-Initmedfield = Init.Port( 'medfield' )
-
-# Creation of Output variables
-EndInitindex = EndInit.Port( 'index' )
-EndInitmin = EndInit.Port( 'min' )
-EndInitmax = EndInit.Port( 'max' )
-EndInitmedfield = EndInit.Port( 'medfield' )
-EndInitx1 = EndInit.Port( 'x1' )
-EndInitaVisu = EndInit.Port( 'aVisu' )
-EndInitaView = EndInit.Port( 'aView' )
+# Graph creation of TestSupervMedfieldLoopForiVisu
+def DefTestSupervMedfieldLoopForiVisu() :
+    TestSupervMedfieldLoopForiVisu = Graph( 'TestSupervMedfieldLoopForiVisu' )
+    TestSupervMedfieldLoopForiVisu.SetName( 'TestSupervMedfieldLoopForiVisu' )
+    TestSupervMedfieldLoopForiVisu.SetAuthor( '' )
+    TestSupervMedfieldLoopForiVisu.SetComment( '' )
+    TestSupervMedfieldLoopForiVisu.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    Mul = TestSupervMedfieldLoopForiVisu.FNode( 'Calculator' , 'Calculator' , 'Mul' )
+    Mul.SetName( 'Mul' )
+    Mul.SetAuthor( 'LD' )
+    Mul.SetContainer( 'localhost/FactoryServer' )
+    Mul.SetComment( 'Multiply a field by a constant' )
+    Mul.Coords( 387 , 104 )
+    IMulfield1 = Mul.GetInPort( 'field1' )
+    IMulx1 = Mul.GetInPort( 'x1' )
+    IMulGate = Mul.GetInPort( 'Gate' )
+    OMulreturn = Mul.GetOutPort( 'return' )
+    OMulGate = Mul.GetOutPort( 'Gate' )
+    
+    # Creation of InLine Nodes
+    PyInitDisplay = []
+    PyInitDisplay.append( 'from LifeCycleCORBA import *   ' )
+    PyInitDisplay.append( 'from VISU import *   ' )
+    PyInitDisplay.append( 'def InitDisplay():   ' )
+    PyInitDisplay.append( '    # initialize the ORB     ' )
+    PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)   ' )
+    PyInitDisplay.append( '    # create an LifeCycleCORBA instance        ' )
+    PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                  ' )
+    PyInitDisplay.append( '    # -----------------------------------------    ' )
+    PyInitDisplay.append( '    # loading visu component                       ' )
+    PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")    ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu    ' )
+    PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()           ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager    ' )
+    PyInitDisplay.append( '    # aView = aViewManager.GetCurrentView()        ' )
+    PyInitDisplay.append( '    aView = aViewManager.Create3DView()             ' )
+    PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView    ' )
+    PyInitDisplay.append( '    return aVisu,aView   ' )
+    InitDisplay = TestSupervMedfieldLoopForiVisu.INode( 'InitDisplay' , PyInitDisplay )
+    InitDisplay.SetName( 'InitDisplay' )
+    InitDisplay.SetAuthor( '' )
+    InitDisplay.SetComment( 'Compute Node' )
+    InitDisplay.Coords( 0 , 163 )
+    IInitDisplayGate = InitDisplay.GetInPort( 'Gate' )
+    OInitDisplayaVisu = InitDisplay.OutPort( 'aVisu' , 'objref' )
+    OInitDisplayaView = InitDisplay.OutPort( 'aView' , 'objref' )
+    OInitDisplayGate = InitDisplay.GetOutPort( 'Gate' )
+    
+    PyDisplayMed = []
+    PyDisplayMed.append( 'import os  ' )
+    PyDisplayMed.append( 'import SALOME_MED  ' )
+    PyDisplayMed.append( 'from VISU import *  ' )
+    PyDisplayMed.append( 'from LifeCycleCORBA import *  ' )
+    PyDisplayMed.append( 'def DisplayMed(medfield,index,aVisu,aView):     ' )
+    PyDisplayMed.append( '    # initialize the ORB                    ' )
+    PyDisplayMed.append( '    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                     ' )
+    PyDisplayMed.append( '    # create an LifeCycleCORBA instance                   ' )
+    PyDisplayMed.append( '    lcc = LifeCycleCORBA(orb)                   ' )
+    PyDisplayMed.append( '    print " "  ' )
+    PyDisplayMed.append( '    print "***************************************************************"  ' )
+    PyDisplayMed.append( '    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ' )
+    PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
+    PyDisplayMed.append( '    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ' )
+    PyDisplayMed.append( '    print "-----> Writing Med field in temporary file : ",medfilename  ' )
+    PyDisplayMed.append( '    calc.writeMEDfile(medfield,medfilename)  ' )
+    PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
+    PyDisplayMed.append( '    print "***************************************************************"  ' )
+    PyDisplayMed.append( '    myResult1   = aVisu.ImportFile(medfilename)  ' )
+    PyDisplayMed.append( '    print "-----> myResult1 = ",myResult1  ' )
+    PyDisplayMed.append( '    field_name = medfield.getName()  ' )
+    PyDisplayMed.append( '    print "-----> field_name = ",field_name  ' )
+    PyDisplayMed.append( '    mesh_name = medfield.getSupport().getMesh().getName()  ' )
+    PyDisplayMed.append( '    print "-----> mesh_name = ",mesh_name  ' )
+    PyDisplayMed.append( '    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ' )
+    PyDisplayMed.append( '    print "-----> aMesh1 = ",aMesh1  ' )
+    PyDisplayMed.append( '    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ' )
+    PyDisplayMed.append( '    print "-----> aScalarMap1 = ",aScalarMap1  ' )
+    PyDisplayMed.append( '    aView.DisplayOnly(aScalarMap1)  ' )
+    PyDisplayMed.append( '    aView.FitAll()  ' )
+    PyDisplayMed.append( '    command = "rm " + medfilename  ' )
+    PyDisplayMed.append( '    os.system(command)  ' )
+    PyDisplayMed.append( '    print "-----> Delete temporary Med file : ",medfilename  ' )
+    PyDisplayMed.append( '    print "***************************************************************"  ' )
+    PyDisplayMed.append( '    print " "  ' )
+    PyDisplayMed.append( '    return medfield ' )
+    DisplayMed = TestSupervMedfieldLoopForiVisu.INode( 'DisplayMed' , PyDisplayMed )
+    DisplayMed.SetName( 'DisplayMed' )
+    DisplayMed.SetAuthor( '' )
+    DisplayMed.SetComment( 'Compute Node' )
+    DisplayMed.Coords( 594 , 105 )
+    IDisplayMedINmedfield = DisplayMed.InPort( 'INmedfield' , 'objref' )
+    IDisplayMedindex = DisplayMed.InPort( 'index' , 'long' )
+    IDisplayMedaVisu = DisplayMed.InPort( 'aVisu' , 'objref' )
+    IDisplayMedaView = DisplayMed.InPort( 'aView' , 'objref' )
+    IDisplayMedGate = DisplayMed.GetInPort( 'Gate' )
+    ODisplayMedOUTmedfield = DisplayMed.OutPort( 'OUTmedfield' , 'objref' )
+    ODisplayMedGate = DisplayMed.GetOutPort( 'Gate' )
+    
+    # Creation of Loop Nodes
+    PyInit = []
+    PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyInit.append( '    if max >= min :  ' )
+    PyInit.append( '          index = min  ' )
+    PyInit.append( '    else : ' )
+    PyInit.append( '        index = max  ' )
+    PyInit.append( '    print "Init --> index      = ",index   ' )
+    PyInit.append( '    print "         min        = ",min   ' )
+    PyInit.append( '    print "         max        = ",max   ' )
+    PyInit.append( '    print "         medfield   = ",medfield   ' )
+    PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+    PyMoreInit = []
+    PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyMoreInit.append( '    if max >= index :   ' )
+    PyMoreInit.append( '        DoLoop = 1   ' )
+    PyMoreInit.append( '    else :   ' )
+    PyMoreInit.append( '        DoLoop = 0   ' )
+    PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
+    PyMoreInit.append( '    print "         index       = ",index   ' )
+    PyMoreInit.append( '    print "         min         = ",min   ' )
+    PyMoreInit.append( '    print "         max         = ",max   ' )
+    PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
+    PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
+    PyNextInit = []
+    PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
+    PyNextInit.append( '    index = index + 1  ' )
+    PyNextInit.append( '    print "Next --> index      = ",index   ' )
+    PyNextInit.append( '    print "         min        = ",min   ' )
+    PyNextInit.append( '    print "         max        = ",max   ' )
+    PyNextInit.append( '    print "         medfield   = ",medfield   ' )
+    PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+    Init,EndInit = TestSupervMedfieldLoopForiVisu.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    EndInit.SetName( 'EndInit' )
+    EndInit.SetAuthor( 'LD' )
+    EndInit.SetComment( 'no comment' )
+    EndInit.Coords( 776 , 64 )
+    PyEndInit = []
+    EndInit.SetPyFunction( '' , PyEndInit )
+    IInitDoLoop = Init.GetInPort( 'DoLoop' )
+    IInitindex = Init.InPort( 'index' , 'long' )
+    IInitmin = Init.InPort( 'min' , 'long' )
+    IInitmax = Init.InPort( 'max' , 'long' )
+    IInitmedfield = Init.InPort( 'medfield' , 'objref' )
+    IInitx1 = Init.InPort( 'x1' , 'double' )
+    IInitaVisu = Init.InPort( 'aVisu' , 'objref' )
+    IInitaView = Init.InPort( 'aView' , 'objref' )
+    IInitGate = Init.GetInPort( 'Gate' )
+    OInitDoLoop = Init.GetOutPort( 'DoLoop' )
+    OInitindex = Init.GetOutPort( 'index' )
+    OInitmin = Init.GetOutPort( 'min' )
+    OInitmax = Init.GetOutPort( 'max' )
+    OInitmedfield = Init.GetOutPort( 'medfield' )
+    OInitx1 = Init.GetOutPort( 'x1' )
+    OInitaVisu = Init.GetOutPort( 'aVisu' )
+    OInitaView = Init.GetOutPort( 'aView' )
+    IEndInitDoLoop = EndInit.GetInPort( 'DoLoop' )
+    IEndInitindex = EndInit.GetInPort( 'index' )
+    IEndInitmin = EndInit.GetInPort( 'min' )
+    IEndInitmax = EndInit.GetInPort( 'max' )
+    IEndInitmedfield = EndInit.GetInPort( 'medfield' )
+    IEndInitx1 = EndInit.GetInPort( 'x1' )
+    IEndInitaVisu = EndInit.GetInPort( 'aVisu' )
+    IEndInitaView = EndInit.GetInPort( 'aView' )
+    IEndInitGate = EndInit.GetInPort( 'Gate' )
+    OEndInitDoLoop = EndInit.GetOutPort( 'DoLoop' )
+    OEndInitindex = EndInit.GetOutPort( 'index' )
+    OEndInitmin = EndInit.GetOutPort( 'min' )
+    OEndInitmax = EndInit.GetOutPort( 'max' )
+    OEndInitmedfield = EndInit.GetOutPort( 'medfield' )
+    OEndInitx1 = EndInit.GetOutPort( 'x1' )
+    OEndInitaVisu = EndInit.GetOutPort( 'aVisu' )
+    OEndInitaView = EndInit.GetOutPort( 'aView' )
+    OEndInitGate = EndInit.GetOutPort( 'Gate' )
+    Init.SetName( 'Init' )
+    Init.SetAuthor( 'LD' )
+    Init.SetComment( 'no comment' )
+    Init.Coords( 205 , 63 )
+    
+    # Creation of Links
+    LInitDisplayaVisuInitaVisu = TestSupervMedfieldLoopForiVisu.Link( OInitDisplayaVisu , IInitaVisu )
+    
+    LInitDisplayaViewInitaView = TestSupervMedfieldLoopForiVisu.Link( OInitDisplayaView , IInitaView )
+    
+    LInitindexEndInitindex = TestSupervMedfieldLoopForiVisu.Link( OInitindex , IEndInitindex )
+    
+    LInitindexDisplayMedindex = TestSupervMedfieldLoopForiVisu.Link( OInitindex , IDisplayMedindex )
+    LInitindexDisplayMedindex.AddCoord( 1 , 566 , 215 )
+    LInitindexDisplayMedindex.AddCoord( 2 , 566 , 96 )
+    
+    LInitminEndInitmin = TestSupervMedfieldLoopForiVisu.Link( OInitmin , IEndInitmin )
+    
+    LInitmaxEndInitmax = TestSupervMedfieldLoopForiVisu.Link( OInitmax , IEndInitmax )
+    
+    LInitmedfieldMulfield1 = TestSupervMedfieldLoopForiVisu.Link( OInitmedfield , IMulfield1 )
+    
+    LInitx1EndInitx1 = TestSupervMedfieldLoopForiVisu.Link( OInitx1 , IEndInitx1 )
+    
+    LInitx1Mulx1 = TestSupervMedfieldLoopForiVisu.Link( OInitx1 , IMulx1 )
+    
+    LInitaVisuEndInitaVisu = TestSupervMedfieldLoopForiVisu.Link( OInitaVisu , IEndInitaVisu )
+    
+    LInitaVisuDisplayMedaVisu = TestSupervMedfieldLoopForiVisu.Link( OInitaVisu , IDisplayMedaVisu )
+    LInitaVisuDisplayMedaVisu.AddCoord( 1 , 570 , 242 )
+    LInitaVisuDisplayMedaVisu.AddCoord( 2 , 569 , 263 )
+    LInitaVisuDisplayMedaVisu.AddCoord( 3 , 377 , 264 )
+    LInitaVisuDisplayMedaVisu.AddCoord( 4 , 376 , 242 )
+    
+    LInitaViewEndInitaView = TestSupervMedfieldLoopForiVisu.Link( OInitaView , IEndInitaView )
+    
+    LInitaViewDisplayMedaView = TestSupervMedfieldLoopForiVisu.Link( OInitaView , IDisplayMedaView )
+    
+    LMulreturnDisplayMedINmedfield = TestSupervMedfieldLoopForiVisu.Link( OMulreturn , IDisplayMedINmedfield )
+    
+    LDisplayMedOUTmedfieldEndInitmedfield = TestSupervMedfieldLoopForiVisu.Link( ODisplayMedOUTmedfield , IEndInitmedfield )
+    
+    # Input datas
+    IInitindex.Input( 0 )
+    IInitmin.Input( 0 )
+    IInitmax.Input( 4 )
+    IInitx1.Input( 2 )
+    
+    # Input Ports of the graph
+    #IInitmedfield = Init.GetInPort( 'medfield' )
+    
+    # Output Ports of the graph
+    #OEndInitindex = EndInit.GetOutPort( 'index' )
+    #OEndInitmin = EndInit.GetOutPort( 'min' )
+    #OEndInitmax = EndInit.GetOutPort( 'max' )
+    #OEndInitmedfield = EndInit.GetOutPort( 'medfield' )
+    #OEndInitx1 = EndInit.GetOutPort( 'x1' )
+    #OEndInitaVisu = EndInit.GetOutPort( 'aVisu' )
+    #OEndInitaView = EndInit.GetOutPort( 'aView' )
+    return TestSupervMedfieldLoopForiVisu
+
+
+TestSupervMedfieldLoopForiVisu = DefTestSupervMedfieldLoopForiVisu()
index 569f0f73991dae5e8eacc5309d3cd14f6cadf652..9604a66a1d4be7619c0ad512bb76e1b5899b2d30 100755 (executable)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>LoopGraph</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>LoopGraph</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>TestSupervMedfieldLoopForiVisu</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>LoopGraph_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>Init\medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Init__x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndInit\max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>EndInit\x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndInit__aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndInit\aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>20/6/2003 - 15:13:42</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>EndInit__aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>20/6/2003 - 15:13:42</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</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>InitDisplay</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitDisplay</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>InitDisplay</service-name>
-    <inParameter-list/>
-    <outParameter-list>
+     <inParameter-list/>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitDisplay</FuncName>
-     <PyFunc><![CDATA[from LifeCycleCORBA import *  ]]></PyFunc>
-     <PyFunc><![CDATA[from VISU import *  ]]></PyFunc>
-     <PyFunc><![CDATA[def InitDisplay():  ]]></PyFunc>
-     <PyFunc><![CDATA[    # initialize the ORB    ]]></PyFunc>
-     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ]]></PyFunc>
-     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance       ]]></PyFunc>
-     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                 ]]></PyFunc>
-     <PyFunc><![CDATA[    # -----------------------------------------   ]]></PyFunc>
-     <PyFunc><![CDATA[    # loading visu component                      ]]></PyFunc>
-     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu")   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu   ]]></PyFunc>
-     <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()          ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager   ]]></PyFunc>
-     <PyFunc><![CDATA[    # aView = aViewManager.GetCurrentView()       ]]></PyFunc>
-     <PyFunc><![CDATA[    aView = aViewManager.Create3DView()            ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView   ]]></PyFunc>
-     <PyFunc><![CDATA[    return aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:10:16</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>0</x-position>
-   <y-position>163</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *   ]]></PyFunc>
+      <PyFunc><![CDATA[from VISU import *   ]]></PyFunc>
+      <PyFunc><![CDATA[def InitDisplay():   ]]></PyFunc>
+      <PyFunc><![CDATA[    # initialize the ORB     ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)   ]]></PyFunc>
+      <PyFunc><![CDATA[    # create an LifeCycleCORBA instance        ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                  ]]></PyFunc>
+      <PyFunc><![CDATA[    # -----------------------------------------    ]]></PyFunc>
+      <PyFunc><![CDATA[    # loading visu component                       ]]></PyFunc>
+      <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")    ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu    ]]></PyFunc>
+      <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()           ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager    ]]></PyFunc>
+      <PyFunc><![CDATA[    # aView = aViewManager.GetCurrentView()        ]]></PyFunc>
+      <PyFunc><![CDATA[    aView = aViewManager.Create3DView()             ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView    ]]></PyFunc>
+      <PyFunc><![CDATA[    return aVisu,aView   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:52:51</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>0</x-position>
+    <y-position>163</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Init</node-name>
-   <kind>4</kind>
-   <coupled-node>EndInit</coupled-node>
-   <service>
+    <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-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>aView</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Init</FuncName>
-     <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
-     <PyFunc><![CDATA[        index = min  ]]></PyFunc>
-     <PyFunc><![CDATA[    else : ]]></PyFunc>
-     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
+      <PyFunc><![CDATA[               index = min  ]]></PyFunc>
+      <PyFunc><![CDATA[    else : ]]></PyFunc>
+      <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>More</FuncName>
-     <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
-     <PyFunc><![CDATA[    else :   ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+      <PyFunc><![CDATA[    else :   ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>Next</FuncName>
-     <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
-     <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:10:16</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>?</container>
-   <comment>no comment</comment>
-   <x-position>205</x-position>
-   <y-position>63</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+      <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:52:51</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>?</container>
+    <comment>no comment</comment>
+    <x-position>205</x-position>
+    <y-position>63</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>
+    <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-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>medfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>medfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>x1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>aView</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>medfield</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>medfield</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>x1</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:10:16</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>?</container>
-   <comment>no comment</comment>
-   <x-position>776</x-position>
-   <y-position>64</y-position>  </node>
-  <node>
+       <outParameter-name>aView</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:52:51</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>?</container>
+    <comment>no comment</comment>
+    <x-position>776</x-position>
+    <y-position>64</y-position>   </node>
+   <node>
 <component-name>Calculator</component-name>
-   <interface-name>Calculator</interface-name>
-   <node-name>Mul</node-name>
-   <kind>0</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>Calculator</interface-name>
+    <node-name>Mul</node-name>
+    <kind>0</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>Mul</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>field1</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>field1</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>19/9/2003 - 16:10:16</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>LD</author>
-   <container>localhost/FactoryServer</container>
-   <comment>Multiply a field by a constant</comment>
-   <x-position>387</x-position>
-   <y-position>104</y-position>  </node>
-  <node>
+       <outParameter-name>return</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>8/4/2005 - 13:52:51</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>LD</author>
+    <container>localhost/FactoryServer</container>
+    <comment>Multiply a field by a constant</comment>
+    <x-position>387</x-position>
+    <y-position>104</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>DisplayMed</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>DisplayMed</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>DisplayMed</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>INmedfield</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>INmedfield</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>aView</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>OUTmedfield</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>OUTmedfield</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>DisplayMed</FuncName>
-     <PyFunc><![CDATA[import os  ]]></PyFunc>
-     <PyFunc><![CDATA[import SALOME_MED  ]]></PyFunc>
-     <PyFunc><![CDATA[from VISU import *  ]]></PyFunc>
-     <PyFunc><![CDATA[from LifeCycleCORBA import *  ]]></PyFunc>
-     <PyFunc><![CDATA[def DisplayMed(medfield,index,aVisu,aView):     ]]></PyFunc>
-     <PyFunc><![CDATA[    # initialize the ORB                    ]]></PyFunc>
-     <PyFunc><![CDATA[    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                         ]]></PyFunc>
-     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance                   ]]></PyFunc>
-     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                   ]]></PyFunc>
-     <PyFunc><![CDATA[    print " "  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
-     <PyFunc><![CDATA[    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
-     <PyFunc><![CDATA[    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> Writing Med field in temporary file : ",medfilename  ]]></PyFunc>
-     <PyFunc><![CDATA[    calc.writeMEDfile(medfield,medfilename)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
-     <PyFunc><![CDATA[    myResult1   = aVisu.ImportFile(medfilename)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> myResult1 = ",myResult1  ]]></PyFunc>
-     <PyFunc><![CDATA[    field_name = medfield.getName()  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> field_name = ",field_name  ]]></PyFunc>
-     <PyFunc><![CDATA[    mesh_name = medfield.getSupport().getMesh().getName()  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> mesh_name = ",mesh_name  ]]></PyFunc>
-     <PyFunc><![CDATA[    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> aMesh1 = ",aMesh1  ]]></PyFunc>
-     <PyFunc><![CDATA[    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> aScalarMap1 = ",aScalarMap1  ]]></PyFunc>
-     <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    aView.FitAll()  ]]></PyFunc>
-     <PyFunc><![CDATA[    command = "rm " + medfilename  ]]></PyFunc>
-     <PyFunc><![CDATA[    os.system(command)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "-----> Delete temporary Med file : ",medfilename  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
-     <PyFunc><![CDATA[    print " "  ]]></PyFunc>
-     <PyFunc><![CDATA[    return medfield ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/9/2003 - 16:10:16</creation-date>
-   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>594</x-position>
-   <y-position>105</y-position>  </node> </node-list>
- <link-list>
+      <PyFunc><![CDATA[import os  ]]></PyFunc>
+      <PyFunc><![CDATA[import SALOME_MED  ]]></PyFunc>
+      <PyFunc><![CDATA[from VISU import *  ]]></PyFunc>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *  ]]></PyFunc>
+      <PyFunc><![CDATA[def DisplayMed(medfield,index,aVisu,aView):     ]]></PyFunc>
+      <PyFunc><![CDATA[    # initialize the ORB                    ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                        ]]></PyFunc>
+      <PyFunc><![CDATA[    # create an LifeCycleCORBA instance                   ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                   ]]></PyFunc>
+      <PyFunc><![CDATA[    print " "  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+      <PyFunc><![CDATA[    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
+      <PyFunc><![CDATA[    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> Writing Med field in temporary file : ",medfilename  ]]></PyFunc>
+      <PyFunc><![CDATA[    calc.writeMEDfile(medfield,medfilename)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+      <PyFunc><![CDATA[    myResult1   = aVisu.ImportFile(medfilename)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> myResult1 = ",myResult1  ]]></PyFunc>
+      <PyFunc><![CDATA[    field_name = medfield.getName()  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> field_name = ",field_name  ]]></PyFunc>
+      <PyFunc><![CDATA[    mesh_name = medfield.getSupport().getMesh().getName()  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> mesh_name = ",mesh_name  ]]></PyFunc>
+      <PyFunc><![CDATA[    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> aMesh1 = ",aMesh1  ]]></PyFunc>
+      <PyFunc><![CDATA[    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> aScalarMap1 = ",aScalarMap1  ]]></PyFunc>
+      <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    aView.FitAll()  ]]></PyFunc>
+      <PyFunc><![CDATA[    command = "rm " + medfilename  ]]></PyFunc>
+      <PyFunc><![CDATA[    os.system(command)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "-----> Delete temporary Med file : ",medfilename  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+      <PyFunc><![CDATA[    print " "  ]]></PyFunc>
+      <PyFunc><![CDATA[    return medfield ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 13:52:51</creation-date>
+    <lastmodification-date>8/4/2005 - 13:52:51</lastmodification-date>
+    <editor-release>1.04</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>594</x-position>
+    <y-position>105</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <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>
+    <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>
+    <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>DisplayMed</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>index</fromserviceparameter-name>
+    <tonode-name>DisplayMed</tonode-name>
+    <toserviceparameter-name>index</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>566</x>
-     <y>215</y>    </coord>
-    <coord>
+      <y>215</y>     </coord>
+     <coord>
 <x>566</x>
-     <y>96</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>96</y>     </coord>    </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>
+    <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>
+    <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>medfield</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>field1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>medfield</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>field1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>Mul</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>Mul</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>DisplayMed</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>DisplayMed</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>570</x>
-     <y>242</y>    </coord>
-    <coord>
+      <y>242</y>     </coord>
+     <coord>
 <x>569</x>
-     <y>263</y>    </coord>
-    <coord>
+      <y>263</y>     </coord>
+     <coord>
 <x>377</x>
-     <y>264</y>    </coord>
-    <coord>
+      <y>264</y>     </coord>
+     <coord>
 <x>376</x>
-     <y>242</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>242</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>DisplayMed</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>DisplayMed</tonode-name>
+    <toserviceparameter-name>aView</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>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>205</x>
-     <y>233</y>    </coord>
-    <coord>
+      <y>233</y>     </coord>
+     <coord>
 <x>204</x>
-     <y>21</y>    </coord>
-    <coord>
+      <y>21</y>     </coord>
+     <coord>
 <x>936</x>
-     <y>20</y>    </coord>
-    <coord>
+      <y>20</y>     </coord>
+     <coord>
 <x>935</x>
-     <y>235</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>235</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Mul</fromnode-name>
-   <fromserviceparameter-name>return</fromserviceparameter-name>
-   <tonode-name>DisplayMed</tonode-name>
-   <toserviceparameter-name>INmedfield</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>return</fromserviceparameter-name>
+    <tonode-name>DisplayMed</tonode-name>
+    <toserviceparameter-name>INmedfield</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>DisplayMed</fromnode-name>
-   <fromserviceparameter-name>OUTmedfield</fromserviceparameter-name>
-   <tonode-name>EndInit</tonode-name>
-   <toserviceparameter-name>medfield</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
- <data-list>
+    <fromserviceparameter-name>OUTmedfield</fromserviceparameter-name>
+    <tonode-name>EndInit</tonode-name>
+    <toserviceparameter-name>medfield</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <data-value>
+<fromnode-name>TestSupervMedfieldLoopForiVisu</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>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>min</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopForiVisu</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>0</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>max</toserviceparameter-name>
-   <data-value>
+     <value>0</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopForiVisu</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>4</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>LoopGraph</fromnode-name>
-   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <data-value>
+     <value>4</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestSupervMedfieldLoopForiVisu</fromnode-name>
+    <fromserviceparameter-name>Init__x1</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <data-value>
 <value-type>7</value-type>
-    <value>2</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>2</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index bfb5866ebf1da995fb021ac37451481ff0be510b..532ee483a37e3873a88da32c69780d9074934073 100644 (file)
-<!DOCTYPE Dataflow>
+<!DOCTYPE SuperGraph>
+<supergraph>
 <dataflow>
 <info-list>
 <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>aNewDataFlow</node-name>
-   <kind>1</kind>
-   <coupled-node>?</coupled-node>
-   <service>
-<service-name>aNewDataFlow</service-name>
-    <inParameter-list>
+    <interface-name>?</interface-name>
+    <node-name>TestVisu20</node-name>
+    <kind>1</kind>
+    <coupled-node>?</coupled-node>
+    <service>
+<service-name>aNewDataFlow_1</service-name>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Init\max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>Init__max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>Init__x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInit\index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInit\min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>EndOfInit\max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndOfInit\aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndOfInit\aView</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__aView</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>EndOfInit\aResult</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>EndOfInit__aResult</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>EndOfInit\x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>13/11/2003 - 11:15:53</creation-date>
-   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </info-list>
- <node-list>
+       <outParameter-name>EndOfInit__x1</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list/>
+    <creation-date>13/11/2003 - 11:15:53</creation-date>
+    <lastmodification-date>8/4/2005 - 14:3:47</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</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>InitDisplay</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>InitDisplay</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>InitDisplay</service-name>
-    <inParameter-list/>
-    <outParameter-list>
+     <inParameter-list/>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aView</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>myResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>myResult</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>InitDisplay</FuncName>
-     <PyFunc><![CDATA[import os         ]]></PyFunc>
-     <PyFunc><![CDATA[import time         ]]></PyFunc>
-     <PyFunc><![CDATA[from LifeCycleCORBA import *      ]]></PyFunc>
-     <PyFunc><![CDATA[from SALOME_NamingServicePy import *      ]]></PyFunc>
-     <PyFunc><![CDATA[import SALOMEDS      ]]></PyFunc>
-     <PyFunc><![CDATA[from VISU import *      ]]></PyFunc>
-     <PyFunc><![CDATA[def InitDisplay():         ]]></PyFunc>
-     <PyFunc><![CDATA[    #  --- initialize the ORB        ]]></PyFunc>
-     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)      ]]></PyFunc>
-     <PyFunc><![CDATA[    # --- create a LifeCycleCORBA instance           ]]></PyFunc>
-     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                     ]]></PyFunc>
-     <PyFunc><![CDATA[    # --- create a naming service instance              ]]></PyFunc>
-     <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)    ]]></PyFunc>
-     <PyFunc><![CDATA[    # --- get Study Manager reference                     ]]></PyFunc>
-     <PyFunc><![CDATA[    obj = naming_service.Resolve('myStudyManager')    ]]></PyFunc>
-     <PyFunc><![CDATA[    StudyManager = obj._narrow(SALOMEDS.StudyManager)    ]]></PyFunc>
-     <PyFunc><![CDATA[    # --- load visu component                          ]]></PyFunc>
-     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")       ]]></PyFunc>
-     <PyFunc><![CDATA[    aStudy = StudyManager.GetStudyByID(1)      ]]></PyFunc>
-     <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)      ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu         ]]></PyFunc>
-     <PyFunc><![CDATA[    time.sleep(2)         ]]></PyFunc>
-     <PyFunc><![CDATA[    aViewManager=aVisu.GetViewManager()         ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager ", aViewManager         ]]></PyFunc>
-     <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
-     <PyFunc><![CDATA[    #aView=aViewManager.GetCurrentView()         ]]></PyFunc>
-     <PyFunc><![CDATA[    aView=aViewManager.Create3DView()         ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> aView ", aView         ]]></PyFunc>
-     <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
-     <PyFunc><![CDATA[    medFile = "TimeStamps.med"       ]]></PyFunc>
-     <PyFunc><![CDATA[    medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile       ]]></PyFunc>
-     <PyFunc><![CDATA[    myResult = aVisu.ImportFile(medFile)       ]]></PyFunc>
-     <PyFunc><![CDATA[    print "InitDisplay --> myResult ", myResult         ]]></PyFunc>
-     <PyFunc><![CDATA[    return aVisu,aView,myResult       ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/1/2004 - 15:33:34</creation-date>
-   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>0</x-position>
-   <y-position>46</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[import os         ]]></PyFunc>
+      <PyFunc><![CDATA[import time         ]]></PyFunc>
+      <PyFunc><![CDATA[from LifeCycleCORBA import *      ]]></PyFunc>
+      <PyFunc><![CDATA[from SALOME_NamingServicePy import *      ]]></PyFunc>
+      <PyFunc><![CDATA[import SALOMEDS      ]]></PyFunc>
+      <PyFunc><![CDATA[from VISU import *      ]]></PyFunc>
+      <PyFunc><![CDATA[def InitDisplay():         ]]></PyFunc>
+      <PyFunc><![CDATA[    #  --- initialize the ORB        ]]></PyFunc>
+      <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)      ]]></PyFunc>
+      <PyFunc><![CDATA[    # --- create a LifeCycleCORBA instance           ]]></PyFunc>
+      <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                     ]]></PyFunc>
+      <PyFunc><![CDATA[    # --- create a naming service instance              ]]></PyFunc>
+      <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)    ]]></PyFunc>
+      <PyFunc><![CDATA[    # --- get Study Manager reference                     ]]></PyFunc>
+      <PyFunc><![CDATA[    obj = naming_service.Resolve('myStudyManager')    ]]></PyFunc>
+      <PyFunc><![CDATA[    StudyManager = obj._narrow(SALOMEDS.StudyManager)    ]]></PyFunc>
+      <PyFunc><![CDATA[    # --- load visu component                          ]]></PyFunc>
+      <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")       ]]></PyFunc>
+      <PyFunc><![CDATA[    aStudy = StudyManager.GetStudyByID(1)      ]]></PyFunc>
+      <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)      ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu         ]]></PyFunc>
+      <PyFunc><![CDATA[    time.sleep(2)         ]]></PyFunc>
+      <PyFunc><![CDATA[    aViewManager=aVisu.GetViewManager()         ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aViewManager ", aViewManager         ]]></PyFunc>
+      <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
+      <PyFunc><![CDATA[    #aView=aViewManager.GetCurrentView()         ]]></PyFunc>
+      <PyFunc><![CDATA[    aView=aViewManager.Create3DView()         ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> aView ", aView         ]]></PyFunc>
+      <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
+      <PyFunc><![CDATA[    medFile = "TimeStamps.med"       ]]></PyFunc>
+      <PyFunc><![CDATA[    medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile       ]]></PyFunc>
+      <PyFunc><![CDATA[    myResult = aVisu.ImportFile(medFile)       ]]></PyFunc>
+      <PyFunc><![CDATA[    print "InitDisplay --> myResult ", myResult         ]]></PyFunc>
+      <PyFunc><![CDATA[    return aVisu,aView,myResult       ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 14:3:47</creation-date>
+    <lastmodification-date>8/4/2005 - 14:3:47</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>0</x-position>
+    <y-position>46</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>Init</node-name>
-   <kind>4</kind>
-   <coupled-node>EndOfInit</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>Init</node-name>
+    <kind>4</kind>
+    <coupled-node>EndOfInit</coupled-node>
+    <service>
 <service-name>Init</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aView</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aResult</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aResult</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aView</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aResult</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aResult</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>x1</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>Init</FuncName>
-     <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= min :   ]]></PyFunc>
-     <PyFunc><![CDATA[        index = min      ]]></PyFunc>
-     <PyFunc><![CDATA[    else :     ]]></PyFunc>
-     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1  ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= min :   ]]></PyFunc>
+      <PyFunc><![CDATA[        index = min      ]]></PyFunc>
+      <PyFunc><![CDATA[    else :     ]]></PyFunc>
+      <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1  ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>More</FuncName>
-     <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
-     <PyFunc><![CDATA[    if max >= index :       ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 1       ]]></PyFunc>
-     <PyFunc><![CDATA[    else :       ]]></PyFunc>
-     <PyFunc><![CDATA[        DoLoop = 0       ]]></PyFunc>
-     <PyFunc><![CDATA[    print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
-     <PyFunc><![CDATA[    return DoLoop,index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>
-    <PyFunction>
+      <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+      <PyFunc><![CDATA[    if max >= index :       ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 1       ]]></PyFunc>
+      <PyFunc><![CDATA[    else :       ]]></PyFunc>
+      <PyFunc><![CDATA[        DoLoop = 0       ]]></PyFunc>
+      <PyFunc><![CDATA[    print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+      <PyFunc><![CDATA[    return DoLoop,index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>     </PyFunction>
+     <PyFunction>
 <FuncName>Next</FuncName>
-     <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
-     <PyFunc><![CDATA[    index = index + 1 ]]></PyFunc>
-     <PyFunc><![CDATA[    x1=x1+1.0 ]]></PyFunc>
-     <PyFunc><![CDATA[    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>
-     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/1/2004 - 15:33:34</creation-date>
-   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>190</x-position>
-   <y-position>4</y-position>  </node>
-  <node>
+      <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+      <PyFunc><![CDATA[    index = index + 1 ]]></PyFunc>
+      <PyFunc><![CDATA[    x1=x1+1.0 ]]></PyFunc>
+      <PyFunc><![CDATA[    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>
+      <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 14:3:47</creation-date>
+    <lastmodification-date>8/4/2005 - 14:3:47</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>190</x-position>
+    <y-position>4</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>EndOfInit</node-name>
-   <kind>5</kind>
-   <coupled-node>Init</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>EndOfInit</node-name>
+    <kind>5</kind>
+    <coupled-node>Init</coupled-node>
+    <service>
 <service-name>EndOfInit</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>min</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>min</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>max</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>max</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aView</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aResult</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aResult</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>index</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>index</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>min</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>min</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>max</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>max</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aVisu</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aVisu</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aView</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aView</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>aResult</outParameter-name>     </outParameter>
-     <outParameter>
+       <outParameter-name>aResult</outParameter-name>      </outParameter>
+      <outParameter>
 <outParameter-type>double</outParameter-type>
-      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>19/1/2004 - 15:33:34</creation-date>
-   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>?</comment>
-   <x-position>553</x-position>
-   <y-position>5</y-position>  </node>
-  <node>
+       <outParameter-name>x1</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 14:3:47</creation-date>
+    <lastmodification-date>8/4/2005 - 14:3:47</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>553</x-position>
+    <y-position>5</y-position>   </node>
+   <node>
 <component-name>?</component-name>
-   <interface-name>?</interface-name>
-   <node-name>DisplayVitesse</node-name>
-   <kind>3</kind>
-   <coupled-node>?</coupled-node>
-   <service>
+    <interface-name>?</interface-name>
+    <node-name>DisplayVitesse</node-name>
+    <kind>3</kind>
+    <coupled-node>?</coupled-node>
+    <service>
 <service-name>DisplayVitesse</service-name>
-    <inParameter-list>
+     <inParameter-list>
 <inParameter>
 <inParameter-type>string</inParameter-type>
-      <inParameter-name>index</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>index</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aVisu</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aVisu</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aView</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aView</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>objref</inParameter-type>
-      <inParameter-name>aResult</inParameter-name>     </inParameter>
-     <inParameter>
+       <inParameter-name>aResult</inParameter-name>      </inParameter>
+      <inParameter>
 <inParameter-type>double</inParameter-type>
-      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
-    <outParameter-list>
+       <inParameter-name>x1</inParameter-name>      </inParameter>     </inParameter-list>
+     <outParameter-list>
 <outParameter>
 <outParameter-type>objref</outParameter-type>
-      <outParameter-name>theResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
-   <PyFunction-list>
+       <outParameter-name>theResult</outParameter-name>      </outParameter>     </outParameter-list>    </service>
+    <DataStream-list/>
+    <PyFunction-list>
 <PyFunction>
 <FuncName>DisplayVitesse</FuncName>
-     <PyFunc><![CDATA[import VISU                               ]]></PyFunc>
-     <PyFunc><![CDATA[import os                               ]]></PyFunc>
-     <PyFunc><![CDATA[import time                               ]]></PyFunc>
-     <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1):                          ]]></PyFunc>
-     <PyFunc><![CDATA[    print "----- Display 1 index = ", index,aVisu,aView,aResult,x1                    ]]></PyFunc>
-     <PyFunc><![CDATA[    aMeshName ="dom"                               ]]></PyFunc>
-     <PyFunc><![CDATA[    myFieldName = "vitesse"                     ]]></PyFunc>
-     <PyFunc><![CDATA[    anEntity = VISU.NODE                               ]]></PyFunc>
-     <PyFunc><![CDATA[    aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity)     ]]></PyFunc>
-     <PyFunc><![CDATA[    print "----- Display 2 ", aMesh                 ]]></PyFunc>
-     <PyFunc><![CDATA[    aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1)  ]]></PyFunc>
-     <PyFunc><![CDATA[    print "----- Display 4"                         ]]></PyFunc>
-     <PyFunc><![CDATA[    if aScalarMap is not None:                               ]]></PyFunc>
-     <PyFunc><![CDATA[        aScalarMap.SetScaling(VISU.LINEAR)                               ]]></PyFunc>
-     <PyFunc><![CDATA[    else:                               ]]></PyFunc>
-     <PyFunc><![CDATA[        print "Null scalar map is created"                               ]]></PyFunc>
-     <PyFunc><![CDATA[    print "----- Display 5"           ]]></PyFunc>
-     <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap)                               ]]></PyFunc>
-     <PyFunc><![CDATA[    aView.FitAll()                               ]]></PyFunc>
-     <PyFunc><![CDATA[    aView.Update()                              ]]></PyFunc>
-     <PyFunc><![CDATA[    print "----- Display 6"                         ]]></PyFunc>
-     <PyFunc><![CDATA[    theResult=aResult                           ]]></PyFunc>
-     <PyFunc><![CDATA[    #time.sleep(2)                   ]]></PyFunc>
-     <PyFunc><![CDATA[    return theResult                    ]]></PyFunc>
-     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>19/1/2004 - 15:33:34</creation-date>
-   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
-   <editor-release>1.05</editor-release>
-   <author>?</author>
-   <container>?</container>
-   <comment>Compute Node</comment>
-   <x-position>374</x-position>
-   <y-position>16</y-position>  </node> </node-list>
- <link-list>
+      <PyFunc><![CDATA[import VISU                               ]]></PyFunc>
+      <PyFunc><![CDATA[import os                               ]]></PyFunc>
+      <PyFunc><![CDATA[import time                               ]]></PyFunc>
+      <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1):                          ]]></PyFunc>
+      <PyFunc><![CDATA[    print "----- Display 1 index = ", index,aVisu,aView,aResult,x1                    ]]></PyFunc>
+      <PyFunc><![CDATA[    aMeshName ="dom"                               ]]></PyFunc>
+      <PyFunc><![CDATA[    myFieldName = "vitesse"                     ]]></PyFunc>
+      <PyFunc><![CDATA[    anEntity = VISU.NODE                               ]]></PyFunc>
+      <PyFunc><![CDATA[    aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity)     ]]></PyFunc>
+      <PyFunc><![CDATA[    print "----- Display 2 ", aMesh                 ]]></PyFunc>
+      <PyFunc><![CDATA[    aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    print "----- Display 4"                         ]]></PyFunc>
+      <PyFunc><![CDATA[    if aScalarMap is not None:                               ]]></PyFunc>
+      <PyFunc><![CDATA[        aScalarMap.SetScaling(VISU.LINEAR)                               ]]></PyFunc>
+      <PyFunc><![CDATA[    else:                               ]]></PyFunc>
+      <PyFunc><![CDATA[        print "Null scalar map is created"                               ]]></PyFunc>
+      <PyFunc><![CDATA[    print "----- Display 5"           ]]></PyFunc>
+      <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap)                               ]]></PyFunc>
+      <PyFunc><![CDATA[    aView.FitAll()                               ]]></PyFunc>
+      <PyFunc><![CDATA[    aView.Update()                              ]]></PyFunc>
+      <PyFunc><![CDATA[    print "----- Display 6"                         ]]></PyFunc>
+      <PyFunc><![CDATA[    theResult=aResult                           ]]></PyFunc>
+      <PyFunc><![CDATA[    #time.sleep(2)                   ]]></PyFunc>
+      <PyFunc><![CDATA[    return theResult                    ]]></PyFunc>
+      <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>8/4/2005 - 14:3:47</creation-date>
+    <lastmodification-date>8/4/2005 - 14:3:47</lastmodification-date>
+    <editor-release>1.05</editor-release>
+    <author>?</author>
+    <container>?</container>
+    <comment>Compute Node</comment>
+    <x-position>374</x-position>
+    <y-position>16</y-position>   </node>  </node-list>
 <link-list>
 <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>InitDisplay</fromnode-name>
-   <fromserviceparameter-name>myResult</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>aResult</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>myResult</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>aResult</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>index</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>index</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>index</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>index</fromserviceparameter-name>
-   <tonode-name>DisplayVitesse</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>index</fromserviceparameter-name>
+    <tonode-name>DisplayVitesse</tonode-name>
+    <toserviceparameter-name>index</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>351</x>
-     <y>96</y>    </coord>
-    <coord>
+      <y>96</y>     </coord>
+     <coord>
 <x>350</x>
-     <y>38</y>    </coord>   </coord-list>  </link>
-  <link>
+      <y>38</y>     </coord>    </coord-list>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>min</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>min</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>min</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>min</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>max</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>max</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>max</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>max</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
-   <tonode-name>DisplayVitesse</tonode-name>
-   <toserviceparameter-name>aVisu</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+    <tonode-name>DisplayVitesse</tonode-name>
+    <toserviceparameter-name>aVisu</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aView</fromserviceparameter-name>
-   <tonode-name>DisplayVitesse</tonode-name>
-   <toserviceparameter-name>aView</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aView</fromserviceparameter-name>
+    <tonode-name>DisplayVitesse</tonode-name>
+    <toserviceparameter-name>aView</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>aResult</fromserviceparameter-name>
-   <tonode-name>DisplayVitesse</tonode-name>
-   <toserviceparameter-name>aResult</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>aResult</fromserviceparameter-name>
+    <tonode-name>DisplayVitesse</tonode-name>
+    <toserviceparameter-name>aResult</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>Init</fromnode-name>
-   <fromserviceparameter-name>x1</fromserviceparameter-name>
-   <tonode-name>DisplayVitesse</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>x1</fromserviceparameter-name>
+    <tonode-name>DisplayVitesse</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>EndOfInit</fromnode-name>
-   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>DoLoop</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
+    <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>DoLoop</toserviceparameter-name>
+    <coord-list/>   </link>
+   <link>
 <fromnode-name>DisplayVitesse</fromnode-name>
-   <fromserviceparameter-name>theResult</fromserviceparameter-name>
-   <tonode-name>EndOfInit</tonode-name>
-   <toserviceparameter-name>aResult</toserviceparameter-name>
-   <coord-list>
+    <fromserviceparameter-name>theResult</fromserviceparameter-name>
+    <tonode-name>EndOfInit</tonode-name>
+    <toserviceparameter-name>aResult</toserviceparameter-name>
+    <coord-list>
 <coord>
 <x>548</x>
-     <y>183</y>    </coord>
-    <coord>
+      <y>183</y>     </coord>
+     <coord>
 <x>548</x>
-     <y>97</y>    </coord>   </coord-list>  </link> </link-list>
- <data-list>
+      <y>97</y>     </coord>    </coord-list>   </link>  </link-list>
 <data-list>
 <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
-   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>index</toserviceparameter-name>
-   <data-value>
+<fromnode-name>TestVisu20</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>1</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
-   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>min</toserviceparameter-name>
-   <data-value>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestVisu20</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>1</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
-   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>max</toserviceparameter-name>
-   <data-value>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestVisu20</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>100</value>   </data-value>
-   <coord-list/>  </data>
-  <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
-   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
-   <tonode-name>Init</tonode-name>
-   <toserviceparameter-name>x1</toserviceparameter-name>
-   <data-value>
+     <value>100</value>    </data-value>
+    <coord-list/>   </data>
+   <data>
+<fromnode-name>TestVisu20</fromnode-name>
+    <fromserviceparameter-name>Init__x1</fromserviceparameter-name>
+    <tonode-name>Init</tonode-name>
+    <toserviceparameter-name>x1</toserviceparameter-name>
+    <data-value>
 <value-type>7</value-type>
-    <value>1</value>   </data-value>
-   <coord-list/>  </data> </data-list></dataflow>
+     <value>1</value>    </data-value>
+    <coord-list/>   </data>  </data-list> </dataflow></supergraph>
index b83273ae0eb59f31d20d8cff9591f5abd854e396..55c5c67662850c3e7cec86b39d9829d63b6edae3 100644 (file)
@@ -1,15 +1,15 @@
 
-# Generated python file of Graph aNewDataFlow
+# Generated python file of Graph TestVisu20_multi
 
 from SuperV import *
 
-# Graph creation of aNewDataFlow
-def DefaNewDataFlow() :
-    aNewDataFlow = Graph( 'aNewDataFlow' )
-    aNewDataFlow.SetName( 'aNewDataFlow' )
-    aNewDataFlow.SetAuthor( '' )
-    aNewDataFlow.SetComment( '' )
-    aNewDataFlow.Coords( 0 , 0 )
+# Graph creation of TestVisu20_multi
+def DefTestVisu20_multi() :
+    TestVisu20_multi = Graph( 'TestVisu20_multi' )
+    TestVisu20_multi.SetName( 'TestVisu20_multi' )
+    TestVisu20_multi.SetAuthor( '' )
+    TestVisu20_multi.SetComment( '' )
+    TestVisu20_multi.Coords( 0 , 0 )
     
     # Creation of Factory Nodes
     
@@ -50,7 +50,7 @@ def DefaNewDataFlow() :
     PyInitDisplay.append( '    print "InitDisplay --> myResult ", myResult          ' )
     PyInitDisplay.append( '    return aVisu,myResult        ' )
     PyInitDisplay.append( '' )
-    InitDisplay = aNewDataFlow.INode( 'InitDisplay' , PyInitDisplay )
+    InitDisplay = TestVisu20_multi.INode( 'InitDisplay' , PyInitDisplay )
     InitDisplay.SetName( 'InitDisplay' )
     InitDisplay.SetAuthor( '' )
     InitDisplay.SetComment( 'Compute Node' )
@@ -86,7 +86,7 @@ def DefaNewDataFlow() :
     PyDisplayVitesse.append( '    #time.sleep(2)                   ' )
     PyDisplayVitesse.append( '    return theResult                    ' )
     PyDisplayVitesse.append( '' )
-    DisplayVitesse = aNewDataFlow.INode( 'DisplayVitesse' , PyDisplayVitesse )
+    DisplayVitesse = TestVisu20_multi.INode( 'DisplayVitesse' , PyDisplayVitesse )
     DisplayVitesse.SetName( 'DisplayVitesse' )
     DisplayVitesse.SetAuthor( '' )
     DisplayVitesse.SetComment( 'Compute Node' )
@@ -107,7 +107,7 @@ def DefaNewDataFlow() :
     PyCreateView.append( '   theVisu=aVisu  ' )
     PyCreateView.append( '   theResult=aResult       ' )
     PyCreateView.append( '   return aView,theVisu,theResult      ' )
-    CreateView = aNewDataFlow.INode( 'CreateView' , PyCreateView )
+    CreateView = TestVisu20_multi.INode( 'CreateView' , PyCreateView )
     CreateView.SetName( 'CreateView' )
     CreateView.SetAuthor( '' )
     CreateView.SetComment( 'Compute Node' )
@@ -143,7 +143,7 @@ def DefaNewDataFlow() :
     PyNextInit.append( '    x1=x1+1.0 ' )
     PyNextInit.append( '    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ' )
     PyNextInit.append( '    return index,min,max,aVisu,aView,myResult,x1   ' )
-    Init,EndOfInit = aNewDataFlow.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+    Init,EndOfInit = TestVisu20_multi.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
     EndOfInit.SetName( 'EndOfInit' )
     EndOfInit.SetAuthor( '' )
     EndOfInit.SetComment( 'Compute Node' )
@@ -203,7 +203,7 @@ def DefaNewDataFlow() :
     PyNextLoopOnViews.append( 'def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):     ' )
     PyNextLoopOnViews.append( '   ViewCount = ViewCount + 1     ' )
     PyNextLoopOnViews.append( '   return aVisu,aResult,ViewCount,MinCount,MaxCount     ' )
-    LoopOnViews,EndOfLoopOnViews = aNewDataFlow.LNode( 'InitViews' , PyLoopOnViews , 'MoreViews' , PyMoreLoopOnViews , 'NextViews' , PyNextLoopOnViews )
+    LoopOnViews,EndOfLoopOnViews = TestVisu20_multi.LNode( 'InitViews' , PyLoopOnViews , 'MoreViews' , PyMoreLoopOnViews , 'NextViews' , PyNextLoopOnViews )
     EndOfLoopOnViews.SetName( 'EndOfLoopOnViews' )
     EndOfLoopOnViews.SetAuthor( '' )
     EndOfLoopOnViews.SetComment( 'Compute Node' )
@@ -243,69 +243,69 @@ def DefaNewDataFlow() :
     LoopOnViews.Coords( 219 , 218 )
     
     # Creation of Links
-    LInitDisplayaVisuLoopOnViewsaVisu = aNewDataFlow.Link( OInitDisplayaVisu , ILoopOnViewsaVisu )
+    LInitDisplayaVisuLoopOnViewsaVisu = TestVisu20_multi.Link( OInitDisplayaVisu , ILoopOnViewsaVisu )
     
-    LInitDisplaymyResultLoopOnViewsaResult = aNewDataFlow.Link( OInitDisplaymyResult , ILoopOnViewsaResult )
+    LInitDisplaymyResultLoopOnViewsaResult = TestVisu20_multi.Link( OInitDisplaymyResult , ILoopOnViewsaResult )
     
-    LInitindexEndOfInitindex = aNewDataFlow.Link( OInitindex , IEndOfInitindex )
+    LInitindexEndOfInitindex = TestVisu20_multi.Link( OInitindex , IEndOfInitindex )
     
-    LInitindexDisplayVitesseindex = aNewDataFlow.Link( OInitindex , IDisplayVitesseindex )
+    LInitindexDisplayVitesseindex = TestVisu20_multi.Link( OInitindex , IDisplayVitesseindex )
     LInitindexDisplayVitesseindex.AddCoord( 1 , 590 , 587 )
     LInitindexDisplayVitesseindex.AddCoord( 2 , 591 , 527 )
     
-    LInitminEndOfInitmin = aNewDataFlow.Link( OInitmin , IEndOfInitmin )
+    LInitminEndOfInitmin = TestVisu20_multi.Link( OInitmin , IEndOfInitmin )
     
-    LInitmaxEndOfInitmax = aNewDataFlow.Link( OInitmax , IEndOfInitmax )
+    LInitmaxEndOfInitmax = TestVisu20_multi.Link( OInitmax , IEndOfInitmax )
     
-    LInitaVisuEndOfInitaVisu = aNewDataFlow.Link( OInitaVisu , IEndOfInitaVisu )
+    LInitaVisuEndOfInitaVisu = TestVisu20_multi.Link( OInitaVisu , IEndOfInitaVisu )
     
-    LInitaVisuDisplayVitesseaVisu = aNewDataFlow.Link( OInitaVisu , IDisplayVitesseaVisu )
+    LInitaVisuDisplayVitesseaVisu = TestVisu20_multi.Link( OInitaVisu , IDisplayVitesseaVisu )
     
-    LInitaViewEndOfInitaView = aNewDataFlow.Link( OInitaView , IEndOfInitaView )
+    LInitaViewEndOfInitaView = TestVisu20_multi.Link( OInitaView , IEndOfInitaView )
     
-    LInitaViewDisplayVitesseaView = aNewDataFlow.Link( OInitaView , IDisplayVitesseaView )
+    LInitaViewDisplayVitesseaView = TestVisu20_multi.Link( OInitaView , IDisplayVitesseaView )
     
-    LInitaResultDisplayVitesseaResult = aNewDataFlow.Link( OInitaResult , IDisplayVitesseaResult )
+    LInitaResultDisplayVitesseaResult = TestVisu20_multi.Link( OInitaResult , IDisplayVitesseaResult )
     
-    LInitx1EndOfInitx1 = aNewDataFlow.Link( OInitx1 , IEndOfInitx1 )
+    LInitx1EndOfInitx1 = TestVisu20_multi.Link( OInitx1 , IEndOfInitx1 )
     
-    LInitx1DisplayVitessex1 = aNewDataFlow.Link( OInitx1 , IDisplayVitessex1 )
+    LInitx1DisplayVitessex1 = TestVisu20_multi.Link( OInitx1 , IDisplayVitessex1 )
     
-    LEndOfInitaResultEndOfLoopOnViewsaResult = aNewDataFlow.Link( OEndOfInitaResult , IEndOfLoopOnViewsaResult )
+    LEndOfInitaResultEndOfLoopOnViewsaResult = TestVisu20_multi.Link( OEndOfInitaResult , IEndOfLoopOnViewsaResult )
     LEndOfInitaResultEndOfLoopOnViewsaResult.AddCoord( 1 , 762 , 288 )
     LEndOfInitaResultEndOfLoopOnViewsaResult.AddCoord( 2 , 763 , 424 )
     LEndOfInitaResultEndOfLoopOnViewsaResult.AddCoord( 3 , 972 , 425 )
     LEndOfInitaResultEndOfLoopOnViewsaResult.AddCoord( 4 , 971 , 687 )
     
-    LDisplayVitessetheResultEndOfInitaResult = aNewDataFlow.Link( ODisplayVitessetheResult , IEndOfInitaResult )
+    LDisplayVitessetheResultEndOfInitaResult = TestVisu20_multi.Link( ODisplayVitessetheResult , IEndOfInitaResult )
     LDisplayVitessetheResultEndOfInitaResult.AddCoord( 1 , 787 , 687 )
     LDisplayVitessetheResultEndOfInitaResult.AddCoord( 2 , 786 , 585 )
     
-    LLoopOnViewsaVisuEndOfLoopOnViewsaVisu = aNewDataFlow.Link( OLoopOnViewsaVisu , IEndOfLoopOnViewsaVisu )
+    LLoopOnViewsaVisuEndOfLoopOnViewsaVisu = TestVisu20_multi.Link( OLoopOnViewsaVisu , IEndOfLoopOnViewsaVisu )
     
-    LLoopOnViewsaVisuCreateViewaVisu = aNewDataFlow.Link( OLoopOnViewsaVisu , ICreateViewaVisu )
+    LLoopOnViewsaVisuCreateViewaVisu = TestVisu20_multi.Link( OLoopOnViewsaVisu , ICreateViewaVisu )
     LLoopOnViewsaVisuCreateViewaVisu.AddCoord( 1 , 186 , 643 )
     LLoopOnViewsaVisuCreateViewaVisu.AddCoord( 2 , 186 , 442 )
     LLoopOnViewsaVisuCreateViewaVisu.AddCoord( 3 , 400 , 441 )
     LLoopOnViewsaVisuCreateViewaVisu.AddCoord( 4 , 401 , 251 )
     
-    LLoopOnViewsaResultCreateViewaResult = aNewDataFlow.Link( OLoopOnViewsaResult , ICreateViewaResult )
+    LLoopOnViewsaResultCreateViewaResult = TestVisu20_multi.Link( OLoopOnViewsaResult , ICreateViewaResult )
     LLoopOnViewsaResultCreateViewaResult.AddCoord( 1 , 169 , 671 )
     LLoopOnViewsaResultCreateViewaResult.AddCoord( 2 , 170 , 412 )
     LLoopOnViewsaResultCreateViewaResult.AddCoord( 3 , 386 , 413 )
     LLoopOnViewsaResultCreateViewaResult.AddCoord( 4 , 387 , 280 )
     
-    LLoopOnViewsViewCountEndOfLoopOnViewsViewCount = aNewDataFlow.Link( OLoopOnViewsViewCount , IEndOfLoopOnViewsViewCount )
+    LLoopOnViewsViewCountEndOfLoopOnViewsViewCount = TestVisu20_multi.Link( OLoopOnViewsViewCount , IEndOfLoopOnViewsViewCount )
     
-    LLoopOnViewsMinCountEndOfLoopOnViewsMinCount = aNewDataFlow.Link( OLoopOnViewsMinCount , IEndOfLoopOnViewsMinCount )
+    LLoopOnViewsMinCountEndOfLoopOnViewsMinCount = TestVisu20_multi.Link( OLoopOnViewsMinCount , IEndOfLoopOnViewsMinCount )
     
-    LLoopOnViewsMaxCountEndOfLoopOnViewsMaxCount = aNewDataFlow.Link( OLoopOnViewsMaxCount , IEndOfLoopOnViewsMaxCount )
+    LLoopOnViewsMaxCountEndOfLoopOnViewsMaxCount = TestVisu20_multi.Link( OLoopOnViewsMaxCount , IEndOfLoopOnViewsMaxCount )
     
-    LCreateViewaViewInitaView = aNewDataFlow.Link( OCreateViewaView , IInitaView )
+    LCreateViewaViewInitaView = TestVisu20_multi.Link( OCreateViewaView , IInitaView )
     
-    LCreateViewtheVisuInitaVisu = aNewDataFlow.Link( OCreateViewtheVisu , IInitaVisu )
+    LCreateViewtheVisuInitaVisu = TestVisu20_multi.Link( OCreateViewtheVisu , IInitaVisu )
     
-    LCreateViewtheResultInitaResult = aNewDataFlow.Link( OCreateViewtheResult , IInitaResult )
+    LCreateViewtheResultInitaResult = TestVisu20_multi.Link( OCreateViewtheResult , IInitaResult )
     
     # Input datas
     IInitindex.Input( 1 )
@@ -328,7 +328,7 @@ def DefaNewDataFlow() :
     #OEndOfLoopOnViewsViewCount = EndOfLoopOnViews.GetOutPort( 'ViewCount' )
     #OEndOfLoopOnViewsMinCount = EndOfLoopOnViews.GetOutPort( 'MinCount' )
     #OEndOfLoopOnViewsMaxCount = EndOfLoopOnViews.GetOutPort( 'MaxCount' )
-    return aNewDataFlow
+    return TestVisu20_multi
 
 
-aNewDataFlow = DefaNewDataFlow()
+TestVisu20_multi = DefTestVisu20_multi()
index c8e247c551f56d3c3d44c7954e3b31fd1186bd48..30232434643ebc80197a0ad7661540eec068fc3a 100644 (file)
@@ -5,7 +5,7 @@
 <node>
 <component-name>?</component-name>
     <interface-name>?</interface-name>
-    <node-name>aNewDataFlow</node-name>
+    <node-name>TestVisu20_multi</node-name>
     <kind>1</kind>
     <coupled-node>?</coupled-node>
     <service>
@@ -69,7 +69,7 @@
     <DataStream-list/>
     <PyFunction-list/>
     <creation-date>13/11/2003 - 11:15:53</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:36</lastmodification-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    print "InitDisplay --> myResult ", myResult          ]]></PyFunc>
       <PyFunc><![CDATA[    return aVisu,myResult        ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    x1=x1+1.0 ]]></PyFunc>
       <PyFunc><![CDATA[    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>
       <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>?</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[    #time.sleep(2)                   ]]></PyFunc>
       <PyFunc><![CDATA[    return theResult                    ]]></PyFunc>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):     ]]></PyFunc>
       <PyFunc><![CDATA[   ViewCount = ViewCount + 1     ]]></PyFunc>
       <PyFunc><![CDATA[   return aVisu,aResult,ViewCount,MinCount,MaxCount     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
 <PyFunction>
 <FuncName>EndLoop</FuncName>
       <PyFunc><![CDATA[?]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
       <PyFunc><![CDATA[   theVisu=aVisu  ]]></PyFunc>
       <PyFunc><![CDATA[   theResult=aResult       ]]></PyFunc>
       <PyFunc><![CDATA[   return aView,theVisu,theResult      ]]></PyFunc>     </PyFunction>    </PyFunction-list>
-    <creation-date>26/1/2005 - 15:3:29</creation-date>
-    <lastmodification-date>26/1/2005 - 15:3:29</lastmodification-date>
+    <creation-date>8/4/2005 - 14:2:18</creation-date>
+    <lastmodification-date>8/4/2005 - 14:2:18</lastmodification-date>
     <editor-release>1.05</editor-release>
     <author>?</author>
     <container>?</container>
     <coord-list/>   </link>  </link-list>
   <data-list>
 <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>Init__index</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>index</toserviceparameter-name>
      <value>1</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>Init__min</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>min</toserviceparameter-name>
      <value>1</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>Init__max</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>max</toserviceparameter-name>
      <value>10</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>Init__x1</fromserviceparameter-name>
     <tonode-name>Init</tonode-name>
     <toserviceparameter-name>x1</toserviceparameter-name>
      <value>1</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>LoopOnViews__ViewCount</fromserviceparameter-name>
     <tonode-name>LoopOnViews</tonode-name>
     <toserviceparameter-name>ViewCount</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>LoopOnViews__MinCount</fromserviceparameter-name>
     <tonode-name>LoopOnViews</tonode-name>
     <toserviceparameter-name>MinCount</toserviceparameter-name>
      <value>0</value>    </data-value>
     <coord-list/>   </data>
    <data>
-<fromnode-name>aNewDataFlow</fromnode-name>
+<fromnode-name>TestVisu20_multi</fromnode-name>
     <fromserviceparameter-name>LoopOnViews__MaxCount</fromserviceparameter-name>
     <tonode-name>LoopOnViews</tonode-name>
     <toserviceparameter-name>MaxCount</toserviceparameter-name>