]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
Many new tests of Switches
authorrahuel <rahuel@opencascade.com>
Tue, 15 Feb 2005 12:32:50 +0000 (12:32 +0000)
committerrahuel <rahuel@opencascade.com>
Tue, 15 Feb 2005 12:32:50 +0000 (12:32 +0000)
18 files changed:
examples/GraphSwitchCheckBranch1.py
examples/GraphSwitchCheckBranch1.xml
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/GraphSwitchCheckDefault2NOTValid2.py
examples/GraphSwitchCheckDefault2NOTValid2.xml
examples/GraphSwitchCheckNoDefault2.py [new file with mode: 0644]
examples/GraphSwitchCheckNoDefault2.xml [new file with mode: 0644]
examples/GraphSwitchNOTValid.py [new file with mode: 0644]
examples/GraphSwitchNOTValid.xml [new file with mode: 0644]
examples/GraphSwitchOutputNOTValid.py
examples/GraphSwitchOutputNOTValid.xml
examples/GraphSyrControlAborted.py [new file with mode: 0644]
examples/GraphSyrControlAborted.xml [new file with mode: 0644]
examples/GraphSyrControlAveNOTExecutable.py [new file with mode: 0644]
examples/GraphSyrControlAveNOTExecutable.xml [new file with mode: 0644]

index 9ee068c6153c873ac7379527c5e64e74676ec6d6..2cbe1a5107fb8700d279af1443cb6fccf2be3cab 100644 (file)
@@ -56,12 +56,27 @@ def DefGraphSwitchCheckBranch1() :
     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.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) :        ' )
@@ -84,7 +99,7 @@ def DefGraphSwitchCheckBranch1() :
     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) :  ' )
@@ -132,7 +147,7 @@ def DefGraphSwitchCheckBranch1() :
     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) : ' )
@@ -186,12 +201,23 @@ def DefGraphSwitchCheckBranch1() :
     LSwitchaIsEvena.AddCoord( 1 , 381 , 509 )
     LSwitchaIsEvena.AddCoord( 2 , 381 , 229 )
     
+    LSwitchadefaulta = GraphSwitchCheckBranch1.Link( OSwitcha , Idefaulta )
+    LSwitchadefaulta.AddCoord( 1 , 382 , 377 )
+    LSwitchadefaulta.AddCoord( 2 , 382 , 228 )
+    
     LSwitchBranchBranchNodeBranch = GraphSwitchCheckBranch1.Link( OSwitchBranch , IBranchNodeBranch )
     
-    LSwitchdefaultEndOfSwitchDefault = GraphSwitchCheckBranch1.Link( OSwitchdefault , IEndOfSwitchDefault )
+    LSwitchdefaultdefaultGate = GraphSwitchCheckBranch1.Link( OSwitchdefault , IdefaultGate )
+    LSwitchdefaultdefaultGate.AddCoord( 1 , 410 , 403 )
+    LSwitchdefaultdefaultGate.AddCoord( 2 , 410 , 269 )
+    LSwitchdefaultdefaultGate.AddCoord( 3 , 410 , 268 )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckBranch1.Link( OSwitchDefault , IEndOfSwitchDefault )
     
     LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckBranch1.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
+    LdefaultaEndOfSwitcha = GraphSwitchCheckBranch1.Link( Odefaulta , IEndOfSwitcha )
+    
     # Input datas
     IInitLoopSwitchIndex.Input( 0 )
     IInitLoopSwitchMin.Input( -5 )
index 98a29771f03592d935d80d653c2f3b6fbd02c9dc..9e4f3f7093809d8d82e3050a5176c27e424f9f92 100644 (file)
@@ -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>14/2/2005 - 11:36:28</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>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>
@@ -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>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>
       <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>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>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>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>
       <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>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>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>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>
       <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>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>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>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>
 <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>
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 a94310f3bb9f74f9eb4243fc68ec233ee01da413..bb256d90c9acca9dc62e0a94bd303959714c36fd 100644 (file)
@@ -123,7 +123,7 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     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' )
@@ -245,6 +245,8 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     
     LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OIsEvena , IEndOfSwitcha )
     
+    LIsEvenaPutaa = GraphSwitchCheckDefault2NOTValid2.Link( OIsEvena , IPutaa )
+    
     LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault2NOTValid2.Link( OPrintOddBranch , IEmptyNodeBranch )
     
     LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( OPrintEvenBranch , IEndOfSwitchBranch )
@@ -253,7 +255,9 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     
     LEmptyNodeBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( OEmptyNodeBranch , IEndOfSwitchBranch )
     
-    LDefaultaPutaa = GraphSwitchCheckDefault2NOTValid2.Link( ODefaulta , IPutaa )
+    LDefaultaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( ODefaulta , IEndOfSwitcha )
+    
+    LDefaultBranchEndOfSwitchBranch = GraphSwitchCheckDefault2NOTValid2.Link( ODefaultBranch , IEndOfSwitchBranch )
     
     LDefaultBranchPutBranchBranch = GraphSwitchCheckDefault2NOTValid2.Link( ODefaultBranch , IPutBranchBranch )
     
@@ -311,6 +315,8 @@ def DefGraphSwitchCheckDefault2NOTValid2() :
     LSwitchdefaultDefaultGate.AddCoord( 1 , 363 , 707 )
     LSwitchdefaultDefaultGate.AddCoord( 2 , 362 , 239 )
     
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckDefault2NOTValid2.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
     LEndOfSwitchaEndOfInitLoopSwitchIndex = GraphSwitchCheckDefault2NOTValid2.Link( OEndOfSwitcha , IEndOfInitLoopSwitchIndex )
     
     LPutaaEndOfSwitcha = GraphSwitchCheckDefault2NOTValid2.Link( OPutaa , IEndOfSwitcha )
index f628cd053478d809050903cdda57225d309d3cc0..f2a1852df1cda5f308a16714c575fa487dee1c58 100644 (file)
@@ -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>15/2/2005 - 9:44:23</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>15/2/2005 - 9:41:21</creation-date>
+    <lastmodification-date>15/2/2005 - 9:41:21</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>
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>
diff --git a/examples/GraphSwitchNOTValid.py b/examples/GraphSwitchNOTValid.py
new file mode 100644 (file)
index 0000000..e1f588d
--- /dev/null
@@ -0,0 +1,144 @@
+
+# Generated python file of Graph GraphSwitchNOTValid
+
+from SuperV import *
+
+# Graph creation of GraphSwitchNOTValid
+def DefGraphSwitchNOTValid() :
+    GraphSwitchNOTValid = Graph( 'GraphSwitchNOTValid' )
+    GraphSwitchNOTValid.SetName( 'GraphSwitchNOTValid' )
+    GraphSwitchNOTValid.SetAuthor( 'JR' )
+    GraphSwitchNOTValid.SetComment( '' )
+    GraphSwitchNOTValid.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 = GraphSwitchNOTValid.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( '       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 = GraphSwitchNOTValid.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 & 1 ) == 0 :  ' )
+    PySwitch.append( '        sleep(1)  ' )
+    PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+    Switch,EndOfSwitch = GraphSwitchNOTValid.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 = GraphSwitchNOTValid.Link( OIsOdda , IEndOfSwitcha )
+    LIsOddaEndOfSwitcha.AddCoord( 1 , 571 , 201 )
+    LIsOddaEndOfSwitcha.AddCoord( 2 , 571 , 136 )
+    
+    LInitLoopIndexSwitcha = GraphSwitchNOTValid.Link( OInitLoopIndex , ISwitcha )
+    
+    LInitLoopMinEndOfInitLoopMin = GraphSwitchNOTValid.Link( OInitLoopMin , IEndOfInitLoopMin )
+    
+    LInitLoopMaxEndOfInitLoopMax = GraphSwitchNOTValid.Link( OInitLoopMax , IEndOfInitLoopMax )
+    
+    LSwitchOddIsOddGate = GraphSwitchNOTValid.Link( OSwitchOdd , IIsOddGate )
+    
+    LSwitchaIsOdda = GraphSwitchNOTValid.Link( OSwitcha , IIsOdda )
+    LSwitchaIsOdda.AddCoord( 1 , 375 , 136 )
+    LSwitchaIsOdda.AddCoord( 2 , 375 , 201 )
+    
+    LSwitchaEndOfSwitcha = GraphSwitchNOTValid.Link( OSwitcha , IEndOfSwitcha )
+    
+    LSwitchDefaultEndOfSwitchDefault = GraphSwitchNOTValid.Link( OSwitchDefault , IEndOfSwitchDefault )
+    
+    LEndOfSwitchaEndOfInitLoopIndex = GraphSwitchNOTValid.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
+    
+    # Input datas
+    IInitLoopIndex.Input( 0 )
+    IInitLoopMin.Input( 0 )
+    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 GraphSwitchNOTValid
+
+
+GraphSwitchNOTValid = DefGraphSwitchNOTValid()
diff --git a/examples/GraphSwitchNOTValid.xml b/examples/GraphSwitchNOTValid.xml
new file mode 100644 (file)
index 0000000..4cbd8c7
--- /dev/null
@@ -0,0 +1,350 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSwitchNOTValid</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>
+<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:12:48</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51: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 (GraphSwitch1)"      ]]></PyFunc>
+      <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+      <PyFunc><![CDATA[    return a     ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 9:51:57</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51:57</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[        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>15/2/2005 - 9:51:57</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51:57</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>15/2/2005 - 9:51:57</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51:57</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 & 1 ) == 0 :  ]]></PyFunc>
+      <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+      <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>     </PyFunction>    </PyFunction-list>
+    <creation-date>15/2/2005 - 9:51:57</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51:57</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>15/2/2005 - 9:51:57</creation-date>
+    <lastmodification-date>15/2/2005 - 9:51:57</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>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>a</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>EndOfInitLoop</tonode-name>
+    <toserviceparameter-name>Index</toserviceparameter-name>
+    <coord-list/>   </link>  </link-list>
+  <data-list>
+<data>
+<fromnode-name>GraphSwitchNOTValid</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>GraphSwitchNOTValid</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>GraphSwitchNOTValid</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 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..3cb82dfd7c870def6c1411c0fcf0ce561bb8db33 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>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>15/2/2005 - 10:1:39</creation-date>
+    <lastmodification-date>15/2/2005 - 10:1:39</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>
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>
diff --git a/examples/GraphSyrControlAveNOTExecutable.py b/examples/GraphSyrControlAveNOTExecutable.py
new file mode 100644 (file)
index 0000000..97cb49a
--- /dev/null
@@ -0,0 +1,412 @@
+
+# Generated python file of Graph GraphSyrControlAveNOTExecutable
+
+from SuperV import *
+
+# Graph creation of GraphSyrControlAveNOTExecutable
+def DefGraphSyrControlAveNOTExecutable() :
+    GraphSyrControlAveNOTExecutable = Graph( 'GraphSyrControlAveNOTExecutable' )
+    GraphSyrControlAveNOTExecutable.SetName( 'GraphSyrControlAveNOTExecutable' )
+    GraphSyrControlAveNOTExecutable.SetAuthor( 'JR' )
+    GraphSyrControlAveNOTExecutable.SetComment( 'Syracuse algorithm' )
+    GraphSyrControlAveNOTExecutable.Coords( 0 , 0 )
+    
+    # Creation of Factory Nodes
+    
+    test_ISEVEN = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.Link( Otest_ISEVENBoolEven , Ilabel_testValEven )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 1 , 544 , 256 )
+    Ltest_ISEVENBoolEvenlabel_testValEven.AddCoord( 2 , 544 , 524 )
+    
+    Ltest_ISONEBoolOnelabel_testValOne = GraphSyrControlAveNOTExecutable.Link( Otest_ISONEBoolOne , Ilabel_testValOne )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 1 , 546 , 237 )
+    Ltest_ISONEBoolOnelabel_testValOne.AddCoord( 2 , 546 , 198 )
+    
+    Lm3p1anEvenIntegercontrol_m3p1N = GraphSyrControlAveNOTExecutable.Link( Om3p1anEvenInteger , Icontrol_m3p1N )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 1 , 975 , 38 )
+    Lm3p1anEvenIntegercontrol_m3p1N.AddCoord( 2 , 976 , 81 )
+    
+    Ldiv2anIntegercontrol_div2N = GraphSyrControlAveNOTExecutable.Link( Odiv2anInteger , Icontrol_div2N )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 1 , 1012 , 585 )
+    Ldiv2anIntegercontrol_div2N.AddCoord( 2 , 1011 , 346 )
+    
+    LincraNewCountcontrol_div2K = GraphSyrControlAveNOTExecutable.Link( OincraNewCount , Icontrol_div2K )
+    LincraNewCountcontrol_div2K.AddCoord( 1 , 966 , 606 )
+    LincraNewCountcontrol_div2K.AddCoord( 2 , 968 , 207 )
+    
+    LincraNewCountcontrol_m3p1K = GraphSyrControlAveNOTExecutable.Link( OincraNewCount , Icontrol_m3p1K )
+    LincraNewCountcontrol_m3p1K.AddCoord( 1 , 965 , 59 )
+    LincraNewCountcontrol_m3p1K.AddCoord( 2 , 966 , 208 )
+    
+    LincraNewCountC_AVERAGEaCount = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.Link( OC_MINaNewMinVal , Icontrol_m3p1MINT )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 1 , 991 , 78 )
+    LC_MINaNewMinValcontrol_m3p1MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MINaNewMinValcontrol_div2MINT = GraphSyrControlAveNOTExecutable.Link( OC_MINaNewMinVal , Icontrol_div2MINT )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 1 , 991 , 626 )
+    LC_MINaNewMinValcontrol_div2MINT.AddCoord( 2 , 991 , 905 )
+    
+    LC_MAXaNewMaxValcontrol_m3p1MAXT = GraphSyrControlAveNOTExecutable.Link( OC_MAXaNewMaxVal , Icontrol_m3p1MAXT )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 1 , 976 , 98 )
+    LC_MAXaNewMaxValcontrol_m3p1MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_MAXaNewMaxValcontrol_div2MAXT = GraphSyrControlAveNOTExecutable.Link( OC_MAXaNewMaxVal , Icontrol_div2MAXT )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 1 , 972 , 648 )
+    LC_MAXaNewMaxValcontrol_div2MAXT.AddCoord( 2 , 974 , 738 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT = GraphSyrControlAveNOTExecutable.Link( OC_AVERAGEaNewListOfSyr , Icontrol_m3p1SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 1 , 1037 , 137 )
+    LC_AVERAGEaNewListOfSyrcontrol_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+    
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT = GraphSyrControlAveNOTExecutable.Link( OC_AVERAGEaNewListOfSyr , Icontrol_div2SYRLISTT )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 1 , 1038 , 686 )
+    LC_AVERAGEaNewListOfSyrcontrol_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+    
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET = GraphSyrControlAveNOTExecutable.Link( OC_AVERAGEanAverage , Icontrol_m3p1AVERAGET )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 1 , 1026 , 118 )
+    LC_AVERAGEanAveragecontrol_m3p1AVERAGET.AddCoord( 2 , 1027 , 567 )
+    
+    LC_AVERAGEanAveragecontrol_div2AVERAGET = GraphSyrControlAveNOTExecutable.Link( OC_AVERAGEanAverage , Icontrol_div2AVERAGET )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 1 , 1027 , 668 )
+    LC_AVERAGEanAveragecontrol_div2AVERAGET.AddCoord( 2 , 1026 , 568 )
+    
+    LC_LISTOFSYRaListOfSyrlabel_beginSYRLISTB = GraphSyrControlAveNOTExecutable.Link( OC_LISTOFSYRaListOfSyr , Ilabel_beginSYRLISTB )
+    
+    Llabel_beginNTtest_ISONEanInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_beginNT , Itest_ISONEanInteger )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 1 , 361 , 197 )
+    Llabel_beginNTtest_ISONEanInteger.AddCoord( 2 , 360 , 290 )
+    
+    Llabel_beginNTlabel_testNT = GraphSyrControlAveNOTExecutable.Link( Olabel_beginNT , Ilabel_testNT )
+    
+    Llabel_beginNTtest_ISEVENanInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_beginNT , Itest_ISEVENanInteger )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 1 , 359 , 525 )
+    Llabel_beginNTtest_ISEVENanInteger.AddCoord( 2 , 361 , 291 )
+    
+    Llabel_beginKTlabel_testKT = GraphSyrControlAveNOTExecutable.Link( Olabel_beginKT , Ilabel_testKT )
+    
+    Llabel_beginMINlabel_testMIN = GraphSyrControlAveNOTExecutable.Link( Olabel_beginMIN , Ilabel_testMIN )
+    
+    Llabel_beginMAXlabel_testMAX = GraphSyrControlAveNOTExecutable.Link( Olabel_beginMAX , Ilabel_testMAX )
+    
+    Llabel_beginAVERAGElabel_testAVERAGE = GraphSyrControlAveNOTExecutable.Link( Olabel_beginAVERAGE , Ilabel_testAVERAGE )
+    
+    Llabel_beginSYRLISTlabel_testSYRLIST = GraphSyrControlAveNOTExecutable.Link( Olabel_beginSYRLIST , Ilabel_testSYRLIST )
+    
+    Llabel_testEvendiv2Gate = GraphSyrControlAveNOTExecutable.Link( Olabel_testEven , Idiv2Gate )
+    Llabel_testEvendiv2Gate.AddCoord( 1 , 777 , 351 )
+    Llabel_testEvendiv2Gate.AddCoord( 2 , 777 , 286 )
+    
+    Llabel_testOddm3p1Gate = GraphSyrControlAveNOTExecutable.Link( Olabel_testOdd , Im3p1Gate )
+    Llabel_testOddm3p1Gate.AddCoord( 1 , 757 , 95 )
+    Llabel_testOddm3p1Gate.AddCoord( 2 , 757 , 310 )
+    
+    Llabel_testNm3p1anOddInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_testN , Im3p1anOddInteger )
+    Llabel_testNm3p1anOddInteger.AddCoord( 1 , 741 , 72 )
+    Llabel_testNm3p1anOddInteger.AddCoord( 2 , 741 , 331 )
+    
+    Llabel_testNdiv2anEvenInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_testN , Idiv2anEvenInteger )
+    
+    Llabel_testNC_MINanInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_testN , IC_MINanInteger )
+    Llabel_testNC_MINanInteger.AddCoord( 1 , 744 , 923 )
+    Llabel_testNC_MINanInteger.AddCoord( 2 , 742 , 331 )
+    
+    Llabel_testNC_MAXanInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_testN , IC_MAXanInteger )
+    Llabel_testNC_MAXanInteger.AddCoord( 1 , 742 , 759 )
+    Llabel_testNC_MAXanInteger.AddCoord( 2 , 743 , 332 )
+    
+    Llabel_testNC_AVERAGEanInteger = GraphSyrControlAveNOTExecutable.Link( Olabel_testN , IC_AVERAGEanInteger )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 1 , 741 , 568 )
+    Llabel_testNC_AVERAGEanInteger.AddCoord( 2 , 742 , 330 )
+    
+    Llabel_testKincraCount = GraphSyrControlAveNOTExecutable.Link( Olabel_testK , IincraCount )
+    Llabel_testKincraCount.AddCoord( 1 , 766 , 207 )
+    Llabel_testKincraCount.AddCoord( 2 , 766 , 343 )
+    
+    Llabel_testMINTC_MINaMinVal = GraphSyrControlAveNOTExecutable.Link( Olabel_testMINT , IC_MINaMinVal )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 1 , 760 , 904 )
+    Llabel_testMINTC_MINaMinVal.AddCoord( 2 , 756 , 372 )
+    
+    Llabel_testMAXTC_MAXaMaxVal = GraphSyrControlAveNOTExecutable.Link( Olabel_testMAXT , IC_MAXaMaxVal )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 1 , 765 , 742 )
+    Llabel_testMAXTC_MAXaMaxVal.AddCoord( 2 , 766 , 384 )
+    
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr = GraphSyrControlAveNOTExecutable.Link( Olabel_testSYRLISTT , IC_AVERAGEaListOfSyr )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 1 , 773 , 546 )
+    Llabel_testSYRLISTTC_AVERAGEaListOfSyr.AddCoord( 2 , 772 , 424 )
+    
+    Llabel_testDefaultEndL_OneEvenDefault = GraphSyrControlAveNOTExecutable.Link( Olabel_testDefault , IEndL_OneEvenDefault )
+    
+    Lcontrol_m3p1Gatelabel_testGate = GraphSyrControlAveNOTExecutable.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 = GraphSyrControlAveNOTExecutable.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_testAVERAGET = label_test.GetOutPort( 'AVERAGET' )
+    #OEndL_OneEvenMIN = EndL_OneEven.GetOutPort( 'MIN' )
+    #OEndL_OneEvenMAX = EndL_OneEven.GetOutPort( 'MAX' )
+    #OEndL_OneEvenAVERAGE = EndL_OneEven.GetOutPort( 'AVERAGE' )
+    return GraphSyrControlAveNOTExecutable
+
+
+GraphSyrControlAveNOTExecutable = DefGraphSyrControlAveNOTExecutable()
diff --git a/examples/GraphSyrControlAveNOTExecutable.xml b/examples/GraphSyrControlAveNOTExecutable.xml
new file mode 100644 (file)
index 0000000..220c3e6
--- /dev/null
@@ -0,0 +1,1098 @@
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+    <interface-name>?</interface-name>
+    <node-name>GraphSyrControlAveNOTExecutable</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__AVERAGET</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>15/2/2005 - 11:27:6</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>15/2/2005 - 11:25:41</creation-date>
+    <lastmodification-date>15/2/2005 - 11:25:41</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>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>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>GraphSyrControlAveNOTExecutable</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>GraphSyrControlAveNOTExecutable</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>GraphSyrControlAveNOTExecutable</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>GraphSyrControlAveNOTExecutable</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>GraphSyrControlAveNOTExecutable</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>