]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
DCQ : Merge with Ecole_Ete_a6.
authoryfr <yfr@opencascade.com>
Fri, 18 Jun 2004 12:37:18 +0000 (12:37 +0000)
committeryfr <yfr@opencascade.com>
Fri, 18 Jun 2004 12:37:18 +0000 (12:37 +0000)
144 files changed:
examples/GraphContainer.py [new file with mode: 0755]
examples/GraphContainer.xml [new file with mode: 0755]
examples/GraphConvertBoolCheck.py [new file with mode: 0755]
examples/GraphConvertBoolCheck.xml [new file with mode: 0755]
examples/GraphConvertBoolStringCheck.py [new file with mode: 0755]
examples/GraphConvertBoolStringCheck.xml [new file with mode: 0755]
examples/GraphConvertCharCheck.py [new file with mode: 0755]
examples/GraphConvertCharCheck.xml [new file with mode: 0755]
examples/GraphConvertCharStringCheck.py [new file with mode: 0755]
examples/GraphConvertCharStringCheck.xml [new file with mode: 0755]
examples/GraphConvertDoubleCheck.py [new file with mode: 0755]
examples/GraphConvertDoubleCheck.xml [new file with mode: 0755]
examples/GraphConvertDoubleStringCheck.py [new file with mode: 0755]
examples/GraphConvertDoubleStringCheck.xml [new file with mode: 0755]
examples/GraphConvertFloatCheck.py [new file with mode: 0755]
examples/GraphConvertFloatCheck.xml [new file with mode: 0755]
examples/GraphConvertFloatStringCheck.py [new file with mode: 0755]
examples/GraphConvertFloatStringCheck.xml [new file with mode: 0755]
examples/GraphConvertIORCheck.py [new file with mode: 0755]
examples/GraphConvertIORCheck.xml [new file with mode: 0755]
examples/GraphConvertLongCheck.py [new file with mode: 0755]
examples/GraphConvertLongCheck.xml [new file with mode: 0755]
examples/GraphConvertLongStringCheck.py [new file with mode: 0755]
examples/GraphConvertLongStringCheck.xml [new file with mode: 0755]
examples/GraphConvertObjRefCheck.py [new file with mode: 0755]
examples/GraphConvertObjRefCheck.xml [new file with mode: 0755]
examples/GraphConvertShortCheck.py [new file with mode: 0755]
examples/GraphConvertShortCheck.xml [new file with mode: 0755]
examples/GraphConvertShortStringCheck.py [new file with mode: 0755]
examples/GraphConvertShortStringCheck.xml [new file with mode: 0755]
examples/GraphConvertStringStringCheck.py [new file with mode: 0755]
examples/GraphConvertStringStringCheck.xml [new file with mode: 0755]
examples/GraphCpuUsed.py [new file with mode: 0755]
examples/GraphCpuUsed.xml [new file with mode: 0755]
examples/GraphEmptyInLinesTypesCheck.py [new file with mode: 0755]
examples/GraphEmptyInLinesTypesCheck.xml [new file with mode: 0755]
examples/GraphEssai.py
examples/GraphEssai1.py
examples/GraphEssai1.xml
examples/GraphEssai2.py
examples/GraphEssai2.xml
examples/GraphEssai3.py
examples/GraphEssai3.xml
examples/GraphFactorial.py
examples/GraphFactorialLcc.py [new file with mode: 0755]
examples/GraphGOTO.py
examples/GraphGOTO.xml
examples/GraphGeomEssai.xml
examples/GraphInLines.py
examples/GraphInLines.xml
examples/GraphInLinesParall.py [new file with mode: 0755]
examples/GraphInLinesParall.xml [new file with mode: 0755]
examples/GraphInLinesTypesCheck.py [new file with mode: 0755]
examples/GraphInLinesTypesCheck.xml [new file with mode: 0755]
examples/GraphInLinesUnValid.py [new file with mode: 0755]
examples/GraphInLinesUnValid.xml [new file with mode: 0755]
examples/GraphLoop.py
examples/GraphLoopSwitch.py [new file with mode: 0755]
examples/GraphLoopSwitch.xml [new file with mode: 0755]
examples/GraphMerge.py [new file with mode: 0755]
examples/GraphMerge1.py [new file with mode: 0755]
examples/GraphObjRef.py [new file with mode: 0755]
examples/GraphObjRef.xml [new file with mode: 0755]
examples/GraphPyFunctions.py [new file with mode: 0755]
examples/GraphPyFunctions.xml [new file with mode: 0755]
examples/GraphRunSyr.py
examples/GraphStream.py [new file with mode: 0644]
examples/GraphStream.xml [new file with mode: 0644]
examples/GraphStreamInLines.py [new file with mode: 0644]
examples/GraphStreamInLines.xml [new file with mode: 0644]
examples/GraphStreamInLines_1.cpl [new file with mode: 0644]
examples/GraphStreamTopologies.py [new file with mode: 0644]
examples/GraphStreamTopologies.xml [new file with mode: 0644]
examples/GraphStreamTopologies_1.cpl [new file with mode: 0644]
examples/GraphStreamTopologies_2.cpl [new file with mode: 0644]
examples/GraphStreamTopology.py [new file with mode: 0644]
examples/GraphStreamTopology.xml [new file with mode: 0644]
examples/GraphStreamTopology_1.cpl [new file with mode: 0644]
examples/GraphStream_1.cpl [new file with mode: 0644]
examples/GraphStream_2.cpl [new file with mode: 0644]
examples/GraphStream_3.cpl [new file with mode: 0644]
examples/GraphStreams.py [new file with mode: 0644]
examples/GraphStreams.xml [new file with mode: 0644]
examples/GraphStreamsXmlTest.py [new file with mode: 0644]
examples/GraphStreams_1.cpl [new file with mode: 0644]
examples/GraphStreams_2.cpl [new file with mode: 0644]
examples/GraphSwitch.py
examples/GraphSwitch.xml
examples/GraphSwitch1.py [new file with mode: 0755]
examples/GraphSwitch1.xml [new file with mode: 0755]
examples/GraphSwitchCrash.py [new file with mode: 0755]
examples/GraphSwitchCrash.xml [new file with mode: 0755]
examples/GraphSwitchs.py [new file with mode: 0755]
examples/GraphSwitchs.xml [new file with mode: 0755]
examples/GraphSyrControl.py
examples/GraphSyrControl.xml
examples/GraphSyrControl1.py [new file with mode: 0755]
examples/GraphSyrControl1.xml [new file with mode: 0755]
examples/GraphSyrControlAve.py
examples/GraphSyrControlAve.xml
examples/GraphSyrControlDefault.py
examples/GraphSyrControlDefault.xml
examples/GraphSyrControlGUI.py
examples/GraphSyrControlGUI.xml
examples/GraphSyracuseC.py
examples/GraphSyracuseCEv.py
examples/GraphSyracuseC_Gate.py
examples/GraphSyracuseC_Gate.xml
examples/GraphSyracuseCpp.py
examples/GraphTypesCheck.py [new file with mode: 0755]
examples/GraphTypesCheck.xml [new file with mode: 0755]
examples/GraphUnValid.py [new file with mode: 0755]
examples/GraphUnValid.xml [new file with mode: 0755]
examples/Graphs.py
examples/Graphs.xml
examples/Loop.xml [new file with mode: 0755]
examples/NewGraphEssai.py
examples/NewGraphEssai.xml
examples/NewGraphGeomEssai.py
examples/NewGraphGeomEssai.xml
examples/SupervRheolefGraph.py
examples/SupervRheolefGraph.xml
examples/SyrStruct.py
examples/SyrStruct.xml
examples/TestSupervMedfieldLoopFori.py [new file with mode: 0755]
examples/TestSupervMedfieldLoopFori.xml [new file with mode: 0755]
examples/TestSupervMedfieldLoopForiVisu.py [new file with mode: 0755]
examples/TestSupervMedfieldLoopForiVisu.xml [new file with mode: 0755]
examples/dataflow_calculator_example.py [new file with mode: 0755]
examples/dataflow_calculator_example.xml [new file with mode: 0755]
examples/myFactorialPy.py
examples/newsupervisionexample.py
examples/newsupervisionexample.xml
examples/test_events.py [new file with mode: 0644]
examples/test_events.xml [new file with mode: 0644]
examples/test_superv_basic_loop.py [new file with mode: 0755]
examples/test_superv_basic_loop.xml [new file with mode: 0755]
examples/testvisu20.xml [new file with mode: 0644]
examples/testvisu20_multi.py [new file with mode: 0644]
examples/testvisu20_multi.xml [new file with mode: 0644]
idl/Makefile.in
idl/SUPERV.idl
resources/SUPERV.config [new file with mode: 0644]
resources/SUPERV_en.xml

diff --git a/examples/GraphContainer.py b/examples/GraphContainer.py
new file mode 100755 (executable)
index 0000000..2fec085
--- /dev/null
@@ -0,0 +1,91 @@
+
+# Generated python file of Graph GraphEssai
+
+from SuperV import *
+# Graph creation 
+GraphEssai = Graph( 'GraphEssai' )
+GraphEssai.SetName( 'GraphEssai' )
+GraphEssai.SetAuthor( '' )
+GraphEssai.SetComment( '' )
+GraphEssai.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 15 , 241 )
+
+Sub = GraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 227 , 96 )
+
+Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 435 , 242 )
+
+Div = GraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 634 , 97 )
+
+# Creation of Links
+Addz = Add.Port( 'z' )
+Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
+
+Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 197 , 204 )
+Suby.AddCoord( 2 , 198 , 351 )
+
+Subz = Sub.Port( 'z' )
+Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
+
+Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 411 , 323 )
+Mulx.AddCoord( 2 , 411 , 177 )
+
+Mulz = Mul.Port( 'z' )
+Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 612 , 207 )
+Divy.AddCoord( 2 , 612 , 322 )
+
+# Creation of Input datas
+Addx = Add.Input( 'x' , 3)
+Addy = Add.Input( 'y' , 4.5)
+Subx = Sub.Input( 'x' , 1.5)
+
+# Creation of Output variables
+AddFuncValue = Add.Port( 'FuncValue' )
+Divz = Div.Port( 'z' )
+
+Add.Print()
+Sub.Print()
+Mul.Print()
+Div.Print()
+
+GraphEssai.PrintPorts()
+
+nodes = GraphEssai.LevelNodes( 0 )
+i = 0
+while i < len( nodes ) :
+    print 'Nodes of level 0',nodes[i].Name()
+    i = i + 1
+
+GraphEssai.Run()
+
+GraphEssai.DoneW()
+
+GraphEssai.State()
+
+GraphEssai.PrintPorts()
+
diff --git a/examples/GraphContainer.xml b/examples/GraphContainer.xml
new file mode 100755 (executable)
index 0000000..bd9d28a
--- /dev/null
@@ -0,0 +1,364 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphContainer</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphContainer</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>AddAndCompare\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>AddAndCompare\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 10:59:37</creation-date>
+   <lastmodification-date>13/11/2003 - 14:33:24</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>SuperVisionContainer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>1</x-position>
+   <y-position>152</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>412</x-position>
+   <y-position>377</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>412</x-position>
+   <y-position>152</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>622</x-position>
+   <y-position>124</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>SuperVisionContainer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>SuperVisionContainer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>4</x-position>
+   <y-position>327</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>AddAndCompare</node-name>
+   <kind>2</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>AddAndCompare</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Adder</inParameter-type>
+      <inParameter-name>Adder</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>Adder</inParameter-type>
+      <inParameter-name>anOtherAdder</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 14:29:5</creation-date>
+   <lastmodification-date>13/11/2003 - 14:29:5</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>233</x-position>
+   <y-position>0</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>195</x>
+     <y>108</y>    </coord>
+    <coord>
+<x>195</x>
+     <y>233</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>187</x>
+     <y>459</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>262</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>187</x>
+     <y>139</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>261</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>598</x>
+     <y>203</y>    </coord>
+    <coord>
+<x>598</x>
+     <y>457</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>Adder</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition_1</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>215</x>
+     <y>168</y>    </coord>
+    <coord>
+<x>214</x>
+     <y>407</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphContainer</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphContainer</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphContainer</fromnode-name>
+   <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphContainer</fromnode-name>
+   <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphConvertBoolCheck.py b/examples/GraphConvertBoolCheck.py
new file mode 100755 (executable)
index 0000000..8b8d623
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertBoolCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertBoolCheck = Graph( 'GraphConvertBoolCheck' )
+GraphConvertBoolCheck.SetName( 'GraphConvertBoolCheck' )
+GraphConvertBoolCheck.SetAuthor( 'JR' )
+GraphConvertBoolCheck.SetComment( 'Check conversions of Bool' )
+GraphConvertBoolCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertBoolCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyBool = []
+PyBool.append( 'def Bool() :  ' )
+PyBool.append( '    aBool = 1 ' )
+PyBool.append( '    return aBool ' )
+PyBool.append( ' ' )
+Bool = GraphConvertBoolCheck.INode( 'Bool' , PyBool )
+Bool.OutPort( 'OutBool' , 'boolean' )
+Bool.SetName( 'Bool' )
+Bool.SetAuthor( 'JR' )
+Bool.SetComment( 'InLine Node' )
+Bool.Coords( 14 , 114 )
+
+# Creation of Links
+BoolOutBool = Bool.Port( 'OutBool' )
+MiscTypesInString = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertBoolCheck.Link( BoolOutBool , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertBoolCheck.Run()
+GraphConvertBoolCheck.DoneW()
+GraphConvertBoolCheck.PrintPorts()
diff --git a/examples/GraphConvertBoolCheck.xml b/examples/GraphConvertBoolCheck.xml
new file mode 100755 (executable)
index 0000000..d54df2b
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertBoolCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 17:12:56</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Bool</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>Bool</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Bool</FuncName>
+     <PyFunc><![CDATA[def Bool() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    aBool = 1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return aBool ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 17:10:57</creation-date>
+   <lastmodification-date>11/9/2003 - 17:10:57</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 17:10:57</creation-date>
+   <lastmodification-date>11/9/2003 - 17:10:57</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Bool</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertBoolStringCheck.py b/examples/GraphConvertBoolStringCheck.py
new file mode 100755 (executable)
index 0000000..d76c1e6
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertBoolStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertBoolStringCheck = Graph( 'GraphConvertBoolStringCheck' )
+GraphConvertBoolStringCheck.SetName( 'GraphConvertBoolStringCheck' )
+GraphConvertBoolStringCheck.SetAuthor( 'JR' )
+GraphConvertBoolStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertBoolStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertBoolStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyBoolString = []
+PyBoolString.append( 'def StringString() :  ' )
+PyBoolString.append( '    string = "1" ' )
+PyBoolString.append( '    return string  ' )
+PyBoolString.append( ' ' )
+BoolString = GraphConvertBoolStringCheck.INode( 'StringString' , PyBoolString )
+BoolString.OutPort( 'OutString' , 'string' )
+BoolString.SetName( 'BoolString' )
+BoolString.SetAuthor( 'JR' )
+BoolString.SetComment( 'InLine Node' )
+BoolString.Coords( 14 , 114 )
+
+# Creation of Links
+BoolStringOutString = BoolString.Port( 'OutString' )
+MiscTypesInString = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertBoolStringCheck.Link( BoolStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertBoolStringCheck.Run()
+GraphConvertBoolStringCheck.DoneW()
+GraphConvertBoolStringCheck.PrintPorts()
diff --git a/examples/GraphConvertBoolStringCheck.xml b/examples/GraphConvertBoolStringCheck.xml
new file mode 100755 (executable)
index 0000000..1f65a17
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertBoolStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertBoolStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 16:51:13</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>BoolString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>StringString</FuncName>
+     <PyFunc><![CDATA[def StringString() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "1" ]]></PyFunc>
+     <PyFunc><![CDATA[    return string  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 16:49:52</creation-date>
+   <lastmodification-date>11/9/2003 - 16:49:52</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 16:49:52</creation-date>
+   <lastmodification-date>11/9/2003 - 16:49:52</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>BoolString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertCharCheck.py b/examples/GraphConvertCharCheck.py
new file mode 100755 (executable)
index 0000000..7843b7c
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertCharCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertCharCheck = Graph( 'GraphConvertCharCheck' )
+GraphConvertCharCheck.SetName( 'GraphConvertCharCheck' )
+GraphConvertCharCheck.SetAuthor( 'JR' )
+GraphConvertCharCheck.SetComment( 'Check conversions of Char' )
+GraphConvertCharCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertCharCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyChar = []
+PyChar.append( 'def Char() :  ' )
+PyChar.append( '    aChar = 255  ' )
+PyChar.append( '    return aChar  ' )
+PyChar.append( ' ' )
+Char = GraphConvertCharCheck.INode( 'Char' , PyChar )
+Char.OutPort( 'OutChar' , 'char' )
+Char.SetName( 'Char' )
+Char.SetAuthor( 'JR' )
+Char.SetComment( 'InLine Node' )
+Char.Coords( 14 , 114 )
+
+# Creation of Links
+CharOutChar = Char.Port( 'OutChar' )
+MiscTypesInString = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertCharCheck.Link( CharOutChar , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertCharCheck.Run()
+GraphConvertCharCheck.DoneW()
+GraphConvertCharCheck.PrintPorts()
diff --git a/examples/GraphConvertCharCheck.xml b/examples/GraphConvertCharCheck.xml
new file mode 100755 (executable)
index 0000000..874de99
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertCharCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertCharCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Char</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>Char</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Char</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Char</FuncName>
+     <PyFunc><![CDATA[def Char() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    aChar = 255  ]]></PyFunc>
+     <PyFunc><![CDATA[    return aChar  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 17:20:24</creation-date>
+   <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 17:20:24</creation-date>
+   <lastmodification-date>11/9/2003 - 17:20:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Char</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertCharStringCheck.py b/examples/GraphConvertCharStringCheck.py
new file mode 100755 (executable)
index 0000000..a1bbef5
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertCharStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertCharStringCheck = Graph( 'GraphConvertCharStringCheck' )
+GraphConvertCharStringCheck.SetName( 'GraphConvertCharStringCheck' )
+GraphConvertCharStringCheck.SetAuthor( 'JR' )
+GraphConvertCharStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertCharStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertCharStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyCharString = []
+PyCharString.append( 'def StringString() :  ' )
+PyCharString.append( '    string = "255"  ' )
+PyCharString.append( '    return string  ' )
+PyCharString.append( ' ' )
+CharString = GraphConvertCharStringCheck.INode( 'StringString' , PyCharString )
+CharString.OutPort( 'OutString' , 'string' )
+CharString.SetName( 'CharString' )
+CharString.SetAuthor( 'JR' )
+CharString.SetComment( 'InLine Node' )
+CharString.Coords( 14 , 114 )
+
+# Creation of Links
+CharStringOutString = CharString.Port( 'OutString' )
+MiscTypesInString = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertCharStringCheck.Link( CharStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertCharStringCheck.Run()
+GraphConvertCharStringCheck.DoneW()
+GraphConvertCharStringCheck.PrintPorts()
diff --git a/examples/GraphConvertCharStringCheck.xml b/examples/GraphConvertCharStringCheck.xml
new file mode 100755 (executable)
index 0000000..0c6538d
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertCharStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 16:52:50</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>CharString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>StringString</FuncName>
+     <PyFunc><![CDATA[def StringString() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "255"  ]]></PyFunc>
+     <PyFunc><![CDATA[    return string  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 16:52:29</creation-date>
+   <lastmodification-date>11/9/2003 - 16:52:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 16:52:29</creation-date>
+   <lastmodification-date>11/9/2003 - 16:52:29</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CharString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertDoubleCheck.py b/examples/GraphConvertDoubleCheck.py
new file mode 100755 (executable)
index 0000000..c0f2382
--- /dev/null
@@ -0,0 +1,112 @@
+
+# Generated python file of Graph GraphConvertDoubleCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertDoubleCheck = Graph( 'GraphConvertDoubleCheck' )
+GraphConvertDoubleCheck.SetName( 'GraphConvertDoubleCheck' )
+GraphConvertDoubleCheck.SetAuthor( 'JR' )
+GraphConvertDoubleCheck.SetComment( 'Check conversions of Double' )
+GraphConvertDoubleCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertDoubleCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 217 , 0 )
+
+MiscTypes_1 = GraphConvertDoubleCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes_1.SetName( 'MiscTypes_1' )
+MiscTypes_1.SetAuthor( '' )
+MiscTypes_1.SetContainer( 'localhost/FactoryServer' )
+MiscTypes_1.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes_1.Coords( 433 , 131 )
+
+# Creation of InLine Nodes
+PyDouble = []
+PyDouble.append( 'def Double() :     ' )
+PyDouble.append( '    aDouble = 3.1415926535  ' )
+PyDouble.append( '    print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?"  ' )
+PyDouble.append( '    return aDouble     ' )
+PyDouble.append( '' )
+Double = GraphConvertDoubleCheck.INode( 'Double' , PyDouble )
+Double.OutPort( 'OutDouble' , 'double' )
+Double.SetName( 'Double' )
+Double.SetAuthor( 'JR' )
+Double.SetComment( 'InLine Node' )
+Double.Coords( 9 , 87 )
+
+PyDoubleString = []
+PyDoubleString.append( 'def DoubleString() :       ' )
+PyDoubleString.append( '    aDouble = 3.1415926535    ' )
+PyDoubleString.append( '    print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?"    ' )
+PyDoubleString.append( '    aDoubleString = str( aDouble )  ' )
+PyDoubleString.append( '    print type(aDoubleString),"aDoubleString",aDoubleString  ' )
+PyDoubleString.append( '    return aDoubleString  ' )
+PyDoubleString.append( ' ' )
+DoubleString = GraphConvertDoubleCheck.INode( 'DoubleString' , PyDoubleString )
+DoubleString.OutPort( 'OutDoubleString' , 'string' )
+DoubleString.SetName( 'DoubleString' )
+DoubleString.SetAuthor( 'JR' )
+DoubleString.SetComment( 'InLine Node' )
+DoubleString.Coords( 217 , 334 )
+
+# Creation of Links
+DoubleOutDouble = Double.Port( 'OutDouble' )
+MiscTypesInString = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertDoubleCheck.Link( DoubleOutDouble , MiscTypes.Port( 'InObjRef' ) )
+
+DoubleStringOutDoubleString = DoubleString.Port( 'OutDoubleString' )
+MiscTypes_1InString = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InString' ) )
+
+MiscTypes_1InBool = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InBool' ) )
+
+MiscTypes_1InChar = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InChar' ) )
+
+MiscTypes_1InShort = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InShort' ) )
+
+MiscTypes_1InLong = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InLong' ) )
+
+MiscTypes_1InFloat = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InFloat' ) )
+
+MiscTypes_1InDouble = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InDouble' ) )
+
+MiscTypes_1InObjRef = GraphConvertDoubleCheck.Link( DoubleStringOutDoubleString , MiscTypes_1.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+MiscTypes_1OutString = MiscTypes_1.Port( 'OutString' )
+MiscTypes_1OutBool = MiscTypes_1.Port( 'OutBool' )
+MiscTypes_1OutChar = MiscTypes_1.Port( 'OutChar' )
+MiscTypes_1OutShort = MiscTypes_1.Port( 'OutShort' )
+MiscTypes_1OutLong = MiscTypes_1.Port( 'OutLong' )
+MiscTypes_1OutFloat = MiscTypes_1.Port( 'OutFloat' )
+MiscTypes_1OutDouble = MiscTypes_1.Port( 'OutDouble' )
+MiscTypes_1OutObjRef = MiscTypes_1.Port( 'OutObjRef' )
+
+GraphConvertDoubleCheck.Run()
+GraphConvertDoubleCheck.DoneW()
+GraphConvertDoubleCheck.PrintPorts()
diff --git a/examples/GraphConvertDoubleCheck.xml b/examples/GraphConvertDoubleCheck.xml
new file mode 100755 (executable)
index 0000000..b0ad6da
--- /dev/null
@@ -0,0 +1,368 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertDoubleCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertDoubleCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes_1\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Double</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>Double</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Double</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Double</FuncName>
+     <PyFunc><![CDATA[def Double() :     ]]></PyFunc>
+     <PyFunc><![CDATA[    aDouble = 3.1415926535  ]]></PyFunc>
+     <PyFunc><![CDATA[    print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?"  ]]></PyFunc>
+     <PyFunc><![CDATA[    return aDouble     ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 17:49:39</creation-date>
+   <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>9</x-position>
+   <y-position>87</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 17:49:39</creation-date>
+   <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>217</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DoubleString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DoubleString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutDoubleString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DoubleString</FuncName>
+     <PyFunc><![CDATA[def DoubleString() :       ]]></PyFunc>
+     <PyFunc><![CDATA[    aDouble = 3.1415926535    ]]></PyFunc>
+     <PyFunc><![CDATA[    print type(aDouble),"aDouble",aDouble,"NO double in python !!! Use Strings ?"    ]]></PyFunc>
+     <PyFunc><![CDATA[    aDoubleString = str( aDouble )  ]]></PyFunc>
+     <PyFunc><![CDATA[    print type(aDoubleString),"aDoubleString",aDoubleString  ]]></PyFunc>
+     <PyFunc><![CDATA[    return aDoubleString  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 17:49:39</creation-date>
+   <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>217</x-position>
+   <y-position>334</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 17:49:39</creation-date>
+   <lastmodification-date>12/9/2003 - 17:49:39</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>433</x-position>
+   <y-position>131</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Double</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutDoubleString</fromserviceparameter-name>
+   <tonode-name>MiscTypes_1</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertDoubleStringCheck.py b/examples/GraphConvertDoubleStringCheck.py
new file mode 100755 (executable)
index 0000000..a19fb47
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertDoubleStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertDoubleStringCheck = Graph( 'GraphConvertDoubleStringCheck' )
+GraphConvertDoubleStringCheck.SetName( 'GraphConvertDoubleStringCheck' )
+GraphConvertDoubleStringCheck.SetAuthor( 'JR' )
+GraphConvertDoubleStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertDoubleStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertDoubleStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyDoubleString = []
+PyDoubleString.append( 'def DoubleString() :  ' )
+PyDoubleString.append( '    string = "3.1415926535"  ' )
+PyDoubleString.append( '    return string  ' )
+PyDoubleString.append( ' ' )
+DoubleString = GraphConvertDoubleStringCheck.INode( 'DoubleString' , PyDoubleString )
+DoubleString.OutPort( 'OutString' , 'string' )
+DoubleString.SetName( 'DoubleString' )
+DoubleString.SetAuthor( 'JR' )
+DoubleString.SetComment( 'InLine Node' )
+DoubleString.Coords( 14 , 114 )
+
+# Creation of Links
+DoubleStringOutString = DoubleString.Port( 'OutString' )
+MiscTypesInString = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertDoubleStringCheck.Link( DoubleStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertDoubleStringCheck.Run()
+GraphConvertDoubleStringCheck.DoneW()
+GraphConvertDoubleStringCheck.PrintPorts()
diff --git a/examples/GraphConvertDoubleStringCheck.xml b/examples/GraphConvertDoubleStringCheck.xml
new file mode 100755 (executable)
index 0000000..88502a3
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertDoubleStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertDoubleStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 15:10:45</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>DoubleString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DoubleString</FuncName>
+     <PyFunc><![CDATA[def DoubleString() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "3.1415926535"  ]]></PyFunc>
+     <PyFunc><![CDATA[    return string  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 15:9:48</creation-date>
+   <lastmodification-date>12/9/2003 - 15:9:48</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 15:9:48</creation-date>
+   <lastmodification-date>12/9/2003 - 15:9:48</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DoubleString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertFloatCheck.py b/examples/GraphConvertFloatCheck.py
new file mode 100755 (executable)
index 0000000..12fdb7e
--- /dev/null
@@ -0,0 +1,65 @@
+
+# Generated python file of Graph GraphConvertFloatCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertFloatCheck = Graph( 'GraphConvertFloatCheck' )
+GraphConvertFloatCheck.SetName( 'GraphConvertFloatCheck' )
+GraphConvertFloatCheck.SetAuthor( 'JR' )
+GraphConvertFloatCheck.SetComment( 'Check conversions of Float' )
+GraphConvertFloatCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertFloatCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyFloat = []
+PyFloat.append( 'def Float() :   ' )
+PyFloat.append( '    aFloat = 3.1415926535 ' )
+PyFloat.append( '    print type(aFloat),"aFloat",aFloat ' )
+PyFloat.append( '    return aFloat   ' )
+PyFloat.append( ' ' )
+Float = GraphConvertFloatCheck.INode( 'Float' , PyFloat )
+Float.OutPort( 'OutFloat' , 'float' )
+Float.SetName( 'Float' )
+Float.SetAuthor( 'JR' )
+Float.SetComment( 'InLine Node' )
+Float.Coords( 14 , 114 )
+
+# Creation of Links
+FloatOutFloat = Float.Port( 'OutFloat' )
+MiscTypesInString = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertFloatCheck.Link( FloatOutFloat , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertFloatCheck.Run()
+GraphConvertFloatCheck.DoneW()
+GraphConvertFloatCheck.PrintPorts()
diff --git a/examples/GraphConvertFloatCheck.xml b/examples/GraphConvertFloatCheck.xml
new file mode 100755 (executable)
index 0000000..d718bf6
--- /dev/null
@@ -0,0 +1,196 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertFloatCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertFloatCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Float</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>Float</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Float</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Float</FuncName>
+     <PyFunc><![CDATA[def Float() :   ]]></PyFunc>
+     <PyFunc><![CDATA[    aFloat = 3.1415926535 ]]></PyFunc>
+     <PyFunc><![CDATA[    print type(aFloat),"aFloat",aFloat ]]></PyFunc>
+     <PyFunc><![CDATA[    return aFloat   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 15:12:6</creation-date>
+   <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 15:12:6</creation-date>
+   <lastmodification-date>12/9/2003 - 15:12:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Float</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertFloatStringCheck.py b/examples/GraphConvertFloatStringCheck.py
new file mode 100755 (executable)
index 0000000..45d4f9c
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertFloatStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertFloatStringCheck = Graph( 'GraphConvertFloatStringCheck' )
+GraphConvertFloatStringCheck.SetName( 'GraphConvertFloatStringCheck' )
+GraphConvertFloatStringCheck.SetAuthor( 'JR' )
+GraphConvertFloatStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertFloatStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertFloatStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyFloatString = []
+PyFloatString.append( 'def FloatString() :  ' )
+PyFloatString.append( '    string = "3.1415926535"  ' )
+PyFloatString.append( '    return string  ' )
+PyFloatString.append( ' ' )
+FloatString = GraphConvertFloatStringCheck.INode( 'FloatString' , PyFloatString )
+FloatString.OutPort( 'OutString' , 'string' )
+FloatString.SetName( 'FloatString' )
+FloatString.SetAuthor( 'JR' )
+FloatString.SetComment( 'InLine Node' )
+FloatString.Coords( 14 , 114 )
+
+# Creation of Links
+FloatStringOutString = FloatString.Port( 'OutString' )
+MiscTypesInString = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertFloatStringCheck.Link( FloatStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertFloatStringCheck.Run()
+GraphConvertFloatStringCheck.DoneW()
+GraphConvertFloatStringCheck.PrintPorts()
diff --git a/examples/GraphConvertFloatStringCheck.xml b/examples/GraphConvertFloatStringCheck.xml
new file mode 100755 (executable)
index 0000000..96acc38
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertFloatStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertFloatStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 17:7:31</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>FloatString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>FloatString</FuncName>
+     <PyFunc><![CDATA[def FloatString() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "3.1415926535"  ]]></PyFunc>
+     <PyFunc><![CDATA[    return string  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 17:7:14</creation-date>
+   <lastmodification-date>11/9/2003 - 17:7:14</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 17:7:14</creation-date>
+   <lastmodification-date>11/9/2003 - 17:7:14</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertIORCheck.py b/examples/GraphConvertIORCheck.py
new file mode 100755 (executable)
index 0000000..9830a97
--- /dev/null
@@ -0,0 +1,79 @@
+
+# Generated python file of Graph GraphConvertIORCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertIORCheck = Graph( 'GraphConvertIORCheck' )
+GraphConvertIORCheck.SetName( 'GraphConvertIORCheck' )
+GraphConvertIORCheck.SetAuthor( 'JR' )
+GraphConvertIORCheck.SetComment( 'Check conversions of IOR' )
+GraphConvertIORCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertIORCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PySyrComponent = []
+PySyrComponent.append( 'from LifeCycleCORBA import *       ' )
+PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :       ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"       ' )
+PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)       ' )
+PySyrComponent.append( '    print "SyrComponent orb",orb     ' )
+PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)       ' )
+PySyrComponent.append( '    print "SyrComponent lcc",lcc     ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"       ' )
+PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )       ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef       ' )
+PySyrComponent.append( '    IOR = orb.object_to_string( ComponentRef )  ' )
+PySyrComponent.append( '    return IOR  ' )
+PySyrComponent.append( ' ' )
+SyrComponent = GraphConvertIORCheck.INode( 'SyrComponent' , PySyrComponent )
+SyrComponent.InPort( 'aContainer' , 'string' )
+SyrComponent.InPort( 'aComponent' , 'string' )
+SyrComponent.OutPort( 'anIOR' , 'string' )
+SyrComponent.SetName( 'SyrComponent' )
+SyrComponent.SetAuthor( 'JR' )
+SyrComponent.SetComment( 'InLine Node' )
+SyrComponent.Coords( 14 , 114 )
+
+# Creation of Links
+SyrComponentanIOR = SyrComponent.Port( 'anIOR' )
+MiscTypesInShort = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInString = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInLong = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertIORCheck.Link( SyrComponentanIOR , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Input datas
+SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServerPy')
+SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrControlComponent')
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertIORCheck.Run()
+GraphConvertIORCheck.DoneW()
+GraphConvertIORCheck.PrintPorts()
diff --git a/examples/GraphConvertIORCheck.xml b/examples/GraphConvertIORCheck.xml
new file mode 100755 (executable)
index 0000000..01be445
--- /dev/null
@@ -0,0 +1,234 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertIORCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertIORCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of IOR</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>SyrComponent</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SyrComponent</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>anIOR</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>SyrComponent</FuncName>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *       ]]></PyFunc>
+     <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"       ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent orb",orb     ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent lcc",lcc     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"       ]]></PyFunc>
+     <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef       ]]></PyFunc>
+     <PyFunc><![CDATA[    IOR = orb.object_to_string( ComponentRef )  ]]></PyFunc>
+     <PyFunc><![CDATA[    return IOR  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 15:45:18</creation-date>
+   <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 15:45:18</creation-date>
+   <lastmodification-date>11/9/2003 - 15:45:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anIOR</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphConvertIORCheck</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aContainer</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>FactoryServerPy</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphConvertIORCheck</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aComponent</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>SyrControlComponent</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphConvertLongCheck.py b/examples/GraphConvertLongCheck.py
new file mode 100755 (executable)
index 0000000..d729477
--- /dev/null
@@ -0,0 +1,65 @@
+
+# Generated python file of Graph GraphConvertLongCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertLongCheck = Graph( 'GraphConvertLongCheck' )
+GraphConvertLongCheck.SetName( 'GraphConvertLongCheck' )
+GraphConvertLongCheck.SetAuthor( 'JR' )
+GraphConvertLongCheck.SetComment( 'Check conversions of Long' )
+GraphConvertLongCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertLongCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyLong = []
+PyLong.append( 'def Long() :    ' )
+PyLong.append( '    aLong = 2147483647 ' )
+PyLong.append( '    print type( aLong ),"aLong",aLong  ' )
+PyLong.append( '    return aLong    ' )
+PyLong.append( ' ' )
+Long = GraphConvertLongCheck.INode( 'Long' , PyLong )
+Long.OutPort( 'OutLong' , 'long' )
+Long.SetName( 'Long' )
+Long.SetAuthor( 'JR' )
+Long.SetComment( 'InLine Node' )
+Long.Coords( 14 , 114 )
+
+# Creation of Links
+LongOutLong = Long.Port( 'OutLong' )
+MiscTypesInString = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertLongCheck.Link( LongOutLong , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertLongCheck.Run()
+GraphConvertLongCheck.DoneW()
+GraphConvertLongCheck.PrintPorts()
diff --git a/examples/GraphConvertLongCheck.xml b/examples/GraphConvertLongCheck.xml
new file mode 100755 (executable)
index 0000000..969cb0a
--- /dev/null
@@ -0,0 +1,196 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertLongCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertLongCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Long</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>Long</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Long</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Long</FuncName>
+     <PyFunc><![CDATA[def Long() :    ]]></PyFunc>
+     <PyFunc><![CDATA[    aLong = 2147483647 ]]></PyFunc>
+     <PyFunc><![CDATA[    print type( aLong ),"aLong",aLong  ]]></PyFunc>
+     <PyFunc><![CDATA[    return aLong    ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 10:31:19</creation-date>
+   <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 10:31:19</creation-date>
+   <lastmodification-date>12/9/2003 - 10:31:19</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Long</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertLongStringCheck.py b/examples/GraphConvertLongStringCheck.py
new file mode 100755 (executable)
index 0000000..8b02e0d
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertLongStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertLongStringCheck = Graph( 'GraphConvertLongStringCheck' )
+GraphConvertLongStringCheck.SetName( 'GraphConvertLongStringCheck' )
+GraphConvertLongStringCheck.SetAuthor( 'JR' )
+GraphConvertLongStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertLongStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertLongStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyLongString = []
+PyLongString.append( 'def LongString() :   ' )
+PyLongString.append( '    string = "9223372036854775807"   ' )
+PyLongString.append( '    return string   ' )
+PyLongString.append( ' ' )
+LongString = GraphConvertLongStringCheck.INode( 'LongString' , PyLongString )
+LongString.OutPort( 'OutString' , 'string' )
+LongString.SetName( 'LongString' )
+LongString.SetAuthor( 'JR' )
+LongString.SetComment( 'InLine Node' )
+LongString.Coords( 14 , 114 )
+
+# Creation of Links
+LongStringOutString = LongString.Port( 'OutString' )
+MiscTypesInString = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertLongStringCheck.Link( LongStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertLongStringCheck.Run()
+GraphConvertLongStringCheck.DoneW()
+GraphConvertLongStringCheck.PrintPorts()
diff --git a/examples/GraphConvertLongStringCheck.xml b/examples/GraphConvertLongStringCheck.xml
new file mode 100755 (executable)
index 0000000..cf71bbe
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertLongStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertLongStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>LongString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LongString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>LongString</FuncName>
+     <PyFunc><![CDATA[def LongString() :   ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "9223372036854775807"   ]]></PyFunc>
+     <PyFunc><![CDATA[    return string   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 10:51:28</creation-date>
+   <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 10:51:28</creation-date>
+   <lastmodification-date>12/9/2003 - 10:51:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LongString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertObjRefCheck.py b/examples/GraphConvertObjRefCheck.py
new file mode 100755 (executable)
index 0000000..55a45ae
--- /dev/null
@@ -0,0 +1,78 @@
+
+# Generated python file of Graph GraphConvertObjRefCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertObjRefCheck = Graph( 'GraphConvertObjRefCheck' )
+GraphConvertObjRefCheck.SetName( 'GraphConvertObjRefCheck' )
+GraphConvertObjRefCheck.SetAuthor( 'JR' )
+GraphConvertObjRefCheck.SetComment( 'Check conversions of ObjRef' )
+GraphConvertObjRefCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertObjRefCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PySyrComponent = []
+PySyrComponent.append( 'from LifeCycleCORBA import *     ' )
+PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :     ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ' )
+PySyrComponent.append( '    print "SyrComponent orb",orb   ' )
+PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)     ' )
+PySyrComponent.append( '    print "SyrComponent lcc",lcc   ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ' )
+PySyrComponent.append( '    return ComponentRef    ' )
+PySyrComponent.append( '' )
+SyrComponent = GraphConvertObjRefCheck.INode( 'SyrComponent' , PySyrComponent )
+SyrComponent.InPort( 'aContainer' , 'string' )
+SyrComponent.InPort( 'aComponent' , 'string' )
+SyrComponent.OutPort( 'anObjRef' , 'objref' )
+SyrComponent.SetName( 'SyrComponent' )
+SyrComponent.SetAuthor( 'JR' )
+SyrComponent.SetComment( 'InLine Node' )
+SyrComponent.Coords( 14 , 114 )
+
+# Creation of Links
+SyrComponentanObjRef = SyrComponent.Port( 'anObjRef' )
+MiscTypesInShort = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInString = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInLong = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertObjRefCheck.Link( SyrComponentanObjRef , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Input datas
+SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServerPy')
+SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrControlComponent')
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertObjRefCheck.Run()
+GraphConvertObjRefCheck.DoneW()
+GraphConvertObjRefCheck.PrintPorts()
diff --git a/examples/GraphConvertObjRefCheck.xml b/examples/GraphConvertObjRefCheck.xml
new file mode 100755 (executable)
index 0000000..59cee23
--- /dev/null
@@ -0,0 +1,233 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertObjRefCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertObjRefCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 15:18:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of ObjRef</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>SyrComponent</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SyrComponent</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>anObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>SyrComponent</FuncName>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *     ]]></PyFunc>
+     <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent orb",orb   ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent lcc",lcc   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+     <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ]]></PyFunc>
+     <PyFunc><![CDATA[    return ComponentRef    ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 15:16:43</creation-date>
+   <lastmodification-date>11/9/2003 - 15:16:43</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 15:16:43</creation-date>
+   <lastmodification-date>11/9/2003 - 15:16:43</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphConvertObjRefCheck</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aContainer</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>FactoryServerPy</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphConvertObjRefCheck</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aComponent</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>SyrControlComponent</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphConvertShortCheck.py b/examples/GraphConvertShortCheck.py
new file mode 100755 (executable)
index 0000000..08e86b1
--- /dev/null
@@ -0,0 +1,65 @@
+
+# Generated python file of Graph GraphConvertShortCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertShortCheck = Graph( 'GraphConvertShortCheck' )
+GraphConvertShortCheck.SetName( 'GraphConvertShortCheck' )
+GraphConvertShortCheck.SetAuthor( 'JR' )
+GraphConvertShortCheck.SetComment( 'Check conversions of Short' )
+GraphConvertShortCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertShortCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyShort = []
+PyShort.append( 'def Short() :  ' )
+PyShort.append( '    aShort = 32767 ' )
+PyShort.append( '    print type( aShort ),"aShort",aShort ' )
+PyShort.append( '    return aShort  ' )
+PyShort.append( ' ' )
+Short = GraphConvertShortCheck.INode( 'Short' , PyShort )
+Short.OutPort( 'OutShort' , 'short' )
+Short.SetName( 'Short' )
+Short.SetAuthor( 'JR' )
+Short.SetComment( 'InLine Node' )
+Short.Coords( 14 , 114 )
+
+# Creation of Links
+ShortOutShort = Short.Port( 'OutShort' )
+MiscTypesInString = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertShortCheck.Link( ShortOutShort , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertShortCheck.Run()
+GraphConvertShortCheck.DoneW()
+GraphConvertShortCheck.PrintPorts()
diff --git a/examples/GraphConvertShortCheck.xml b/examples/GraphConvertShortCheck.xml
new file mode 100755 (executable)
index 0000000..82fd8b3
--- /dev/null
@@ -0,0 +1,196 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertShortCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertShortCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of Short</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>Short</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Short</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Short</FuncName>
+     <PyFunc><![CDATA[def Short() :  ]]></PyFunc>
+     <PyFunc><![CDATA[    aShort = 32767 ]]></PyFunc>
+     <PyFunc><![CDATA[    print type( aShort ),"aShort",aShort ]]></PyFunc>
+     <PyFunc><![CDATA[    return aShort  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 10:35:33</creation-date>
+   <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 10:35:33</creation-date>
+   <lastmodification-date>12/9/2003 - 10:35:33</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Short</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertShortStringCheck.py b/examples/GraphConvertShortStringCheck.py
new file mode 100755 (executable)
index 0000000..16f6e96
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertShortStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertShortStringCheck = Graph( 'GraphConvertShortStringCheck' )
+GraphConvertShortStringCheck.SetName( 'GraphConvertShortStringCheck' )
+GraphConvertShortStringCheck.SetAuthor( 'JR' )
+GraphConvertShortStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertShortStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertShortStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyShortString = []
+PyShortString.append( 'def ShortString() :   ' )
+PyShortString.append( '    string = "32767"   ' )
+PyShortString.append( '    return string   ' )
+PyShortString.append( ' ' )
+ShortString = GraphConvertShortStringCheck.INode( 'ShortString' , PyShortString )
+ShortString.OutPort( 'OutString' , 'string' )
+ShortString.SetName( 'ShortString' )
+ShortString.SetAuthor( 'JR' )
+ShortString.SetComment( 'InLine Node' )
+ShortString.Coords( 14 , 114 )
+
+# Creation of Links
+ShortStringOutString = ShortString.Port( 'OutString' )
+MiscTypesInString = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertShortStringCheck.Link( ShortStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertShortStringCheck.Run()
+GraphConvertShortStringCheck.DoneW()
+GraphConvertShortStringCheck.PrintPorts()
diff --git a/examples/GraphConvertShortStringCheck.xml b/examples/GraphConvertShortStringCheck.xml
new file mode 100755 (executable)
index 0000000..7b04918
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertShortStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertShortStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>ShortString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ShortString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>ShortString</FuncName>
+     <PyFunc><![CDATA[def ShortString() :   ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "32767"   ]]></PyFunc>
+     <PyFunc><![CDATA[    return string   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>12/9/2003 - 10:37:59</creation-date>
+   <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>12/9/2003 - 10:37:59</creation-date>
+   <lastmodification-date>12/9/2003 - 10:37:59</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ShortString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphConvertStringStringCheck.py b/examples/GraphConvertStringStringCheck.py
new file mode 100755 (executable)
index 0000000..a42318f
--- /dev/null
@@ -0,0 +1,64 @@
+
+# Generated python file of Graph GraphConvertStringStringCheck
+
+from SuperV import *
+# Graph creation 
+GraphConvertStringStringCheck = Graph( 'GraphConvertStringStringCheck' )
+GraphConvertStringStringCheck.SetName( 'GraphConvertStringStringCheck' )
+GraphConvertStringStringCheck.SetAuthor( 'JR' )
+GraphConvertStringStringCheck.SetComment( 'Check conversions of String' )
+GraphConvertStringStringCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+MiscTypes = GraphConvertStringStringCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 284 , 28 )
+
+# Creation of InLine Nodes
+PyStringString = []
+PyStringString.append( 'def StringString() : ' )
+PyStringString.append( '    string = "The sentence that you are reading cannot be demonstrated" ' )
+PyStringString.append( '    return string ' )
+PyStringString.append( '' )
+StringString = GraphConvertStringStringCheck.INode( 'StringString' , PyStringString )
+StringString.OutPort( 'OutString' , 'string' )
+StringString.SetName( 'StringString' )
+StringString.SetAuthor( 'JR' )
+StringString.SetComment( 'InLine Node' )
+StringString.Coords( 14 , 114 )
+
+# Creation of Links
+StringStringOutString = StringString.Port( 'OutString' )
+MiscTypesInString = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InString' ) )
+
+MiscTypesInBool = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InBool' ) )
+
+MiscTypesInChar = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InChar' ) )
+
+MiscTypesInShort = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InShort' ) )
+
+MiscTypesInLong = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InLong' ) )
+
+MiscTypesInFloat = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InFloat' ) )
+
+MiscTypesInDouble = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InDouble' ) )
+
+MiscTypesInObjRef = GraphConvertStringStringCheck.Link( StringStringOutString , MiscTypes.Port( 'InObjRef' ) )
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphConvertStringStringCheck.Run()
+GraphConvertStringStringCheck.DoneW()
+GraphConvertStringStringCheck.PrintPorts()
diff --git a/examples/GraphConvertStringStringCheck.xml b/examples/GraphConvertStringStringCheck.xml
new file mode 100755 (executable)
index 0000000..fc1aeba
--- /dev/null
@@ -0,0 +1,195 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphConvertStringStringCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphConvertStringCheck</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>30/7/2003 - 14:23:52</creation-date>
+   <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Check conversions of String</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>StringString</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringString</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>StringString</FuncName>
+     <PyFunc><![CDATA[def StringString() : ]]></PyFunc>
+     <PyFunc><![CDATA[    string = "The sentence that you are reading cannot be demonstrated" ]]></PyFunc>
+     <PyFunc><![CDATA[    return string ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 16:43:51</creation-date>
+   <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>14</x-position>
+   <y-position>114</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 16:43:51</creation-date>
+   <lastmodification-date>11/9/2003 - 16:43:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>284</x-position>
+   <y-position>28</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>StringString</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphCpuUsed.py b/examples/GraphCpuUsed.py
new file mode 100755 (executable)
index 0000000..15906f1
--- /dev/null
@@ -0,0 +1,142 @@
+
+# Generated python file of Graph GraphCpuUsed
+
+from SuperV import *
+# Graph creation 
+GraphCpuUsed = Graph( 'GraphCpuUsed' )
+GraphCpuUsed.SetName( 'GraphCpuUsed' )
+GraphCpuUsed.SetAuthor( '' )
+GraphCpuUsed.SetComment( '' )
+GraphCpuUsed.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+sigma = GraphCpuUsed.FNode( 'FactorialComponent' , 'FactorialComponent' , 'sigma' )
+sigma.SetName( 'sigma' )
+sigma.SetAuthor( 'JR' )
+sigma.SetContainer( 'localhost/FactoryServerPy' )
+sigma.SetComment( 'sigma from FactorialComponent' )
+sigma.Coords( 214 , 172 )
+
+Sigma = GraphCpuUsed.FNode( 'AddComponent' , 'AddComponent' , 'Sigma' )
+Sigma.SetName( 'Sigma' )
+Sigma.SetAuthor( '' )
+Sigma.SetContainer( 'localhost/FactoryServer' )
+Sigma.SetComment( 'Sigma from AddComponent' )
+Sigma.Coords( 418 , 21 )
+
+# Creation of InLine Nodes
+PyAdd = []
+PyAdd.append( 'from time import *       ' )
+PyAdd.append( 'def Add(a,b) :           ' )
+PyAdd.append( '    print "Add will wait 5 seconds"         ' )
+PyAdd.append( '    d = dir()        ' )
+PyAdd.append( '    print "Add",d        ' )
+PyAdd.append( '    d = dir(sleep)        ' )
+PyAdd.append( '    print "Add",d        ' )
+PyAdd.append( '    sleep(5)         ' )
+PyAdd.append( '    print "Add waited"         ' )
+PyAdd.append( '    n = 0     ' )
+PyAdd.append( '    while n < 10000 :     ' )
+PyAdd.append( '        i = 0     ' )
+PyAdd.append( '        s = 0     ' )
+PyAdd.append( '        while i <= b :     ' )
+PyAdd.append( '            s = s + i     ' )
+PyAdd.append( '            i = i + 1     ' )
+PyAdd.append( '        n = n + 1     ' )
+PyAdd.append( '    return s          ' )
+PyAdd.append( '' )
+Add = GraphCpuUsed.INode( 'Add' , PyAdd )
+Add.InPort( 'a' , 'long' )
+Add.InPort( 'b' , 'long' )
+Add.OutPort( 'f' , 'long' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetComment( 'Python function' )
+Add.Coords( 214 , 0 )
+
+PySub = []
+PySub.append( 'def Sub(a,b) : ' )
+PySub.append( '    return a-b ' )
+PySub.append( '' )
+Sub = GraphCpuUsed.INode( 'Sub' , PySub )
+Sub.InPort( 'a' , 'long' )
+Sub.InPort( 'b' , 'long' )
+Sub.OutPort( 'f' , 'long' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetComment( 'Python function' )
+Sub.Coords( 0 , 139 )
+
+PyCompare = []
+PyCompare.append( 'def Compare( Add , sigma , Sigma ) :  ' )
+PyCompare.append( '    Result = "Good" ' )
+PyCompare.append( '    if Add != sigma :  ' )
+PyCompare.append( '            Result = "Bad" ' )
+PyCompare.append( '    if Add != Sigma :  ' )
+PyCompare.append( '            Result = "Bad" ' )
+PyCompare.append( '    return Result  ' )
+PyCompare.append( '' )
+Compare = GraphCpuUsed.INode( 'Compare' , PyCompare )
+Compare.InPort( 'Add' , 'long' )
+Compare.InPort( 'Sigma' , 'long' )
+Compare.InPort( 'sigma' , 'long' )
+Compare.OutPort( 'Result' , 'string' )
+Compare.SetName( 'Compare' )
+Compare.SetAuthor( '' )
+Compare.SetComment( 'Compute Node' )
+Compare.Coords( 419 , 184 )
+
+# Creation of Links
+Addf = Add.Port( 'f' )
+CompareAdd = GraphCpuUsed.Link( Addf , Compare.Port( 'Add' ) )
+CompareAdd.AddCoord( 1 , 411 , 265 )
+CompareAdd.AddCoord( 2 , 411 , 169 )
+CompareAdd.AddCoord( 3 , 617 , 169 )
+CompareAdd.AddCoord( 4 , 618 , 8 )
+CompareAdd.AddCoord( 5 , 401 , 8 )
+CompareAdd.AddCoord( 6 , 400 , 80 )
+
+Subf = Sub.Port( 'f' )
+Addb = GraphCpuUsed.Link( Subf , Add.Port( 'b' ) )
+Addb.AddCoord( 1 , 189 , 108 )
+Addb.AddCoord( 2 , 191 , 220 )
+
+sigman = GraphCpuUsed.Link( Subf , sigma.Port( 'n' ) )
+sigman.AddCoord( 1 , 206 , 254 )
+sigman.AddCoord( 2 , 206 , 220 )
+
+Sigman = GraphCpuUsed.Link( Subf , Sigma.Port( 'n' ) )
+Sigman.AddCoord( 1 , 389 , 101 )
+Sigman.AddCoord( 2 , 390 , 160 )
+Sigman.AddCoord( 3 , 190 , 161 )
+Sigman.AddCoord( 4 , 190 , 220 )
+
+sigmaf = sigma.Port( 'f' )
+Comparesigma = GraphCpuUsed.Link( sigmaf , Compare.Port( 'sigma' ) )
+Comparesigma.AddCoord( 1 , 386 , 323 )
+Comparesigma.AddCoord( 2 , 385 , 253 )
+
+Sigmaf = Sigma.Port( 'f' )
+CompareSigma = GraphCpuUsed.Link( Sigmaf , Compare.Port( 'Sigma' ) )
+CompareSigma.AddCoord( 1 , 400 , 295 )
+CompareSigma.AddCoord( 2 , 400 , 153 )
+CompareSigma.AddCoord( 3 , 595 , 153 )
+CompareSigma.AddCoord( 4 , 595 , 102 )
+
+# Creation of Input datas
+Adda = Add.Input( 'a' , 1)
+Suba = Sub.Input( 'a' , 1000)
+Subb = Sub.Input( 'b' , 1)
+
+# Creation of Output variables
+CompareResult = Compare.Port( 'Result' )
+
+GraphCpuUsed.Run()
+GraphCpuUsed.DoneW()
+GraphCpuUsed.PrintPorts()
+print "sigma",sigma.CpuUsed(),"seconds"
+print "Sigma",Sigma.CpuUsed(),"seconds"
+print "Add",Add.CpuUsed(),"seconds"
+print "Sub",Sub.CpuUsed(),"seconds"
+print "Compare",Compare.CpuUsed(),"seconds"
diff --git a/examples/GraphCpuUsed.xml b/examples/GraphCpuUsed.xml
new file mode 100755 (executable)
index 0000000..4140fb7
--- /dev/null
@@ -0,0 +1,339 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphCpuUsed</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphCpuUsed</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Add\a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>Compare\Result</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/3/2003 - 10:58:41</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Add</FuncName>
+     <PyFunc><![CDATA[from time import *       ]]></PyFunc>
+     <PyFunc><![CDATA[def Add(a,b) :           ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add will wait 5 seconds"         ]]></PyFunc>
+     <PyFunc><![CDATA[    d = dir()        ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add",d        ]]></PyFunc>
+     <PyFunc><![CDATA[    d = dir(sleep)        ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add",d        ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep(5)         ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add waited"         ]]></PyFunc>
+     <PyFunc><![CDATA[    n = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[    while n < 10000 :     ]]></PyFunc>
+     <PyFunc><![CDATA[        i = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[        s = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[        while i <= b :     ]]></PyFunc>
+     <PyFunc><![CDATA[            s = s + i     ]]></PyFunc>
+     <PyFunc><![CDATA[            i = i + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[        n = n + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[    return s          ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/8/2003 - 11:44:4</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>214</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Sub</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Sub</FuncName>
+     <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
+     <PyFunc><![CDATA[    return a-b ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/8/2003 - 11:44:4</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>0</x-position>
+   <y-position>139</y-position>  </node>
+  <node>
+<component-name>FactorialComponent</component-name>
+   <interface-name>FactorialComponent</interface-name>
+   <node-name>sigma</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>sigma</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>n</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>6/8/2003 - 11:44:4</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>localhost/FactoryServerPy</container>
+   <comment>sigma from FactorialComponent</comment>
+   <x-position>214</x-position>
+   <y-position>172</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Sigma</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sigma</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>n</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>6/8/2003 - 11:44:4</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sigma from AddComponent</comment>
+   <x-position>418</x-position>
+   <y-position>21</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Compare</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Compare</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Add</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sigma</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sigma</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>Result</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Compare</FuncName>
+     <PyFunc><![CDATA[def Compare( Add , sigma , Sigma ) :  ]]></PyFunc>
+     <PyFunc><![CDATA[ Result = "Good" ]]></PyFunc>
+     <PyFunc><![CDATA[ if Add != sigma :  ]]></PyFunc>
+     <PyFunc><![CDATA[         Result = "Bad" ]]></PyFunc>
+     <PyFunc><![CDATA[ if Add != Sigma :  ]]></PyFunc>
+     <PyFunc><![CDATA[         Result = "Bad" ]]></PyFunc>
+     <PyFunc><![CDATA[ return Result  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/8/2003 - 11:44:4</creation-date>
+   <lastmodification-date>6/8/2003 - 11:44:4</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>419</x-position>
+   <y-position>184</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Compare</tonode-name>
+   <toserviceparameter-name>Add</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>411</x>
+     <y>265</y>    </coord>
+    <coord>
+<x>411</x>
+     <y>169</y>    </coord>
+    <coord>
+<x>617</x>
+     <y>169</y>    </coord>
+    <coord>
+<x>618</x>
+     <y>8</y>    </coord>
+    <coord>
+<x>401</x>
+     <y>8</y>    </coord>
+    <coord>
+<x>400</x>
+     <y>80</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>189</x>
+     <y>108</y>    </coord>
+    <coord>
+<x>191</x>
+     <y>220</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>sigma</tonode-name>
+   <toserviceparameter-name>n</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>206</x>
+     <y>254</y>    </coord>
+    <coord>
+<x>206</x>
+     <y>220</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Sigma</tonode-name>
+   <toserviceparameter-name>n</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>389</x>
+     <y>101</y>    </coord>
+    <coord>
+<x>390</x>
+     <y>160</y>    </coord>
+    <coord>
+<x>190</x>
+     <y>161</y>    </coord>
+    <coord>
+<x>190</x>
+     <y>220</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>sigma</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Compare</tonode-name>
+   <toserviceparameter-name>sigma</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>386</x>
+     <y>323</y>    </coord>
+    <coord>
+<x>385</x>
+     <y>253</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sigma</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Compare</tonode-name>
+   <toserviceparameter-name>Sigma</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>400</x>
+     <y>295</y>    </coord>
+    <coord>
+<x>400</x>
+     <y>153</y>    </coord>
+    <coord>
+<x>595</x>
+     <y>153</y>    </coord>
+    <coord>
+<x>595</x>
+     <y>102</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphCpuUsed</fromnode-name>
+   <fromserviceparameter-name>Add\a</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphCpuUsed</fromnode-name>
+   <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1000</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphCpuUsed</fromnode-name>
+   <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphEmptyInLinesTypesCheck.py b/examples/GraphEmptyInLinesTypesCheck.py
new file mode 100755 (executable)
index 0000000..69cdae4
--- /dev/null
@@ -0,0 +1,176 @@
+
+# Generated python file of Graph GraphEmptyInLinesConvertCheck
+
+from SuperV import *
+# Graph creation 
+GraphEmptyInLinesConvertCheck = Graph( 'GraphEmptyInLinesConvertCheck' )
+GraphEmptyInLinesConvertCheck.SetName( 'GraphEmptyInLinesConvertCheck' )
+GraphEmptyInLinesConvertCheck.SetAuthor( 'JR' )
+GraphEmptyInLinesConvertCheck.SetComment( '' )
+GraphEmptyInLinesConvertCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Addition = GraphEmptyInLinesConvertCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+Addition.SetName( 'Addition' )
+Addition.SetAuthor( '' )
+Addition.SetContainer( 'localhost/FactoryServer' )
+Addition.SetComment( 'Addition from AddComponent' )
+Addition.Coords( 232 , 514 )
+
+# Creation of InLine Nodes
+PyBoolCheck = []
+PyBoolCheck.append( ' ' )
+BoolCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyBoolCheck )
+BoolCheck.InPort( 'InBool' , 'boolean' )
+BoolCheck.OutPort( 'OutBool' , 'boolean' )
+BoolCheck.SetName( 'BoolCheck' )
+BoolCheck.SetAuthor( '' )
+BoolCheck.SetComment( 'Empty InLine Node' )
+BoolCheck.Coords( 234 , 92 )
+
+PyCharCheck = []
+PyCharCheck.append( ' ' )
+CharCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyCharCheck )
+CharCheck.InPort( 'InChar' , 'char' )
+CharCheck.OutPort( 'OutChar' , 'char' )
+CharCheck.SetName( 'CharCheck' )
+CharCheck.SetAuthor( '' )
+CharCheck.SetComment( 'Empty InLine Node' )
+CharCheck.Coords( 30 , 142 )
+
+PyShortCheck = []
+PyShortCheck.append( '  ' )
+ShortCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyShortCheck )
+ShortCheck.InPort( 'InShort' , 'short' )
+ShortCheck.OutPort( 'OutShort' , 'short' )
+ShortCheck.SetName( 'ShortCheck' )
+ShortCheck.SetAuthor( '' )
+ShortCheck.SetComment( 'Empty InLine Node' )
+ShortCheck.Coords( 234 , 230 )
+
+PyFloatCheck = []
+PyFloatCheck.append( ' ' )
+FloatCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyFloatCheck )
+FloatCheck.InPort( 'InFloat' , 'float' )
+FloatCheck.OutPort( 'OutFloat' , 'float' )
+FloatCheck.SetName( 'FloatCheck' )
+FloatCheck.SetAuthor( '' )
+FloatCheck.SetComment( 'Empty InLine Node' )
+FloatCheck.Coords( 230 , 375 )
+
+PyLongCheck = []
+PyLongCheck.append( ' ' )
+LongCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyLongCheck )
+LongCheck.InPort( 'InLong' , 'long' )
+LongCheck.OutPort( 'OutLong' , 'long' )
+LongCheck.SetName( 'LongCheck' )
+LongCheck.SetAuthor( '' )
+LongCheck.SetComment( 'Empty InLine Node' )
+LongCheck.Coords( 30 , 282 )
+
+PyStringCheck = []
+PyStringCheck.append( ' ' )
+StringCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyStringCheck )
+StringCheck.InPort( 'InString' , 'string' )
+StringCheck.OutPort( 'OutString' , 'string' )
+StringCheck.SetName( 'StringCheck' )
+StringCheck.SetAuthor( '' )
+StringCheck.SetComment( 'Empty InLine Node' )
+StringCheck.Coords( 30 , 6 )
+
+PyDoubleCheck = []
+PyDoubleCheck.append( '  ' )
+DoubleCheck = GraphEmptyInLinesConvertCheck.INode( '' , PyDoubleCheck )
+DoubleCheck.InPort( 'InDouble' , 'double' )
+DoubleCheck.OutPort( 'OutDouble' , 'double' )
+DoubleCheck.SetName( 'DoubleCheck' )
+DoubleCheck.SetAuthor( '' )
+DoubleCheck.SetComment( 'Empty InLine Node' )
+DoubleCheck.Coords( 29 , 428 )
+
+PyMiscTypes = []
+PyMiscTypes.append( ' ' )
+MiscTypes = GraphEmptyInLinesConvertCheck.INode( '' , PyMiscTypes )
+MiscTypes.InPort( 'InString' , 'string' )
+MiscTypes.InPort( 'InBool' , 'boolean' )
+MiscTypes.InPort( 'InChar' , 'char' )
+MiscTypes.InPort( 'InShort' , 'short' )
+MiscTypes.InPort( 'InLong' , 'long' )
+MiscTypes.InPort( 'InFloat' , 'float' )
+MiscTypes.InPort( 'InDouble' , 'double' )
+MiscTypes.InPort( 'InObjRef' , 'SuperVision::Adder' )
+MiscTypes.OutPort( 'OutString' , 'string' )
+MiscTypes.OutPort( 'OutBool' , 'boolean' )
+MiscTypes.OutPort( 'OutChar' , 'char' )
+MiscTypes.OutPort( 'OutShort' , 'short' )
+MiscTypes.OutPort( 'OutLong' , 'long' )
+MiscTypes.OutPort( 'OutFloat' , 'float' )
+MiscTypes.OutPort( 'OutDouble' , 'double' )
+MiscTypes.OutPort( 'OutObjRef' , 'SuperVisionTest::Addre' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetComment( 'Empty InLine Node' )
+MiscTypes.Coords( 477 , 231 )
+
+# Creation of Links
+BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
+MiscTypesInBool = GraphEmptyInLinesConvertCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
+MiscTypesInBool.AddCoord( 1 , 446 , 341 )
+MiscTypesInBool.AddCoord( 2 , 446 , 172 )
+
+CharCheckOutChar = CharCheck.Port( 'OutChar' )
+MiscTypesInChar = GraphEmptyInLinesConvertCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
+MiscTypesInChar.AddCoord( 1 , 431 , 368 )
+MiscTypesInChar.AddCoord( 2 , 431 , 223 )
+
+ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
+MiscTypesInShort = GraphEmptyInLinesConvertCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
+MiscTypesInShort.AddCoord( 1 , 415 , 397 )
+MiscTypesInShort.AddCoord( 2 , 414 , 310 )
+
+FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
+MiscTypesInFloat = GraphEmptyInLinesConvertCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
+
+AdditionAdder = Addition.Port( 'Adder' )
+MiscTypesInObjRef = GraphEmptyInLinesConvertCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
+MiscTypesInObjRef.AddCoord( 1 , 462 , 514 )
+MiscTypesInObjRef.AddCoord( 2 , 461 , 593 )
+
+LongCheckOutLong = LongCheck.Port( 'OutLong' )
+MiscTypesInLong = GraphEmptyInLinesConvertCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
+MiscTypesInLong.AddCoord( 1 , 406 , 426 )
+MiscTypesInLong.AddCoord( 2 , 405 , 363 )
+
+StringCheckOutString = StringCheck.Port( 'OutString' )
+MiscTypesInString = GraphEmptyInLinesConvertCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
+MiscTypesInString.AddCoord( 1 , 462 , 312 )
+MiscTypesInString.AddCoord( 2 , 461 , 87 )
+
+DoubleCheckOutDouble = DoubleCheck.Port( 'OutDouble' )
+MiscTypesInDouble = GraphEmptyInLinesConvertCheck.Link( DoubleCheckOutDouble , MiscTypes.Port( 'InDouble' ) )
+MiscTypesInDouble.AddCoord( 1 , 445 , 485 )
+MiscTypesInDouble.AddCoord( 2 , 445 , 508 )
+
+# Creation of Input datas
+BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
+CharCheckInChar = CharCheck.Input( 'InChar' , 255)
+ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
+FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
+LongCheckInLong = LongCheck.Input( 'InLong' , 1234567890)
+StringCheckInString = StringCheck.Input( 'InString' , 'aString')
+DoubleCheckInDouble = DoubleCheck.Input( 'InDouble' , 1.23457)
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphEmptyInLinesConvertCheck.Run()
+GraphEmptyInLinesConvertCheck.DoneW()
+GraphEmptyInLinesConvertCheck.PrintPorts()
diff --git a/examples/GraphEmptyInLinesTypesCheck.xml b/examples/GraphEmptyInLinesTypesCheck.xml
new file mode 100755 (executable)
index 0000000..4c011af
--- /dev/null
@@ -0,0 +1,521 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphEmptyInLinesConvertCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphInLinesConvertCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>BoolCheck\InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>CharCheck\InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>ShortCheck\InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>FloatCheck\InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>LongCheck\InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>StringCheck\InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>DoubleCheck\InDouble</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Addre</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/9/2003 - 17:28:48</creation-date>
+   <lastmodification-date>11/9/2003 - 14:24:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>BoolCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>BoolCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>234</x-position>
+   <y-position>92</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>CharCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>CharCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>142</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>ShortCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ShortCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>234</x-position>
+   <y-position>230</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>FloatCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>FloatCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>230</x-position>
+   <y-position>375</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>232</x-position>
+   <y-position>514</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>LongCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LongCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>282</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>StringCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>6</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DoubleCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DoubleCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>29</x-position>
+   <y-position>428</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVision::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Addre</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:21:42</creation-date>
+   <lastmodification-date>11/9/2003 - 14:21:42</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Empty InLine Node</comment>
+   <x-position>477</x-position>
+   <y-position>231</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>BoolCheck</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>446</x>
+     <y>341</y>    </coord>
+    <coord>
+<x>446</x>
+     <y>172</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>CharCheck</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>431</x>
+     <y>368</y>    </coord>
+    <coord>
+<x>431</x>
+     <y>223</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ShortCheck</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>415</x>
+     <y>397</y>    </coord>
+    <coord>
+<x>414</x>
+     <y>310</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>FloatCheck</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>462</x>
+     <y>514</y>    </coord>
+    <coord>
+<x>461</x>
+     <y>593</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LongCheck</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>406</x>
+     <y>426</y>    </coord>
+    <coord>
+<x>405</x>
+     <y>363</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>StringCheck</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>462</x>
+     <y>312</y>    </coord>
+    <coord>
+<x>461</x>
+     <y>87</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>DoubleCheck</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>445</x>
+     <y>485</y>    </coord>
+    <coord>
+<x>445</x>
+     <y>508</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
+   <tonode-name>BoolCheck</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
+   <tonode-name>CharCheck</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>255</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
+   <tonode-name>ShortCheck</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>16383</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
+   <tonode-name>FloatCheck</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3.14159</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
+   <tonode-name>LongCheck</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1234567890</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
+   <tonode-name>StringCheck</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>aString</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEmptyInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>DoubleCheck\InDouble</fromserviceparameter-name>
+   <tonode-name>DoubleCheck</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1.23457</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index a60f0e3114209bfea07aef159b9e7077cfd5c4ba..2fec08532f7b95984cd956e2f6af428dfcce10b1 100644 (file)
@@ -4,49 +4,66 @@
 from SuperV import *
 # Graph creation 
 GraphEssai = Graph( 'GraphEssai' )
+GraphEssai.SetName( 'GraphEssai' )
 GraphEssai.SetAuthor( '' )
 GraphEssai.SetComment( '' )
 GraphEssai.Coords( 0 , 0 )
 
-# Creation of Nodes
-Add = GraphEssai.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+# Creation of Factory Nodes
+
+Add = GraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'FactoryServer' )
-Add.SetComment( '' )
+Add.SetComment( 'Add from AddComponent' )
 Add.Coords( 15 , 241 )
-Sub = GraphEssai.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+
+Sub = GraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( '' )
-Sub.Coords( 227 , 99 )
-Mul = GraphEssai.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 227 , 96 )
+
+Mul = GraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 443 , 278 )
-Div = GraphEssai.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 435 , 242 )
+
+Div = GraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'FactoryServer' )
-Div.SetComment( '' )
+Div.SetComment( 'Div from DivComponent' )
 Div.Coords( 634 , 97 )
 
-# Creation of intermediate Output variables and of links
+# Creation of Links
 Addz = Add.Port( 'z' )
-Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
 Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
+
+Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 197 , 204 )
+Suby.AddCoord( 2 , 198 , 351 )
+
 Subz = Sub.Port( 'z' )
-Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
 Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
+
+Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 411 , 323 )
+Mulx.AddCoord( 2 , 411 , 177 )
+
 Mulz = Mul.Port( 'z' )
 Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 612 , 207 )
+Divy.AddCoord( 2 , 612 , 322 )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 3)
 Addy = Add.Input( 'y' , 4.5)
 Subx = Sub.Input( 'x' , 1.5)
 
-# Missing Input datas
-
 # Creation of Output variables
 AddFuncValue = Add.Port( 'FuncValue' )
 Divz = Div.Port( 'z' )
index 4792e229b46ea1db5525e73bed9bcfed0b0fd045..211679c982e0c80c3115af568b98c49c2426b333 100755 (executable)
@@ -9,40 +9,53 @@ GraphEssai1.SetAuthor( '' )
 GraphEssai1.SetComment( '' )
 GraphEssai1.Coords( 0 , 0 )
 
-# Creation of Computing Nodes
-Add = GraphEssai1.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+# Creation of Factory Nodes
+
+Add = GraphEssai1.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( '' )
-Add.Coords( 0 , 214 )
-Sub = GraphEssai1.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 16 , 262 )
+
+Sub = GraphEssai1.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( '' )
-Sub.Coords( 192 , 51 )
-Mul = GraphEssai1.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 219 , 54 )
+
+Mul = GraphEssai1.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 420 , 265 )
-Div = GraphEssai1.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 419 , 262 )
+
+Div = GraphEssai1.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( '' )
-Div.Coords( 623 , 141 )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 623 , 55 )
 
-# Creation of intermediate Output variables and of Computing Links
+# Creation of Links
 Addz = Add.Port( 'z' )
 Subx = GraphEssai1.Link( Addz , Sub.Port( 'x' ) )
+Subx.AddCoord( 1 , 193 , 135 )
+Subx.AddCoord( 2 , 193 , 372 )
+
 Subz = Sub.Port( 'z' )
-Mulx = GraphEssai1.Link( Subz , Mul.Port( 'x' ) )
 Divx = GraphEssai1.Link( Subz , Div.Port( 'x' ) )
+
+Mulx = GraphEssai1.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 396 , 343 )
+Mulx.AddCoord( 2 , 397 , 136 )
+
 Mulz = Mul.Port( 'z' )
 Divy = GraphEssai1.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 598 , 163 )
+Divy.AddCoord( 2 , 598 , 343 )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 3)
index 6087d0937879ccd919154abee65f62923af04da1..9b388e6d0a8f8828059768cc544e4d8fddcd1446 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphEssai1</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>GraphEssai1</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Mul\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Add\FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div\z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:3:19</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:3:19</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:3:19</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:3:19</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>214</y-position>
-               </node>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:3:19</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:3:19</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>192</x-position>
-                       <y-position>51</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:3:19</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:3:19</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>420</x-position>
-                       <y-position>265</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:3:19</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:3:19</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>623</x-position>
-                       <y-position>141</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphEssai1</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai1</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai1</fromnode-name>
-                       <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>7</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai1</fromnode-name>
-                       <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>11</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphEssai1</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphEssai1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 10:3:19</creation-date>
+   <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:14:2</creation-date>
+   <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>16</x-position>
+   <y-position>262</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:14:2</creation-date>
+   <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>219</x-position>
+   <y-position>54</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:14:2</creation-date>
+   <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>419</x-position>
+   <y-position>262</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:14:2</creation-date>
+   <lastmodification-date>18/9/2003 - 17:14:2</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>623</x-position>
+   <y-position>55</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>193</x>
+     <y>135</y>    </coord>
+    <coord>
+<x>193</x>
+     <y>372</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>396</x>
+     <y>343</y>    </coord>
+    <coord>
+<x>397</x>
+     <y>136</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>598</x>
+     <y>163</y>    </coord>
+    <coord>
+<x>598</x>
+     <y>343</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphEssai1</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai1</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai1</fromnode-name>
+   <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>7</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai1</fromnode-name>
+   <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>11</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index aee58ba236003ead8b7f3438439d5670a749a56e..a1489b31e04fd9891fedc98a7ba8bfe0a97468cd 100755 (executable)
@@ -9,43 +9,57 @@ GraphEssai2.SetAuthor( '' )
 GraphEssai2.SetComment( '' )
 GraphEssai2.Coords( 0 , 0 )
 
-# Creation of Computing Nodes
-Add = GraphEssai2.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+# Creation of Factory Nodes
+
+Add = GraphEssai2.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( '' )
-Add.Coords( 49 , 182 )
-Sub = GraphEssai2.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 18 , 239 )
+
+Sub = GraphEssai2.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( '' )
-Sub.Coords( 300 , 270 )
-Mul = GraphEssai2.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 232 , 269 )
+
+Mul = GraphEssai2.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 306 , 28 )
-Div = GraphEssai2.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 431 , 22 )
+
+Div = GraphEssai2.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( '' )
-Div.Coords( 603 , 156 )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 645 , 268 )
 
-# Creation of intermediate Output variables and of Computing Links
+# Creation of Links
 AddFuncValue = Add.Port( 'FuncValue' )
 Mulx = GraphEssai2.Link( AddFuncValue , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 199 , 102 )
+Mulx.AddCoord( 2 , 198 , 319 )
+
 Addz = Add.Port( 'z' )
 Subx = GraphEssai2.Link( Addz , Sub.Port( 'x' ) )
-SubOutGate = Sub.Port( 'OutGate' )
-MulInGate = GraphEssai2.Link( SubOutGate , Mul.Port( 'InGate' ) )
+
 Subz = Sub.Port( 'z' )
 Divx = GraphEssai2.Link( Subz , Div.Port( 'x' ) )
+
+SubOutGate = Sub.Port( 'OutGate' )
+MulInGate = GraphEssai2.Link( SubOutGate , Mul.Port( 'InGate' ) )
+MulInGate.AddCoord( 1 , 405 , 165 )
+MulInGate.AddCoord( 2 , 405 , 412 )
+
 Mulz = Mul.Port( 'z' )
 Divy = GraphEssai2.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 612 , 377 )
+Divy.AddCoord( 2 , 612 , 103 )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 1)
index dee1886b8ea7019fe764d7f41750beedcbc15700..3c2f19e19659a4915e033d822ebc5b0c3a7b86c8 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphEssai2</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>GraphEssai2</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Mul\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div\z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:6:28</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:6:29</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:6:28</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:6:28</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>49</x-position>
-                       <y-position>182</y-position>
-               </node>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:6:28</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:6:28</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>300</x-position>
-                       <y-position>270</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:6:29</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:6:29</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>306</x-position>
-                       <y-position>28</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:6:29</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:6:29</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>603</x-position>
-                       <y-position>156</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>OutGate</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>InGate</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphEssai2</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai2</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>2</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai2</fromnode-name>
-                       <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai2</fromnode-name>
-                       <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>4</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphEssai2</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphEssai2</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 10:6:28</creation-date>
+   <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>23/10/2003 - 16:11:44</creation-date>
+   <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>18</x-position>
+   <y-position>239</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>23/10/2003 - 16:11:44</creation-date>
+   <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>232</x-position>
+   <y-position>269</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>23/10/2003 - 16:11:44</creation-date>
+   <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>431</x-position>
+   <y-position>22</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>23/10/2003 - 16:11:44</creation-date>
+   <lastmodification-date>23/10/2003 - 16:11:44</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>645</x-position>
+   <y-position>268</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>199</x>
+     <y>102</y>    </coord>
+    <coord>
+<x>198</x>
+     <y>319</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>OutGate</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>405</x>
+     <y>165</y>    </coord>
+    <coord>
+<x>405</x>
+     <y>412</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>612</x>
+     <y>377</y>    </coord>
+    <coord>
+<x>612</x>
+     <y>103</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphEssai2</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai2</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai2</fromnode-name>
+   <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai2</fromnode-name>
+   <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 94341ddba9a86bd3b3127e20a278c8393fa5cd4d..945840ef437dee215d157f18297054f6cf07556c 100644 (file)
@@ -9,64 +9,98 @@ GraphEssai3.SetAuthor( '' )
 GraphEssai3.SetComment( '' )
 GraphEssai3.Coords( 0 , 0 )
 
-# Creation of Computing Nodes
-Add = GraphEssai3.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+# Creation of Factory Nodes
+
+Add = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( '' )
+Add.SetComment( 'Add from AddComponent' )
 Add.Coords( 1 , 152 )
-Sub = GraphEssai3.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+
+Sub = GraphEssai3.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( '' )
-Sub.Coords( 410 , 84 )
-Mul = GraphEssai3.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 412 , 377 )
+
+Mul = GraphEssai3.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 410 , 279 )
-Div = GraphEssai3.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 412 , 152 )
+
+Div = GraphEssai3.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( '' )
-Div.Coords( 618 , 140 )
-Addition = GraphEssai3.Node( 'AddComponent' , 'AddComponent' , 'Addition' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 622 , 124 )
+
+Addition = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
 Addition.SetName( 'Addition' )
 Addition.SetAuthor( '' )
 Addition.SetContainer( 'localhost/AdditionServer' )
-Addition.SetComment( '' )
+Addition.SetComment( 'Addition from AddComponent' )
 Addition.Coords( 0 , 0 )
-Addition_1 = GraphEssai3.Node( 'AddComponent' , 'AddComponent' , 'Addition' )
+
+Addition_1 = GraphEssai3.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
 Addition_1.SetName( 'Addition_1' )
 Addition_1.SetAuthor( '' )
 Addition_1.SetContainer( 'localhost/Addition_1Server' )
-Addition_1.SetComment( '' )
+Addition_1.SetComment( 'Addition from AddComponent' )
 Addition_1.Coords( 4 , 327 )
-AddAndCompare = GraphEssai3.CNode( 'AddComponent' , 'Adder' , 'AddAndCompare' )
+
+# Creation of Computing Nodes
+AddAndCompare_ServiceinParameter = []
+AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
+AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
+AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
+AddAndCompare_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'anOtherAdder' ) )
+AddAndCompare_ServiceoutParameter = []
+AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
+AddAndCompare_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
+AddAndCompare_Service = SALOME_ModuleCatalog.Service( 'AddAndCompare' , AddAndCompare_ServiceinParameter , AddAndCompare_ServiceoutParameter , 0 )
+AddAndCompare = GraphEssai3.CNode( AddAndCompare_Service )
 AddAndCompare.SetName( 'AddAndCompare' )
 AddAndCompare.SetAuthor( '' )
-AddAndCompare.SetComment( '' )
+AddAndCompare.SetComment( 'Python function' )
 AddAndCompare.Coords( 233 , 0 )
 
-# Creation of intermediate Output variables and of Computing Links
+# Creation of Links
 AddFuncValue = Add.Port( 'FuncValue' )
 Mulx = GraphEssai3.Link( AddFuncValue , Mul.Port( 'x' ) )
+
 AddAndComparex = GraphEssai3.Link( AddFuncValue , AddAndCompare.Port( 'x' ) )
+AddAndComparex.AddCoord( 1 , 195 , 108 )
+AddAndComparex.AddCoord( 2 , 195 , 233 )
+
 Addz = Add.Port( 'z' )
 Subx = GraphEssai3.Link( Addz , Sub.Port( 'x' ) )
+Subx.AddCoord( 1 , 187 , 459 )
+Subx.AddCoord( 2 , 186 , 262 )
+
 AddAndComparey = GraphEssai3.Link( Addz , AddAndCompare.Port( 'y' ) )
+AddAndComparey.AddCoord( 1 , 187 , 139 )
+AddAndComparey.AddCoord( 2 , 186 , 261 )
+
 Subz = Sub.Port( 'z' )
 Divx = GraphEssai3.Link( Subz , Div.Port( 'x' ) )
+Divx.AddCoord( 1 , 598 , 203 )
+Divx.AddCoord( 2 , 598 , 457 )
+
 Mulz = Mul.Port( 'z' )
 Divy = GraphEssai3.Link( Mulz , Div.Port( 'y' ) )
+
 AdditionAdder = Addition.Port( 'Adder' )
 AddAndCompareAdder = GraphEssai3.Link( AdditionAdder , AddAndCompare.Port( 'Adder' ) )
+
 Addition_1Adder = Addition_1.Port( 'Adder' )
 AddAndCompareanOtherAdder = GraphEssai3.Link( Addition_1Adder , AddAndCompare.Port( 'anOtherAdder' ) )
+AddAndCompareanOtherAdder.AddCoord( 1 , 215 , 168 )
+AddAndCompareanOtherAdder.AddCoord( 2 , 214 , 407 )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 1)
index 91a489362fae293d942526f663464ad26e452bb7..606959aaebbf4798eacc00521ba06ff71640e156 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphEssai3</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>GraphEssai3</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Mul\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div\z</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>AddAndCompare\FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>AddAndCompare\z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>1</x-position>
-                       <y-position>152</y-position>
-               </node>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>410</x-position>
-                       <y-position>84</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>410</x-position>
-                       <y-position>279</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>618</x-position>
-                       <y-position>140</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Addition</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Addition</service-name>
-                               <inParameter-list>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Adder</outParameter-type>
-                                               <outParameter-name>Adder</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/AdditionServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Addition_1</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Addition</service-name>
-                               <inParameter-list>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Adder</outParameter-type>
-                                               <outParameter-name>Adder</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/Addition_1Server</container>
-                       <comment>?</comment>
-                       <x-position>4</x-position>
-                       <y-position>327</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>AddAndCompare</node-name>
-                       <kind>2</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>AddAndCompare</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>Adder</inParameter-type>
-                                               <inParameter-name>Adder</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>Adder</inParameter-type>
-                                               <inParameter-name>anOtherAdder</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 10:59:37</creation-date>
-                       <lastmodification-date>11/3/2003 - 10:59:37</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>233</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
-                       <tonode-name>AddAndCompare</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>AddAndCompare</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Addition</fromnode-name>
-                       <fromserviceparameter-name>Adder</fromserviceparameter-name>
-                       <tonode-name>AddAndCompare</tonode-name>
-                       <toserviceparameter-name>Adder</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Addition_1</fromnode-name>
-                       <fromserviceparameter-name>Adder</fromserviceparameter-name>
-                       <tonode-name>AddAndCompare</tonode-name>
-                       <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphEssai3</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai3</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>2</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai3</fromnode-name>
-                       <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai3</fromnode-name>
-                       <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>4</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphEssai3</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphEssai3</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>AddAndCompare\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>AddAndCompare\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 10:59:37</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>1</x-position>
+   <y-position>152</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>412</x-position>
+   <y-position>377</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>412</x-position>
+   <y-position>152</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>622</x-position>
+   <y-position>124</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/AdditionServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/Addition_1Server</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>4</x-position>
+   <y-position>327</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>AddAndCompare</node-name>
+   <kind>2</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>AddAndCompare</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Adder</inParameter-type>
+      <inParameter-name>Adder</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>Adder</inParameter-type>
+      <inParameter-name>anOtherAdder</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:23:8</creation-date>
+   <lastmodification-date>18/9/2003 - 17:23:8</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>233</x-position>
+   <y-position>0</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>195</x>
+     <y>108</y>    </coord>
+    <coord>
+<x>195</x>
+     <y>233</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>187</x>
+     <y>459</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>262</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>187</x>
+     <y>139</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>261</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>598</x>
+     <y>203</y>    </coord>
+    <coord>
+<x>598</x>
+     <y>457</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>Adder</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition_1</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>AddAndCompare</tonode-name>
+   <toserviceparameter-name>anOtherAdder</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>215</x>
+     <y>168</y>    </coord>
+    <coord>
+<x>214</x>
+     <y>407</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphEssai3</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai3</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai3</fromnode-name>
+   <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai3</fromnode-name>
+   <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 3551fcebc635dacd884834bdeb1c34ba045e3118..9e59afbb39189bc29654362536361cd4538ea613 100644 (file)
@@ -1,3 +1,26 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : GraphFactorial.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 
@@ -11,23 +34,25 @@ GraphFactorial.IsValid()
 GraphFactorial.Run( 3 )
 GraphFactorial.DoneW()
 GraphFactorial.State()
-print eval.GetComponentName()
-print eval.GetContainer()
+eval.GetComponentName()
+eval.GetContainer()
 GraphFactorial.PrintPorts()
+eval.CpuUsed()
 
 eval.SetContainer('Server4Py')
 GraphFactorial.Run( 4 )
 GraphFactorial.DoneW()
 GraphFactorial.State()
-print eval.GetComponentName()
-print eval.GetContainer()
+eval.GetComponentName()
+eval.GetContainer()
 GraphFactorial.PrintPorts()
+eval.CpuUsed()
 
 eval.SetContainer('Server5Py')
 GraphFactorial.Run( 5 )
 GraphFactorial.DoneW()
 GraphFactorial.State()
-print eval.GetComponentName()
-print eval.GetContainer()
+eval.GetComponentName()
+eval.GetContainer()
 GraphFactorial.PrintPorts()
-
+eval.CpuUsed()
diff --git a/examples/GraphFactorialLcc.py b/examples/GraphFactorialLcc.py
new file mode 100755 (executable)
index 0000000..5a56607
--- /dev/null
@@ -0,0 +1,41 @@
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : GraphFactorialLcc.py
+#  Module : SuperVisionTest
+
+# That test runs only with python but NOT in the TUI ...
+
+from SuperV import *
+
+from FactorialComponent import *
+
+Factorial = lcc.FindOrLoadComponent('ServerPy','FactorialComponent')
+
+dir (Factorial)
+
+fact3 = Factorial.eval(3)
+
+if fact3 != 6 :
+    print "Error",fact3,"!= 6 !"
+
+print Factorial.CpuUsed_impl()
+
index cdd8de1b3a4430a73e6c240a40fc8eb57aa4e353..00b741454fd40d147f9c97d9570a2464946d533e 100644 (file)
@@ -5,86 +5,274 @@ from SuperV import *
 # Graph creation 
 GraphGOTO = Graph( 'GraphGOTO' )
 GraphGOTO.SetName( 'GraphGOTO' )
-GraphGOTO.SetAuthor( '' )
-GraphGOTO.SetComment( '' )
+GraphGOTO.SetAuthor( 'JR' )
+GraphGOTO.SetComment( 'Syracuse algorithm' )
 GraphGOTO.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
 
+test_ISEVEN = GraphGOTO.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( 195 , 417 )
+
+test_ISONE = GraphGOTO.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( 201 , 145 )
+
+m3p1 = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+m3p1.SetName( 'm3p1' )
+m3p1.SetAuthor( '' )
+m3p1.SetContainer( 'localhost/FactoryServer' )
+m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+m3p1.Coords( 784 , 36 )
+
+div2 = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+div2.SetName( 'div2' )
+div2.SetAuthor( '' )
+div2.SetContainer( 'localhost/FactoryServer' )
+div2.SetComment( 'C_DIV2 from SyrComponent' )
+div2.Coords( 788 , 409 )
+
+incr = GraphGOTO.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+incr.SetName( 'incr' )
+incr.SetAuthor( '' )
+incr.SetContainer( 'localhost/FactoryServer' )
+incr.SetComment( 'C_INCR from SyrComponent' )
+incr.Coords( 788 , 230 )
+
 # Creation of InLine Nodes
-PyIsOdd = []
-PyIsOdd.append( 'import time' )
-PyIsOdd.append( 'def IsOdd(a) :    ' )
-PyIsOdd.append( '    print a,"IsOdd"   ' )
-PyIsOdd.append( '    time.sleep( 1 )' )
-PyIsOdd.append( '    return a+1 ' )
-IsOdd = GraphGOTO.INode( 'IsOdd' , PyIsOdd )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
-IsOdd.SetName( 'IsOdd' )
-IsOdd.SetAuthor( '' )
-IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 296 , 249 )
+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 = GraphGOTO.INode( 'label_begin' , Pylabel_begin )
+label_begin.InPort( 'NB' , 'long' )
+label_begin.InPort( 'KB' , 'long' )
+label_begin.OutPort( 'NT' , 'long' )
+label_begin.OutPort( 'KT' , 'long' )
+label_begin.SetName( 'label_begin' )
+label_begin.SetAuthor( '' )
+label_begin.SetComment( 'Python function' )
+label_begin.Coords( 9 , 250 )
+
+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 = GraphGOTO.INode( 'label_test' , Pylabel_test )
+label_test.InPort( 'ValEven' , 'long' )
+label_test.InPort( 'ValOne' , 'long' )
+label_test.InPort( 'NT' , 'long' )
+label_test.InPort( 'KT' , 'long' )
+label_test.OutPort( 'ValEven' , 'long' )
+label_test.OutPort( 'ValOne' , 'long' )
+label_test.OutPort( 'NT' , 'long' )
+label_test.OutPort( 'KT' , 'long' )
+label_test.SetName( 'label_test' )
+label_test.SetAuthor( '' )
+label_test.SetComment( 'Python function' )
+label_test.Coords( 396 , 193 )
 
 # Creation of Switch Nodes
-PySwitch = []
-PySwitch.append( 'import time' )
-PySwitch.append( 'def Switch(a) :  ' )
-PySwitch.append( '    print "Switch(",a,")"' )
-PySwitch.append( '    time.sleep( 1 )' )
-PySwitch.append( '    b = a & 1' )
-PySwitch.append( '    print "Switch(",a,") ->",b,a' )
-PySwitch.append( '    return b,a ' )
-Switch,EndSwitch = GraphGOTO.SNode( 'Switch' , PySwitch )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 569 , 94 )
-PyEndSwitch = []
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'a' , 'long' )
-Switch.SetName( 'Switch' )
-Switch.SetAuthor( '' )
-Switch.SetComment( '' )
-Switch.Coords( 25 , 94 )
+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 = GraphGOTO.SNode( 'Switch_OneEven' , Pytest )
+EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
+EndSwitch_OneEven.SetAuthor( '' )
+EndSwitch_OneEven.SetComment( '' )
+EndSwitch_OneEven.Coords( 1152 , 292 )
+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 )
+EndSwitch_OneEven.InPort( 'Finished' , 'long' )
+EndSwitch_OneEven.InPort( 'K' , 'long' )
+EndSwitch_OneEven.OutPort( 'Finished' , 'long' )
+EndSwitch_OneEven.OutPort( 'K' , 'long' )
+test.InPort( 'ValOne' , 'long' )
+test.InPort( 'ValEven' , 'long' )
+test.InPort( 'NT' , 'long' )
+test.InPort( 'KT' , 'long' )
+test.OutPort( 'Finished' , 'long' )
+test.OutPort( 'Incr' , 'long' )
+test.OutPort( 'Even' , 'long' )
+test.OutPort( 'Odd' , 'long' )
+test.OutPort( 'N' , 'long' )
+test.OutPort( 'K' , 'long' )
+test.SetName( 'test' )
+test.SetAuthor( '' )
+test.SetComment( '' )
+test.Coords( 595 , 239 )
 
 # Creation of GOTO Nodes
-PyGoTo = []
-GoTo = GraphGOTO.GNode( '' , PyGoTo , 'Switch' )
-GoTo.InPort( 'a' , 'long' )
-GoTo.OutPort( 'a' , 'long' )
-GoTo.SetName( 'GoTo' )
-GoTo.SetAuthor( '' )
-GoTo.SetComment( '' )
-GoTo.Coords( 520 , 323 )
-
-# Creation of intermediate Output variables and of Control Links
-IsOdda = IsOdd.Port( 'a' )
-GoToa = GraphGOTO.Link( IsOdda , GoTo.Port( 'a' ) )
-SwitchDefault = Switch.Port( 'Default' )
-EndSwitchDefault = GraphGOTO.Link( SwitchDefault , EndSwitch.Port( 'Default' ) )
-SwitchOdd = Switch.Port( 'Odd' )
-IsOddInGate = GraphGOTO.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-IsOddInGate.AddCoord( 1 , 249 , 323 )
-IsOddInGate.AddCoord( 2 , 249 , 157 )
-IsOddInGate.AddCoord( 3 , 247 , 157 )
-Switcha = Switch.Port( 'a' )
-IsOdda = GraphGOTO.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 196 , 357 )
-IsOdda.AddCoord( 2 , 196 , 186 )
-EndSwitcha = GraphGOTO.Link( Switcha , EndSwitch.Port( 'a' ) )
-GoToOutGate = GoTo.Port( 'OutGate' )
-SwitchInGate = GraphGOTO.Link( GoToOutGate , Switch.Port( 'InGate' ) )
+Pycontrol_m3p1 = []
+Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
+Pycontrol_m3p1.append( '    return 0,1,N,K' )
+control_m3p1 = GraphGOTO.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
+control_m3p1.InPort( 'N' , 'long' )
+control_m3p1.InPort( 'K' , 'long' )
+control_m3p1.OutPort( 'ValOne' , 'long' )
+control_m3p1.OutPort( 'ValEven' , 'long' )
+control_m3p1.OutPort( 'NT' , 'long' )
+control_m3p1.OutPort( 'KT' , 'long' )
+control_m3p1.SetName( 'control_m3p1' )
+control_m3p1.SetAuthor( '' )
+control_m3p1.SetComment( '' )
+control_m3p1.Coords( 980 , 81 )
+
+Pycontrol_div2 = []
+Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
+Pycontrol_div2.append( '    return N,NB' )
+control_div2 = GraphGOTO.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+control_div2.InPort( 'N' , 'long' )
+control_div2.InPort( 'K' , 'long' )
+control_div2.OutPort( 'NB' , 'long' )
+control_div2.OutPort( 'KB' , 'long' )
+control_div2.SetName( 'control_div2' )
+control_div2.SetAuthor( '' )
+control_div2.SetComment( '' )
+control_div2.Coords( 1039 , 454 )
+
+# Creation of Links
+test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
+label_testValEven = GraphGOTO.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
+label_testValEven.AddCoord( 1 , 369 , 273 )
+label_testValEven.AddCoord( 2 , 370 , 498 )
+
+test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
+label_testValOne = GraphGOTO.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
+label_testValOne.AddCoord( 1 , 385 , 303 )
+label_testValOne.AddCoord( 2 , 384 , 225 )
+
+m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
+control_m3p1N = GraphGOTO.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
+
+div2anInteger = div2.Port( 'anInteger' )
+control_div2N = GraphGOTO.Link( div2anInteger , control_div2.Port( 'N' ) )
+
+incraNewCount = incr.Port( 'aNewCount' )
+control_m3p1K = GraphGOTO.Link( incraNewCount , control_m3p1.Port( 'K' ) )
+control_m3p1K.AddCoord( 1 , 964 , 145 )
+control_m3p1K.AddCoord( 2 , 964 , 309 )
+
+control_div2K = GraphGOTO.Link( incraNewCount , control_div2.Port( 'K' ) )
+control_div2K.AddCoord( 1 , 963 , 518 )
+control_div2K.AddCoord( 2 , 964 , 312 )
+
+label_beginNT = label_begin.Port( 'NT' )
+label_testNT = GraphGOTO.Link( label_beginNT , label_test.Port( 'NT' ) )
+
+test_ISONEanInteger = GraphGOTO.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
+test_ISONEanInteger.AddCoord( 1 , 192 , 226 )
+test_ISONEanInteger.AddCoord( 2 , 191 , 331 )
+
+test_ISEVENanInteger = GraphGOTO.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
+test_ISEVENanInteger.AddCoord( 1 , 191 , 494 )
+test_ISEVENanInteger.AddCoord( 2 , 192 , 331 )
+
+label_beginKT = label_begin.Port( 'KT' )
+label_testKT = GraphGOTO.Link( label_beginKT , label_test.Port( 'KT' ) )
+
+label_testValEven = label_test.Port( 'ValEven' )
+testValEven = GraphGOTO.Link( label_testValEven , test.Port( 'ValEven' ) )
+testValEven.AddCoord( 1 , 587 , 318 )
+testValEven.AddCoord( 2 , 570 , 318 )
+testValEven.AddCoord( 3 , 569 , 272 )
+
+label_testValOne = label_test.Port( 'ValOne' )
+testValOne = GraphGOTO.Link( label_testValOne , test.Port( 'ValOne' ) )
+testValOne.AddCoord( 1 , 585 , 273 )
+testValOne.AddCoord( 2 , 586 , 303 )
+
+label_testNT = label_test.Port( 'NT' )
+testNT = GraphGOTO.Link( label_testNT , test.Port( 'NT' ) )
+
+label_testKT = label_test.Port( 'KT' )
+testKT = GraphGOTO.Link( label_testKT , test.Port( 'KT' ) )
+
+testFinished = test.Port( 'Finished' )
+EndSwitch_OneEvenFinished = GraphGOTO.Link( testFinished , EndSwitch_OneEven.Port( 'Finished' ) )
+
+testIncr = test.Port( 'Incr' )
+incrInGate = GraphGOTO.Link( testIncr , incr.Port( 'InGate' ) )
+incrInGate.AddCoord( 1 , 783 , 341 )
+incrInGate.AddCoord( 2 , 782 , 302 )
+
+testEven = test.Port( 'Even' )
+div2InGate = GraphGOTO.Link( testEven , div2.Port( 'InGate' ) )
+div2InGate.AddCoord( 1 , 754 , 518 )
+div2InGate.AddCoord( 2 , 753 , 330 )
+
+testOdd = test.Port( 'Odd' )
+m3p1InGate = GraphGOTO.Link( testOdd , m3p1.Port( 'InGate' ) )
+m3p1InGate.AddCoord( 1 , 758 , 145 )
+m3p1InGate.AddCoord( 2 , 760 , 359 )
+
+testN = test.Port( 'N' )
+m3p1anOddInteger = GraphGOTO.Link( testN , m3p1.Port( 'anOddInteger' ) )
+m3p1anOddInteger.AddCoord( 1 , 767 , 116 )
+m3p1anOddInteger.AddCoord( 2 , 767 , 116 )
+m3p1anOddInteger.AddCoord( 3 , 767 , 390 )
+
+div2anEvenInteger = GraphGOTO.Link( testN , div2.Port( 'anEvenInteger' ) )
+div2anEvenInteger.AddCoord( 1 , 767 , 489 )
+div2anEvenInteger.AddCoord( 2 , 766 , 389 )
+
+testK = test.Port( 'K' )
+EndSwitch_OneEvenK = GraphGOTO.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
+
+incraCount = GraphGOTO.Link( testK , incr.Port( 'aCount' ) )
+incraCount.AddCoord( 1 , 772 , 311 )
+incraCount.AddCoord( 2 , 772 , 417 )
+incraCount.AddCoord( 3 , 772 , 417 )
+
+testDefault = test.Port( 'Default' )
+EndSwitch_OneEvenDefault = GraphGOTO.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
+EndSwitch_OneEvenDefault.AddCoord( 1 , 778 , 384 )
+EndSwitch_OneEvenDefault.AddCoord( 2 , 778 , 448 )
+
+control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
+label_testInGate = GraphGOTO.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
+label_testInGate.AddCoord( 1 , 388 , 388 )
+label_testInGate.AddCoord( 2 , 389 , 597 )
+label_testInGate.AddCoord( 3 , 1319 , 597 )
+label_testInGate.AddCoord( 4 , 1318 , 231 )
+
+control_div2OutGate = control_div2.Port( 'OutGate' )
+label_beginInGate = GraphGOTO.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 4 , 388 )
+label_beginInGate.AddCoord( 2 , 3 , 587 )
+label_beginInGate.AddCoord( 3 , 1214 , 588 )
+label_beginInGate.AddCoord( 4 , 1213 , 546 )
 
 # Creation of Input datas
-Switcha = Switch.Input( 'a' , 1)
+label_beginNB = label_begin.Input( 'NB' , 7)
+label_beginKB = label_begin.Input( 'KB' , 0)
 
 # Creation of Output variables
-EndSwitcha = EndSwitch.Port( 'a' )
+EndSwitch_OneEvenFinished = EndSwitch_OneEven.Port( 'Finished' )
+EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
 
 GraphGOTO.Run()
 
index bf36bc5a8ebf90990ff33c0cffdf0e4eb60ccb9e..27ba57df97dcfeee4f2a63c907034831dc341ebe 100644 (file)
 <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>GraphGOTO</node-name>
+   <node-name>GraphSyrControl</node-name>
    <kind>1</kind>
    <coupled-node>?</coupled-node>
    <service>
-<service-name>GraphGOTO</service-name>
+<service-name>GraphSyrControl</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Switch\a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>EndSwitch\a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <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>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>24/3/2003 - 16:26:48</creation-date>
-   <lastmodification-date>25/3/2003 - 9:25:23</lastmodification-date>
+   <creation-date>11/3/2003 - 18:34:21</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
    <editor-release>1.04</editor-release>
-   <author>?</author>
+   <author>JR</author>
    <container>?</container>
-   <comment>?</comment>
+   <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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:27:22</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISEVEN from SyrComponent</comment>
+   <x-position>195</x-position>
+   <y-position>417</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:27:22</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISONE from SyrComponent</comment>
+   <x-position>201</x-position>
+   <y-position>145</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:27:22</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_M3P1 from SyrComponent</comment>
+   <x-position>784</x-position>
+   <y-position>36</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:27:22</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:22</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_DIV2 from SyrComponent</comment>
+   <x-position>788</x-position>
+   <y-position>409</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>788</x-position>
+   <y-position>230</y-position>  </node>
+  <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>IsOdd</node-name>
+   <node-name>label_begin</node-name>
    <kind>3</kind>
    <coupled-node>?</coupled-node>
    <service>
-<service-name>IsOdd</service-name>
+<service-name>label_begin</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <outParameter-name>NT</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list>
 <PyFunction>
-<FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[def IsOdd(a) :    ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd"   ]]></PyFunc>
-     <PyFunc><![CDATA[    return a+1 ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 9:24:50</creation-date>
-   <lastmodification-date>25/3/2003 - 9:24:50</lastmodification-date>
+<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>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>296</x-position>
-   <y-position>249</y-position>  </node>
+   <x-position>9</x-position>
+   <y-position>250</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>Switch</node-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>
+   <Parameter-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>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>396</x-position>
+   <y-position>193</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>test</node-name>
    <kind>6</kind>
-   <coupled-node>EndSwitch</coupled-node>
+   <coupled-node>EndSwitch_OneEven</coupled-node>
    <service>
-<service-name>Switch</service-name>
+<service-name>test</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <outParameter-name>N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list>
 <PyFunction>
-<FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[def Switch(a) :  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,a ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 9:24:51</creation-date>
-   <lastmodification-date>25/3/2003 - 9:24:51</lastmodification-date>
+<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>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>25</x-position>
-   <y-position>94</y-position>  </node>
+   <x-position>595</x-position>
+   <y-position>239</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>EndSwitch</node-name>
+   <node-name>EndSwitch_OneEven</node-name>
    <kind>7</kind>
-   <coupled-node>Switch</coupled-node>
+   <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>
+   <Parameter-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>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1152</x-position>
+   <y-position>292</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>EndSwitch</service-name>
+<service-name>control_m3p1</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <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>
    <Parameter-list/>
    <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>25/3/2003 - 9:24:51</creation-date>
-   <lastmodification-date>25/3/2003 - 9:24:51</lastmodification-date>
+<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>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>569</x-position>
-   <y-position>94</y-position>  </node>
+   <x-position>980</x-position>
+   <y-position>81</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>GoTo</node-name>
+   <node-name>control_div2</node-name>
    <kind>8</kind>
-   <coupled-node>Switch</coupled-node>
+   <coupled-node>label_begin</coupled-node>
    <service>
-<service-name>GoTo</service-name>
+<service-name>control_div2</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <outParameter-name>NB</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>KB</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>25/3/2003 - 9:24:51</creation-date>
-   <lastmodification-date>25/3/2003 - 9:24:51</lastmodification-date>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+     <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return N,NB]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:27:23</creation-date>
+   <lastmodification-date>18/9/2003 - 17:27:23</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>520</x-position>
-   <y-position>323</y-position>  </node> </node-list>
+   <x-position>1039</x-position>
+   <y-position>454</y-position>  </node> </node-list>
  <link-list>
 <link>
-<fromnode-name>IsOdd</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>GoTo</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
+<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>369</x>
+     <y>273</y>    </coord>
+    <coord>
+<x>370</x>
+     <y>498</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>385</x>
+     <y>303</y>    </coord>
+    <coord>
+<x>384</x>
+     <y>225</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>Switch</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
+<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>Switch</fromnode-name>
+<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>964</x>
+     <y>145</y>    </coord>
+    <coord>
+<x>964</x>
+     <y>309</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>963</x>
+     <y>518</y>    </coord>
+    <coord>
+<x>964</x>
+     <y>312</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_ISONE</tonode-name>
+   <toserviceparameter-name>anInteger</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>192</x>
+     <y>226</y>    </coord>
+    <coord>
+<x>191</x>
+     <y>331</y>    </coord>   </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>191</x>
+     <y>494</y>    </coord>
+    <coord>
+<x>192</x>
+     <y>331</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>
+<coord>
+<x>587</x>
+     <y>318</y>    </coord>
+    <coord>
+<x>570</x>
+     <y>318</y>    </coord>
+    <coord>
+<x>569</x>
+     <y>272</y>    </coord>   </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>
+<coord>
+<x>585</x>
+     <y>273</y>    </coord>
+    <coord>
+<x>586</x>
+     <y>303</y>    </coord>   </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>Incr</fromserviceparameter-name>
+   <tonode-name>incr</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>783</x>
+     <y>341</y>    </coord>
+    <coord>
+<x>782</x>
+     <y>302</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>div2</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>754</x>
+     <y>518</y>    </coord>
+    <coord>
+<x>753</x>
+     <y>330</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
-   <tonode-name>IsOdd</tonode-name>
+   <tonode-name>m3p1</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>249</x>
-     <y>323</y>    </coord>
+<x>758</x>
+     <y>145</y>    </coord>
     <coord>
-<x>249</x>
-     <y>157</y>    </coord>
+<x>760</x>
+     <y>359</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>767</x>
+     <y>116</y>    </coord>
+    <coord>
+<x>767</x>
+     <y>116</y>    </coord>
     <coord>
-<x>247</x>
-     <y>157</y>    </coord>   </coord-list>  </link>
+<x>767</x>
+     <y>390</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>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>div2</tonode-name>
+   <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>196</x>
-     <y>357</y>    </coord>
+<x>767</x>
+     <y>489</y>    </coord>
     <coord>
-<x>196</x>
-     <y>186</y>    </coord>   </coord-list>  </link>
+<x>766</x>
+     <y>389</y>    </coord>   </coord-list>  </link>
   <link>
-<fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
+<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>GoTo</fromnode-name>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>incr</tonode-name>
+   <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>772</x>
+     <y>311</y>    </coord>
+    <coord>
+<x>772</x>
+     <y>417</y>    </coord>
+    <coord>
+<x>772</x>
+     <y>417</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndSwitch_OneEven</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>778</x>
+     <y>384</y>    </coord>
+    <coord>
+<x>778</x>
+     <y>448</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>control_m3p1</fromnode-name>
+   <fromserviceparameter-name>OutGate</fromserviceparameter-name>
+   <tonode-name>label_test</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>388</x>
+     <y>388</y>    </coord>
+    <coord>
+<x>389</x>
+     <y>597</y>    </coord>
+    <coord>
+<x>1319</x>
+     <y>597</y>    </coord>
+    <coord>
+<x>1318</x>
+     <y>231</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>control_div2</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
+   <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
+   <coord-list>
+<coord>
+<x>4</x>
+     <y>388</y>    </coord>
+    <coord>
+<x>3</x>
+     <y>587</y>    </coord>
+    <coord>
+<x>1214</x>
+     <y>588</y>    </coord>
+    <coord>
+<x>1213</x>
+     <y>546</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
-<fromnode-name>GraphGOTO</fromnode-name>
-   <fromserviceparameter-name>Switch\a</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-name>
+<fromnode-name>GraphSyrControl</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>GraphSyrControl</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>1</value>   </data-value>
+    <value>0</value>   </data-value>
    <coord-list/>  </data> </data-list></dataflow>
index cd3b7e9671ae988247604a4766ba94ce9a73bbda..766f59cbd520175d40603612379b1f05d6cc7767 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphGeomEssai</node-name>
-                       <kind>1</kind>
-                       <service>
-                               <service-name>GraphGeomEssai</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeSphere\x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeSphere\y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeSphere\z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeSphere\radius</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeTranslation\x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeTranslation\y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeTranslation\z1</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>MakeFuse\shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:2</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:54:47</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeCopy</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeCopy</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:13</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:53:13</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>269</x-position>
-                       <y-position>85</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeFuse</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeFuse</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape2</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:13</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:53:13</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>725</x-position>
-                       <y-position>179</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeSphere</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeSphere</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>radius</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:13</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:53:13</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>28</x-position>
-                       <y-position>188</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeTranslation</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeTranslation</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z1</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:13</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:53:13</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>493</x-position>
-                       <y-position>85</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeCopy_1</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeCopy</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>10/7/2002 - 14:53:18</creation-date>
-                       <lastmodification-date>10/7/2002 - 14:53:18</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>283</x-position>
-                       <y-position>391</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>MakeCopy</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeSphere</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeCopy</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>226</x>
-                                       <y>237</y>
-                               </coord>
-                               <coord>
-                                       <x>226</x>
-                                       <y>340</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeSphere</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeCopy_1</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>226</x>
-                                       <y>544</y>
-                               </coord>
-                               <coord>
-                                       <x>225</x>
-                                       <y>340</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeTranslation</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeFuse</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>688</x>
-                                       <y>330</y>
-                               </coord>
-                               <coord>
-                                       <x>689</x>
-                                       <y>237</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeCopy_1</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeFuse</tonode-name>
-                       <toserviceparameter-name>shape2</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>688</x>
-                                       <y>362</y>
-                               </coord>
-                               <coord>
-                                       <x>689</x>
-                                       <y>543</y>
-                               </coord>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
-                       <tonode-name>MakeSphere</tonode-name>
-                       <toserviceparameter-name>x1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
-                       <tonode-name>MakeSphere</tonode-name>
-                       <toserviceparameter-name>y1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
-                       <tonode-name>MakeSphere</tonode-name>
-                       <toserviceparameter-name>z1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
-                       <tonode-name>MakeSphere</tonode-name>
-                       <toserviceparameter-name>radius</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>20</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>x1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>10</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>y1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>10</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphGeomEssai</fromnode-name>
-                       <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>z1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>10</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphGeomEssai</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphGeomEssai</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeSphere\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeSphere\y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeSphere\z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeSphere\radius</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeTranslation\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeTranslation\y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeTranslation\z1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>MakeFuse\shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>10/7/2002 - 14:53:2</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>GEOM</component-name>
+   <interface-name>GEOM</interface-name>
+   <node-name>MakeCopy</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeCopy</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/9/2003 - 16:13:48</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeCopy from GEOM</comment>
+   <x-position>269</x-position>
+   <y-position>85</y-position>  </node>
+  <node>
+<component-name>GEOM</component-name>
+   <interface-name>GEOM</interface-name>
+   <node-name>MakeFuse</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeFuse</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/9/2003 - 16:13:48</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeFuse from GEOM</comment>
+   <x-position>725</x-position>
+   <y-position>179</y-position>  </node>
+  <node>
+<component-name>GEOM</component-name>
+   <interface-name>GEOM</interface-name>
+   <node-name>MakeSphere</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeSphere</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>radius</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/9/2003 - 16:13:48</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeSphere from GEOM</comment>
+   <x-position>28</x-position>
+   <y-position>188</y-position>  </node>
+  <node>
+<component-name>GEOM</component-name>
+   <interface-name>GEOM</interface-name>
+   <node-name>MakeTranslation</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeTranslation</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/9/2003 - 16:13:48</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeTranslation from GEOM</comment>
+   <x-position>493</x-position>
+   <y-position>85</y-position>  </node>
+  <node>
+<component-name>GEOM</component-name>
+   <interface-name>GEOM</interface-name>
+   <node-name>MakeCopy_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeCopy</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/9/2003 - 16:13:48</creation-date>
+   <lastmodification-date>24/9/2003 - 16:13:48</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeCopy from GEOM</comment>
+   <x-position>283</x-position>
+   <y-position>391</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>MakeCopy</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MakeSphere</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeCopy</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>225</x>
+     <y>165</y>    </coord>
+    <coord>
+<x>224</x>
+     <y>269</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>MakeSphere</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeCopy_1</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>223</x>
+     <y>472</y>    </coord>
+    <coord>
+<x>224</x>
+     <y>270</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>MakeTranslation</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeFuse</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>688</x>
+     <y>259</y>    </coord>
+    <coord>
+<x>687</x>
+     <y>165</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>MakeCopy_1</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeFuse</tonode-name>
+   <toserviceparameter-name>shape2</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>689</x>
+     <y>289</y>    </coord>
+    <coord>
+<x>690</x>
+     <y>471</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
+   <tonode-name>MakeSphere</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
+   <tonode-name>MakeSphere</tonode-name>
+   <toserviceparameter-name>y1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
+   <tonode-name>MakeSphere</tonode-name>
+   <toserviceparameter-name>z1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
+   <tonode-name>MakeSphere</tonode-name>
+   <toserviceparameter-name>radius</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>20</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>y1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphGeomEssai</fromnode-name>
+   <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>z1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index d93576a0baa2fa18a96c72f98b939523e33af78b..0b705a046608e4e40982a6ad66ae2fa61049edfc 100644 (file)
@@ -24,6 +24,7 @@ Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetComment( 'Python function' )
 Add.Coords( 351 , 77 )
+
 PySub = []
 PySub.append( 'def Sub(a,b) : ' )
 PySub.append( '    return a-b ' )
@@ -36,6 +37,7 @@ Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetComment( 'Python function' )
 Sub.Coords( 86 , 333 )
+
 PyMul = []
 PyMul.append( 'def Mul(a,b) : ' )
 PyMul.append( '    return a*b ' )
@@ -48,19 +50,21 @@ Mul.SetAuthor( '' )
 Mul.SetComment( 'Python function' )
 Mul.Coords( 616 , 247 )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 Addf = Add.Port( 'f' )
 Mula = GraphInLines.Link( Addf , Mul.Port( 'a' ) )
-Mula.AddCoord( 1 , 570 , 356 )
-Mula.AddCoord( 2 , 570 , 186 )
+Mula.AddCoord( 1 , 569 , 326 )
+Mula.AddCoord( 2 , 569 , 158 )
+
 Subf = Sub.Port( 'f' )
 Mulb = GraphInLines.Link( Subf , Mul.Port( 'b' ) )
-Mulb.AddCoord( 1 , 282 , 376 )
-Mulb.AddCoord( 2 , 282 , 442 )
+Mulb.AddCoord( 1 , 283 , 358 )
+Mulb.AddCoord( 2 , 281 , 413 )
+
 Addb = GraphInLines.Link( Subf , Add.Port( 'b' ) )
-Addb.AddCoord( 1 , 283 , 209 )
-Addb.AddCoord( 2 , 283 , 374 )
-Addb.AddCoord( 3 , 283 , 442 )
+Addb.AddCoord( 1 , 283 , 187 )
+Addb.AddCoord( 2 , 282 , 356 )
+Addb.AddCoord( 3 , 281 , 414 )
 
 # Creation of Input datas
 Adda = Add.Input( 'a' , 1)
index a60665c7f3f452a5502d5d51f21bb6f6c080a27c..cc34fdb58f32dacc85f9e8d9dd5ea71df3db7620 100644 (file)
@@ -26,7 +26,7 @@
    <Parameter-list/>
    <PyFunction-list/>
    <creation-date>24/3/2003 - 10:58:41</creation-date>
-   <lastmodification-date>25/3/2003 - 16:38:21</lastmodification-date>
+   <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
@@ -60,8 +60,8 @@
      <PyFunc><![CDATA[def Add(a,b) :  ]]></PyFunc>
      <PyFunc><![CDATA[    return a+b  ]]></PyFunc>
      <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 16:37:21</creation-date>
-   <lastmodification-date>25/3/2003 - 16:37:21</lastmodification-date>
+   <creation-date>18/9/2003 - 17:30:7</creation-date>
+   <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
@@ -94,8 +94,8 @@
      <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
      <PyFunc><![CDATA[    return a-b ]]></PyFunc>
      <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 16:37:21</creation-date>
-   <lastmodification-date>25/3/2003 - 16:37:21</lastmodification-date>
+   <creation-date>18/9/2003 - 17:30:7</creation-date>
+   <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
 <FuncName>Mul</FuncName>
      <PyFunc><![CDATA[def Mul(a,b) : ]]></PyFunc>
      <PyFunc><![CDATA[    return a*b ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 16:37:21</creation-date>
-   <lastmodification-date>25/3/2003 - 16:37:21</lastmodification-date>
+   <creation-date>18/9/2003 - 17:30:7</creation-date>
+   <lastmodification-date>18/9/2003 - 17:30:7</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <toserviceparameter-name>a</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>570</x>
-     <y>356</y>    </coord>
+<x>569</x>
+     <y>326</y>    </coord>
     <coord>
-<x>570</x>
-     <y>186</y>    </coord>   </coord-list>  </link>
+<x>569</x>
+     <y>158</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Sub</fromnode-name>
    <fromserviceparameter-name>f</fromserviceparameter-name>
    <toserviceparameter-name>b</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>282</x>
-     <y>376</y>    </coord>
+<x>283</x>
+     <y>358</y>    </coord>
     <coord>
-<x>282</x>
-     <y>442</y>    </coord>   </coord-list>  </link>
+<x>281</x>
+     <y>413</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Sub</fromnode-name>
    <fromserviceparameter-name>f</fromserviceparameter-name>
    <coord-list>
 <coord>
 <x>283</x>
-     <y>209</y>    </coord>
+     <y>187</y>    </coord>
     <coord>
-<x>283</x>
-     <y>374</y>    </coord>
+<x>282</x>
+     <y>356</y>    </coord>
     <coord>
-<x>283</x>
-     <y>442</y>    </coord>   </coord-list>  </link> </link-list>
+<x>281</x>
+     <y>414</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
 <fromnode-name>GraphInLines</fromnode-name>
diff --git a/examples/GraphInLinesParall.py b/examples/GraphInLinesParall.py
new file mode 100755 (executable)
index 0000000..407d31c
--- /dev/null
@@ -0,0 +1,87 @@
+
+# Generated python file of Graph GraphInLines
+
+from SuperV import *
+# Graph creation 
+GraphInLinesParall = Graph( 'GraphInLinesParall' )
+GraphInLinesParall.SetName( 'GraphInLinesParall' )
+GraphInLinesParall.SetAuthor( '' )
+GraphInLinesParall.SetComment( '' )
+GraphInLinesParall.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyAdd = []
+PyAdd.append( 'import time ' )
+PyAdd.append( 'def Add(a,b) :   ' )
+PyAdd.append( '    print "Add will wait 5 seconds" ' )
+PyAdd.append( '    time.sleep(5) ' )
+PyAdd.append( '    print "Add waited" ' )
+PyAdd.append( '    return a+b   ' )
+PyAdd.append( '' )
+Add = GraphInLinesParall.INode( 'Add' , PyAdd )
+Add.InPort( 'a' , 'long' )
+Add.InPort( 'b' , 'long' )
+Add.OutPort( 'f' , 'long' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetComment( 'Python function' )
+Add.Coords( 351 , 77 )
+
+PySub = []
+PySub.append( 'def Sub(a,b) : ' )
+PySub.append( '    return a-b ' )
+PySub.append( '' )
+Sub = GraphInLinesParall.INode( 'Sub' , PySub )
+Sub.InPort( 'a' , 'long' )
+Sub.InPort( 'b' , 'long' )
+Sub.OutPort( 'f' , 'long' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetComment( 'Python function' )
+Sub.Coords( 86 , 333 )
+
+PyMul = []
+PyMul.append( 'import time  ' )
+PyMul.append( 'def Mul(a,b) :    ' )
+PyMul.append( '    print "Mul will wait 5 seconds"  ' )
+PyMul.append( '    time.sleep(5)  ' )
+PyMul.append( '    print "Mul waited"  ' )
+PyMul.append( '    return a*b  ' )
+Mul = GraphInLinesParall.INode( 'Mul' , PyMul )
+Mul.InPort( 'a' , 'long' )
+Mul.InPort( 'b' , 'long' )
+Mul.OutPort( 'Result' , 'long' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetComment( 'Python function' )
+Mul.Coords( 616 , 247 )
+
+# Creation of Links
+Subf = Sub.Port( 'f' )
+Mulb = GraphInLinesParall.Link( Subf , Mul.Port( 'b' ) )
+Mulb.AddCoord( 1 , 583 , 357 )
+Mulb.AddCoord( 2 , 583 , 413 )
+Mulb.AddCoord( 3 , 282 , 413 )
+
+Addb = GraphInLinesParall.Link( Subf , Add.Port( 'b' ) )
+Addb.AddCoord( 1 , 282 , 186 )
+Addb.AddCoord( 2 , 283 , 413 )
+
+Mula = GraphInLinesParall.Link( Subf , Mul.Port( 'a' ) )
+Mula.AddCoord( 1 , 583 , 328 )
+Mula.AddCoord( 2 , 583 , 412 )
+
+# Creation of Input datas
+Adda = Add.Input( 'a' , 1)
+Suba = Sub.Input( 'a' , 3)
+Subb = Sub.Input( 'b' , 4)
+
+# Creation of Output variables
+Addf = Add.Port( 'f' )
+MulResult = Mul.Port( 'Result' )
+
+GraphInLinesParall.Run()
+GraphInLinesParall.DoneW()
+GraphInLinesParall.PrintPorts()
diff --git a/examples/GraphInLinesParall.xml b/examples/GraphInLinesParall.xml
new file mode 100755 (executable)
index 0000000..74a3cb8
--- /dev/null
@@ -0,0 +1,216 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphInLinesParall</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphInLinesParall</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Add\a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Add\f</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Mul\Result</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/3/2003 - 10:58:41</creation-date>
+   <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Add</FuncName>
+     <PyFunc><![CDATA[import time ]]></PyFunc>
+     <PyFunc><![CDATA[def Add(a,b) :   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add will wait 5 seconds" ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep(5) ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Add waited" ]]></PyFunc>
+     <PyFunc><![CDATA[    return a+b   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:31:28</creation-date>
+   <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>351</x-position>
+   <y-position>77</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Sub</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Sub</FuncName>
+     <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
+     <PyFunc><![CDATA[    return a-b ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:31:28</creation-date>
+   <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>86</x-position>
+   <y-position>333</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Mul</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Result</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Mul</FuncName>
+     <PyFunc><![CDATA[import time  ]]></PyFunc>
+     <PyFunc><![CDATA[def Mul(a,b) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Mul will wait 5 seconds"  ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep(5)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Mul waited"  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a*b  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:31:28</creation-date>
+   <lastmodification-date>18/9/2003 - 17:31:28</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>616</x-position>
+   <y-position>247</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>583</x>
+     <y>357</y>    </coord>
+    <coord>
+<x>583</x>
+     <y>413</y>    </coord>
+    <coord>
+<x>282</x>
+     <y>413</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>282</x>
+     <y>186</y>    </coord>
+    <coord>
+<x>283</x>
+     <y>413</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>583</x>
+     <y>328</y>    </coord>
+    <coord>
+<x>583</x>
+     <y>412</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphInLinesParall</fromnode-name>
+   <fromserviceparameter-name>Add\a</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesParall</fromnode-name>
+   <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesParall</fromnode-name>
+   <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphInLinesTypesCheck.py b/examples/GraphInLinesTypesCheck.py
new file mode 100755 (executable)
index 0000000..480e444
--- /dev/null
@@ -0,0 +1,191 @@
+
+# Generated python file of Graph GraphInLinesConvertCheck
+
+from SuperV import *
+# Graph creation 
+GraphInLinesConvertCheck = Graph( 'GraphInLinesConvertCheck' )
+GraphInLinesConvertCheck.SetName( 'GraphInLinesConvertCheck' )
+GraphInLinesConvertCheck.SetAuthor( 'JR' )
+GraphInLinesConvertCheck.SetComment( '' )
+GraphInLinesConvertCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Addition = GraphInLinesConvertCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+Addition.SetName( 'Addition' )
+Addition.SetAuthor( '' )
+Addition.SetContainer( 'localhost/FactoryServer' )
+Addition.SetComment( 'Addition from AddComponent' )
+Addition.Coords( 232 , 514 )
+
+# Creation of InLine Nodes
+PyBoolCheck = []
+PyBoolCheck.append( 'def BoolCheck( InBool ) : ' )
+PyBoolCheck.append( '  return InBool ' )
+PyBoolCheck.append( '' )
+BoolCheck = GraphInLinesConvertCheck.INode( 'BoolCheck' , PyBoolCheck )
+BoolCheck.InPort( 'InBool' , 'boolean' )
+BoolCheck.OutPort( 'OutBool' , 'boolean' )
+BoolCheck.SetName( 'BoolCheck' )
+BoolCheck.SetAuthor( '' )
+BoolCheck.SetComment( 'InLine Node' )
+BoolCheck.Coords( 234 , 92 )
+
+PyCharCheck = []
+PyCharCheck.append( 'def CharCheck( InChar ) : ' )
+PyCharCheck.append( '  return InChar ' )
+PyCharCheck.append( '' )
+CharCheck = GraphInLinesConvertCheck.INode( 'CharCheck' , PyCharCheck )
+CharCheck.InPort( 'InChar' , 'char' )
+CharCheck.OutPort( 'OutChar' , 'char' )
+CharCheck.SetName( 'CharCheck' )
+CharCheck.SetAuthor( '' )
+CharCheck.SetComment( 'InLine Node' )
+CharCheck.Coords( 30 , 142 )
+
+PyShortCheck = []
+PyShortCheck.append( 'def ShortCheck( InShort ) : ' )
+PyShortCheck.append( ' return InShort ' )
+PyShortCheck.append( '' )
+ShortCheck = GraphInLinesConvertCheck.INode( 'ShortCheck' , PyShortCheck )
+ShortCheck.InPort( 'InShort' , 'short' )
+ShortCheck.OutPort( 'OutShort' , 'short' )
+ShortCheck.SetName( 'ShortCheck' )
+ShortCheck.SetAuthor( '' )
+ShortCheck.SetComment( 'InLine Node' )
+ShortCheck.Coords( 234 , 230 )
+
+PyFloatCheck = []
+PyFloatCheck.append( 'def FloatCheck( InFloat ) : ' )
+PyFloatCheck.append( ' return InFloat ' )
+PyFloatCheck.append( '' )
+FloatCheck = GraphInLinesConvertCheck.INode( 'FloatCheck' , PyFloatCheck )
+FloatCheck.InPort( 'InFloat' , 'float' )
+FloatCheck.OutPort( 'OutFloat' , 'float' )
+FloatCheck.SetName( 'FloatCheck' )
+FloatCheck.SetAuthor( '' )
+FloatCheck.SetComment( 'InLine Node' )
+FloatCheck.Coords( 230 , 375 )
+
+PyLongCheck = []
+PyLongCheck.append( 'def LongCheck( InLong ) : ' )
+PyLongCheck.append( '  return InLong  ' )
+PyLongCheck.append( '' )
+LongCheck = GraphInLinesConvertCheck.INode( 'LongCheck' , PyLongCheck )
+LongCheck.InPort( 'InLong' , 'long' )
+LongCheck.OutPort( 'OutLong' , 'long' )
+LongCheck.SetName( 'LongCheck' )
+LongCheck.SetAuthor( '' )
+LongCheck.SetComment( 'InLine Node' )
+LongCheck.Coords( 30 , 282 )
+
+PyStringCheck = []
+PyStringCheck.append( 'def StringCheck( aString ) : ' )
+PyStringCheck.append( '        return aString ' )
+PyStringCheck.append( '' )
+StringCheck = GraphInLinesConvertCheck.INode( 'StringCheck' , PyStringCheck )
+StringCheck.InPort( 'InString' , 'string' )
+StringCheck.OutPort( 'OutString' , 'string' )
+StringCheck.SetName( 'StringCheck' )
+StringCheck.SetAuthor( '' )
+StringCheck.SetComment( 'InLine Node' )
+StringCheck.Coords( 30 , 6 )
+
+PyDoubleCheck = []
+PyDoubleCheck.append( 'def DoubleCheck( InDouble ) : ' )
+PyDoubleCheck.append( '        return InDouble ' )
+PyDoubleCheck.append( '' )
+DoubleCheck = GraphInLinesConvertCheck.INode( 'DoubleCheck' , PyDoubleCheck )
+DoubleCheck.InPort( 'InDouble' , 'double' )
+DoubleCheck.OutPort( 'OutDouble' , 'double' )
+DoubleCheck.SetName( 'DoubleCheck' )
+DoubleCheck.SetAuthor( '' )
+DoubleCheck.SetComment( 'Compute Node' )
+DoubleCheck.Coords( 23 , 427 )
+
+PyMiscTypes = []
+PyMiscTypes.append( 'def MiscTypes( InString , InBool , InChar , InShort , InLong , InFloat , InDouble , InObjRef ) : ' )
+PyMiscTypes.append( '  return InString,InBool,InChar,InShort,InLong,InFloat,InDouble,InObjRef ' )
+MiscTypes = GraphInLinesConvertCheck.INode( 'MiscTypes' , PyMiscTypes )
+MiscTypes.InPort( 'InString' , 'string' )
+MiscTypes.InPort( 'InBool' , 'boolean' )
+MiscTypes.InPort( 'InChar' , 'char' )
+MiscTypes.InPort( 'InShort' , 'short' )
+MiscTypes.InPort( 'InLong' , 'long' )
+MiscTypes.InPort( 'InFloat' , 'float' )
+MiscTypes.InPort( 'InDouble' , 'double' )
+MiscTypes.InPort( 'InObjRef' , 'SuperVision::Adder' )
+MiscTypes.OutPort( 'OutString' , 'string' )
+MiscTypes.OutPort( 'OutBool' , 'boolean' )
+MiscTypes.OutPort( 'OutChar' , 'char' )
+MiscTypes.OutPort( 'OutShort' , 'short' )
+MiscTypes.OutPort( 'OutLong' , 'long' )
+MiscTypes.OutPort( 'OutFloat' , 'float' )
+MiscTypes.OutPort( 'OutDouble' , 'double' )
+MiscTypes.OutPort( 'OutObjRef' , 'SuperVisionTest::Addre' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetComment( 'InLine Node' )
+MiscTypes.Coords( 477 , 231 )
+
+# Creation of Links
+BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
+MiscTypesInBool = GraphInLinesConvertCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
+MiscTypesInBool.AddCoord( 1 , 446 , 341 )
+MiscTypesInBool.AddCoord( 2 , 446 , 172 )
+
+CharCheckOutChar = CharCheck.Port( 'OutChar' )
+MiscTypesInChar = GraphInLinesConvertCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
+MiscTypesInChar.AddCoord( 1 , 431 , 368 )
+MiscTypesInChar.AddCoord( 2 , 431 , 223 )
+
+ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
+MiscTypesInShort = GraphInLinesConvertCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
+MiscTypesInShort.AddCoord( 1 , 415 , 397 )
+MiscTypesInShort.AddCoord( 2 , 414 , 310 )
+
+FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
+MiscTypesInFloat = GraphInLinesConvertCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
+
+AdditionAdder = Addition.Port( 'Adder' )
+MiscTypesInObjRef = GraphInLinesConvertCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
+MiscTypesInObjRef.AddCoord( 1 , 462 , 514 )
+MiscTypesInObjRef.AddCoord( 2 , 461 , 593 )
+
+LongCheckOutLong = LongCheck.Port( 'OutLong' )
+MiscTypesInLong = GraphInLinesConvertCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
+MiscTypesInLong.AddCoord( 1 , 406 , 426 )
+MiscTypesInLong.AddCoord( 2 , 405 , 363 )
+
+StringCheckOutString = StringCheck.Port( 'OutString' )
+MiscTypesInString = GraphInLinesConvertCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
+MiscTypesInString.AddCoord( 1 , 462 , 312 )
+MiscTypesInString.AddCoord( 2 , 461 , 87 )
+
+DoubleCheckOutDouble = DoubleCheck.Port( 'OutDouble' )
+MiscTypesInDouble = GraphInLinesConvertCheck.Link( DoubleCheckOutDouble , MiscTypes.Port( 'InDouble' ) )
+MiscTypesInDouble.AddCoord( 1 , 445 , 485 )
+MiscTypesInDouble.AddCoord( 2 , 445 , 508 )
+
+# Creation of Input datas
+BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
+CharCheckInChar = CharCheck.Input( 'InChar' , 255)
+ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
+FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
+LongCheckInLong = LongCheck.Input( 'InLong' , 1234567890)
+StringCheckInString = StringCheck.Input( 'InString' , 'aString')
+DoubleCheckInDouble = DoubleCheck.Input( 'InDouble' , 1.23457)
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphInLinesConvertCheck.Run()
+GraphInLinesConvertCheck.DoneW()
+GraphInLinesConvertCheck.PrintPorts()
diff --git a/examples/GraphInLinesTypesCheck.xml b/examples/GraphInLinesTypesCheck.xml
new file mode 100755 (executable)
index 0000000..db1b88f
--- /dev/null
@@ -0,0 +1,536 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphInLinesConvertCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphInLinesConvertCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>BoolCheck\InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>CharCheck\InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>ShortCheck\InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>FloatCheck\InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>LongCheck\InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>StringCheck\InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>DoubleCheck\InDouble</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Addre</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/9/2003 - 17:28:48</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>BoolCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>BoolCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>BoolCheck</FuncName>
+     <PyFunc><![CDATA[def BoolCheck( InBool ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InBool ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>234</x-position>
+   <y-position>92</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>CharCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>CharCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>CharCheck</FuncName>
+     <PyFunc><![CDATA[def CharCheck( InChar ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InChar ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>142</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>ShortCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ShortCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>ShortCheck</FuncName>
+     <PyFunc><![CDATA[def ShortCheck( InShort ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InShort ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>234</x-position>
+   <y-position>230</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>FloatCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>FloatCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>FloatCheck</FuncName>
+     <PyFunc><![CDATA[def FloatCheck( InFloat ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InFloat ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>230</x-position>
+   <y-position>375</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>232</x-position>
+   <y-position>514</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>LongCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LongCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>LongCheck</FuncName>
+     <PyFunc><![CDATA[def LongCheck( InLong ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InLong  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>282</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>StringCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>StringCheck</FuncName>
+     <PyFunc><![CDATA[def StringCheck( aString ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return aString ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>30</x-position>
+   <y-position>6</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DoubleCheck</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DoubleCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DoubleCheck</FuncName>
+     <PyFunc><![CDATA[def DoubleCheck( InDouble ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InDouble ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>23</x-position>
+   <y-position>427</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVision::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Addre</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>MiscTypes</FuncName>
+     <PyFunc><![CDATA[def MiscTypes( InString , InBool , InChar , InShort , InLong , InFloat , InDouble , InObjRef ) : ]]></PyFunc>
+     <PyFunc><![CDATA[ return InString,InBool,InChar,InShort,InLong,InFloat,InDouble,InObjRef ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>11/9/2003 - 14:10:54</creation-date>
+   <lastmodification-date>11/9/2003 - 14:10:54</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InLine Node</comment>
+   <x-position>477</x-position>
+   <y-position>231</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>BoolCheck</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>446</x>
+     <y>341</y>    </coord>
+    <coord>
+<x>446</x>
+     <y>172</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>CharCheck</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>431</x>
+     <y>368</y>    </coord>
+    <coord>
+<x>431</x>
+     <y>223</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ShortCheck</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>415</x>
+     <y>397</y>    </coord>
+    <coord>
+<x>414</x>
+     <y>310</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>FloatCheck</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>462</x>
+     <y>514</y>    </coord>
+    <coord>
+<x>461</x>
+     <y>593</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LongCheck</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>406</x>
+     <y>426</y>    </coord>
+    <coord>
+<x>405</x>
+     <y>363</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>StringCheck</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>462</x>
+     <y>312</y>    </coord>
+    <coord>
+<x>461</x>
+     <y>87</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>DoubleCheck</fromnode-name>
+   <fromserviceparameter-name>OutDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>445</x>
+     <y>485</y>    </coord>
+    <coord>
+<x>445</x>
+     <y>508</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
+   <tonode-name>BoolCheck</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
+   <tonode-name>CharCheck</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>255</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
+   <tonode-name>ShortCheck</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>16383</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
+   <tonode-name>FloatCheck</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3.14159</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
+   <tonode-name>LongCheck</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1234567890</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
+   <tonode-name>StringCheck</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>aString</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesConvertCheck</fromnode-name>
+   <fromserviceparameter-name>DoubleCheck\InDouble</fromserviceparameter-name>
+   <tonode-name>DoubleCheck</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1.23457</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphInLinesUnValid.py b/examples/GraphInLinesUnValid.py
new file mode 100755 (executable)
index 0000000..0b08e95
--- /dev/null
@@ -0,0 +1,83 @@
+
+# Generated python file of Graph GraphInLinesUnValid
+
+from SuperV import *
+# Graph creation 
+GraphInLinesUnValid = Graph( 'GraphInLinesUnValid' )
+GraphInLinesUnValid.SetName( 'GraphInLinesUnValid' )
+GraphInLinesUnValid.SetAuthor( '' )
+GraphInLinesUnValid.SetComment( '' )
+GraphInLinesUnValid.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyAdd = []
+PyAdd.append( 'def Add(a,b) :  ' )
+PyAdd.append( '    return a+b  ' )
+PyAdd.append( '' )
+Add = GraphInLinesUnValid.INode( 'Add' , PyAdd )
+Add.InPort( 'a' , 'long' )
+Add.InPort( 'b' , 'long' )
+Add.OutPort( 'f' , 'long' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetComment( 'Python function' )
+Add.Coords( 257 , 13 )
+
+PySub = []
+PySub.append( 'def Sub(a,b) : ' )
+PySub.append( '    return a-b ' )
+PySub.append( '' )
+Sub = GraphInLinesUnValid.INode( 'Sub' , PySub )
+Sub.InPort( 'a' , 'long' )
+Sub.InPort( 'b' , 'long' )
+Sub.OutPort( 'f' , 'long' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetComment( 'Python function' )
+Sub.Coords( 20 , 152 )
+
+PyMul = []
+PyMul.append( 'def Mul(a,b) : ' )
+PyMul.append( '    return a*b ' )
+Mul = GraphInLinesUnValid.INode( 'Mul' , PyMul )
+Mul.InPort( 'a' , 'long' )
+Mul.InPort( 'b' , 'long' )
+Mul.OutPort( 'Result' , 'long' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetComment( 'Python function' )
+Mul.Coords( 469 , 125 )
+
+# Creation of Links
+Addf = Add.Port( 'f' )
+Mula = GraphInLinesUnValid.Link( Addf , Mul.Port( 'a' ) )
+Mula.AddCoord( 1 , 451 , 205 )
+Mula.AddCoord( 2 , 450 , 93 )
+
+Subf = Sub.Port( 'f' )
+Mulb = GraphInLinesUnValid.Link( Subf , Mul.Port( 'b' ) )
+
+Addb = GraphInLinesUnValid.Link( Subf , Add.Port( 'b' ) )
+Addb.AddCoord( 1 , 235 , 122 )
+Addb.AddCoord( 2 , 236 , 232 )
+
+MulResult = Mul.Port( 'Result' )
+Adda = GraphInLinesUnValid.Link( MulResult , Add.Port( 'a' ) )
+Adda.AddCoord( 1 , 8 , 92 )
+Adda.AddCoord( 2 , 7 , 332 )
+Adda.AddCoord( 3 , 645 , 334 )
+Adda.AddCoord( 4 , 645 , 204 )
+
+GraphInLinesUnValid.IsValid()
+
+# Creation of Output variables
+GraphInLinesUnValid.Run()
+
+GraphInLinesUnValid.IsDone()
+
+GraphInLinesUnValid.State()
+
+GraphInLinesUnValid.PrintPorts()
+
diff --git a/examples/GraphInLinesUnValid.xml b/examples/GraphInLinesUnValid.xml
new file mode 100755 (executable)
index 0000000..43288a4
--- /dev/null
@@ -0,0 +1,199 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphInLinesUnValid</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphInLinesUnValid</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>24/3/2003 - 10:58:41</creation-date>
+   <lastmodification-date>8/8/2003 - 15:31:37</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Add</FuncName>
+     <PyFunc><![CDATA[def Add(a,b) :  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a+b  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>8/8/2003 - 15:30:23</creation-date>
+   <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>257</x-position>
+   <y-position>13</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Sub</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>f</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Sub</FuncName>
+     <PyFunc><![CDATA[def Sub(a,b) : ]]></PyFunc>
+     <PyFunc><![CDATA[    return a-b ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>8/8/2003 - 15:30:23</creation-date>
+   <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>20</x-position>
+   <y-position>152</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Mul</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Result</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Mul</FuncName>
+     <PyFunc><![CDATA[def Mul(a,b) : ]]></PyFunc>
+     <PyFunc><![CDATA[    return a*b ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>8/8/2003 - 15:30:23</creation-date>
+   <lastmodification-date>8/8/2003 - 15:30:23</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>469</x-position>
+   <y-position>125</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>451</x>
+     <y>205</y>    </coord>
+    <coord>
+<x>450</x>
+     <y>93</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>f</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>235</x>
+     <y>122</y>    </coord>
+    <coord>
+<x>236</x>
+     <y>232</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>Result</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>8</x>
+     <y>92</y>    </coord>
+    <coord>
+<x>7</x>
+     <y>332</y>    </coord>
+    <coord>
+<x>645</x>
+     <y>334</y>    </coord>
+    <coord>
+<x>645</x>
+     <y>204</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphInLinesUnValid</fromnode-name>
+   <fromserviceparameter-name>Sub\a</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphInLinesUnValid</fromnode-name>
+   <fromserviceparameter-name>Sub\b</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>b</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 782ac5258fd1d92b68ae984209d06d4368849c93..8488517c458d0553f6ee099933bec000f4cb16a6 100644 (file)
@@ -13,34 +13,28 @@ GraphLoop.Coords( 0 , 0 )
 
 # Creation of Loop Nodes
 PyInit = []
-PyInit.append( 'import time' )
 PyInit.append( 'def Init(Index,Min,Max,Incr) :  ' )
 PyInit.append( '    if Min <= Max :  ' )
 PyInit.append( '        Index = Min  ' )
 PyInit.append( '    else :  ' )
 PyInit.append( '        Index = Max  ' )
-PyInit.append( '    time.sleep( 1 )' )
 PyInit.append( '    return Index,Min,Max,Incr  ' )
 PyMoreInit = []
-PyMoreInit.append( 'import time' )
 PyMoreInit.append( 'def More(Index,Min,Max,Incr) :  ' )
 PyMoreInit.append( '    if Index < Max :  ' )
 PyMoreInit.append( '        DoLoop = 1  ' )
 PyMoreInit.append( '    else :  ' )
 PyMoreInit.append( '        DoLoop = 0  ' )
-PyMoreInit.append( '    time.sleep( 1 )' )
 PyMoreInit.append( '    return DoLoop,Index,Min,Max,Incr  ' )
 PyNextInit = []
-PyNextInit.append( 'import time' )
 PyNextInit.append( 'def Next(Index,Min,Max,Incr) :  ' )
 PyNextInit.append( '    Index = Index + Incr  ' )
-PyNextInit.append( '    time.sleep( 1 )' )
 PyNextInit.append( '    return Index,Min,Max,Incr ' )
 Init,EndInit = GraphLoop.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
 EndInit.SetName( 'EndInit' )
 EndInit.SetAuthor( '' )
 EndInit.SetComment( '' )
-EndInit.Coords( 626 , 259 )
+EndInit.Coords( 314 , 91 )
 Init.InPort( 'Index' , 'long' )
 Init.InPort( 'Min' , 'long' )
 Init.InPort( 'Max' , 'long' )
@@ -52,26 +46,25 @@ Init.OutPort( 'Incr' , 'long' )
 Init.SetName( 'Init' )
 Init.SetAuthor( '' )
 Init.SetComment( '' )
-Init.Coords( 17 , 257 )
+Init.Coords( 31 , 74 )
 
-# Creation of intermediate Output variables and of Control Links
-InitDoLoop = Init.Port( 'DoLoop' )
-EndInitDoLoop = GraphLoop.Link( InitDoLoop , EndInit.Port( 'DoLoop' ) )
+# Creation of Links
 InitIndex = Init.Port( 'Index' )
 EndInitIndex = GraphLoop.Link( InitIndex , EndInit.Port( 'Index' ) )
+
 InitMin = Init.Port( 'Min' )
 EndInitMin = GraphLoop.Link( InitMin , EndInit.Port( 'Min' ) )
+
 InitMax = Init.Port( 'Max' )
 EndInitMax = GraphLoop.Link( InitMax , EndInit.Port( 'Max' ) )
+
 InitIncr = Init.Port( 'Incr' )
 EndInitIncr = GraphLoop.Link( InitIncr , EndInit.Port( 'Incr' ) )
-EndInitDoLoop = EndInit.Port( 'DoLoop' )
-InitInitLoop = GraphLoop.Link( EndInitDoLoop , Init.Port( 'InitLoop' ) )
 
 # Creation of Input datas
 InitIndex = Init.Input( 'Index' , 0)
 InitMin = Init.Input( 'Min' , 0)
-InitMax = Init.Input( 'Max' , 10)
+InitMax = Init.Input( 'Max' , 1000)
 InitIncr = Init.Input( 'Incr' , 1)
 
 # Creation of Output variables
diff --git a/examples/GraphLoopSwitch.py b/examples/GraphLoopSwitch.py
new file mode 100755 (executable)
index 0000000..c14aad1
--- /dev/null
@@ -0,0 +1,137 @@
+
+# Generated python file of Graph GraphLoopSwitch
+
+from SuperV import *
+# Graph creation 
+GraphLoopSwitch = Graph( 'GraphLoopSwitch' )
+GraphLoopSwitch.SetName( 'GraphLoopSwitch' )
+GraphLoopSwitch.SetAuthor( '' )
+GraphLoopSwitch.SetComment( '' )
+GraphLoopSwitch.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyIsOdd = []
+PyIsOdd.append( 'from time import *    ' )
+PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
+PyIsOdd.append( '    print a,"IsOdd (GraphLoopSwitch1)"       ' )
+PyIsOdd.append( '    sleep( 1 )    ' )
+PyIsOdd.append( '    return a      ' )
+IsOdd = GraphLoopSwitch.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 397 , 1 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.InPort( 'Even' , 'boolean' )
+IsOdd.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoop = []
+PyInitLoop.append( ' ' )
+PyMoreInitLoop = []
+PyMoreInitLoop.append( ' ' )
+PyNextInitLoop = []
+PyNextInitLoop.append( ' ' )
+InitLoop,EndOfInitLoop = GraphLoopSwitch.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 767 , 102 )
+PyEndOfInitLoop = []
+PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+PyEndOfInitLoop.append( '      Index = Index + 1     ' )
+PyEndOfInitLoop.append( '      if Index <= Max :   ' )
+PyEndOfInitLoop.append( '              DoLoop = 1     ' )
+PyEndOfInitLoop.append( '      else :     ' )
+PyEndOfInitLoop.append( '              DoLoop = 0     ' )
+PyEndOfInitLoop.append( '      return DoLoop,Index,Min,Max     ' )
+EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 10 , 108 )
+InitLoop.InPort( 'Index' , 'long' )
+InitLoop.InPort( 'Min' , 'long' )
+InitLoop.InPort( 'Max' , 'long' )
+InitLoop.OutPort( 'Index' , 'long' )
+InitLoop.OutPort( 'Min' , 'long' )
+InitLoop.OutPort( 'Max' , 'long' )
+
+# Creation of Switch Nodes
+PySwitch = []
+PySwitch.append( 'from time import *  ' )
+PySwitch.append( 'def Switch(a) :    ' )
+PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+PySwitch.append( '        sleep(1)  ' )
+PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+Switch,EndSwitch = GraphLoopSwitch.SNode( 'Switch' , PySwitch )
+EndSwitch.SetName( 'EndSwitch' )
+EndSwitch.SetAuthor( '' )
+EndSwitch.SetComment( '' )
+EndSwitch.Coords( 587 , 103 )
+PyEndSwitch = []
+PyEndSwitch.append( 'def EndSwitch(a) :    ' )
+PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
+PyEndSwitch.append( '        sleep(1)  ' )
+PyEndSwitch.append( '    return a    ' )
+EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+EndSwitch.InPort( 'a' , 'long' )
+EndSwitch.OutPort( 'a' , 'long' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 194 , 109 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
+
+# Creation of Links
+IsOdda = IsOdd.Port( 'a' )
+EndSwitcha = GraphLoopSwitch.Link( IsOdda , EndSwitch.Port( 'a' ) )
+EndSwitcha.AddCoord( 1 , 576 , 136 )
+EndSwitcha.AddCoord( 2 , 575 , 81 )
+
+InitLoopIndex = InitLoop.Port( 'Index' )
+Switcha = GraphLoopSwitch.Link( InitLoopIndex , Switch.Port( 'a' ) )
+
+InitLoopMin = InitLoop.Port( 'Min' )
+EndOfInitLoopMin = GraphLoopSwitch.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
+
+InitLoopMax = InitLoop.Port( 'Max' )
+EndOfInitLoopMax = GraphLoopSwitch.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
+
+SwitchOdd = Switch.Port( 'Odd' )
+IsOddInGate = GraphLoopSwitch.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
+
+SwitchEven = Switch.Port( 'Even' )
+EndSwitchDefault = GraphLoopSwitch.Link( SwitchEven , EndSwitch.Port( 'Default' ) )
+
+IsOddEven = GraphLoopSwitch.Link( SwitchEven , IsOdd.Port( 'Even' ) )
+IsOddEven.AddCoord( 1 , 375 , 111 )
+IsOddEven.AddCoord( 2 , 375 , 172 )
+
+Switcha = Switch.Port( 'a' )
+IsOdda = GraphLoopSwitch.Link( Switcha , IsOdd.Port( 'a' ) )
+IsOdda.AddCoord( 1 , 362 , 82 )
+IsOdda.AddCoord( 2 , 360 , 201 )
+
+EndSwitcha = EndSwitch.Port( 'a' )
+EndOfInitLoopIndex = GraphLoopSwitch.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
+
+# Creation of Input datas
+InitLoopIndex = InitLoop.Input( 'Index' , 0)
+InitLoopMin = InitLoop.Input( 'Min' , 0)
+InitLoopMax = InitLoop.Input( 'Max' , 100)
+
+# Creation of Output variables
+EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
+EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
+EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
+
+GraphLoopSwitch.Run()
+GraphLoopSwitch.DoneW()
+GraphLoopSwitch.State()
+GraphLoopSwitch.PrintPorts()
diff --git a/examples/GraphLoopSwitch.xml b/examples/GraphLoopSwitch.xml
new file mode 100755 (executable)
index 0000000..a5e717d
--- /dev/null
@@ -0,0 +1,356 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphLoopSwitch</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphLoopSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>22/10/2003 - 10:36:39</creation-date>
+   <lastmodification-date>22/10/2003 - 10:37:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>Even</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd (GraphLoopSwitch1)"       ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+     <PyFunc><![CDATA[    return a      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>22/10/2003 - 10:36:39</creation-date>
+   <lastmodification-date>22/10/2003 - 10:36:39</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>397</x-position>
+   <y-position>1</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitLoop</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfInitLoop</coupled-node>
+   <service>
+<service-name>Loop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>22/10/2003 - 10:36:40</creation-date>
+   <lastmodification-date>22/10/2003 - 10:36:40</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>108</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfInitLoop</node-name>
+   <kind>5</kind>
+   <coupled-node>InitLoop</coupled-node>
+   <service>
+<service-name>EndLoop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfInitLoop</FuncName>
+     <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ if Index <= Max :   ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ else :     ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[ return DoLoop,Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>22/10/2003 - 10:36:40</creation-date>
+   <lastmodification-date>22/10/2003 - 10:36:40</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>767</x-position>
+   <y-position>102</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Switch</node-name>
+   <kind>6</kind>
+   <coupled-node>EndSwitch</coupled-node>
+   <service>
+<service-name>Switch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Odd</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>22/10/2003 - 10:36:59</creation-date>
+   <lastmodification-date>22/10/2003 - 10:36:59</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>194</x-position>
+   <y-position>109</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndSwitch</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitch</FuncName>
+     <PyFunc><![CDATA[def EndSwitch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>22/10/2003 - 10:36:59</creation-date>
+   <lastmodification-date>22/10/2003 - 10:36:59</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>103</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>576</x>
+     <y>136</y>    </coord>
+    <coord>
+<x>575</x>
+     <y>81</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>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>Even</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>375</x>
+     <y>111</y>    </coord>
+    <coord>
+<x>375</x>
+     <y>172</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>362</x>
+     <y>82</y>    </coord>
+    <coord>
+<x>360</x>
+     <y>201</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphLoopSwitch</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>GraphLoopSwitch</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>GraphLoopSwitch</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphMerge.py b/examples/GraphMerge.py
new file mode 100755 (executable)
index 0000000..ce9b4dd
--- /dev/null
@@ -0,0 +1,61 @@
+
+# Check the Merge of two graphs
+
+# Creation of GraphSwitch
+from GraphSwitch import *
+
+# Creation of GraphSwitch1
+from GraphSwitch1 import *
+
+# Merge of GraphSwitch1 in GraphSwitch
+GraphSwitch.Merge( GraphSwitch1 )
+
+# Create a variable for each node of GraphSwitch :
+# IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
+exec GraphSwitch.ListNodes()
+
+# Print Input and Output Ports values of InitLoopSwitch
+InitLoopSwitch.PrintPorts()
+
+# Print Input and Output Ports values of InitLoop
+InitLoop.PrintPorts()
+
+# Print Input and Output Ports values of GraphSwitch
+GraphSwitch.PrintPorts()
+
+# Start asynchronous execution of GraphSwitch
+GraphSwitch.Run()
+
+# Wait for completion of GraphSwitch
+GraphSwitch.DoneW()
+
+# Print the state of GraphSwitch
+GraphSwitch.State()
+
+# Print the results of GraphSwitch
+GraphSwitch.PrintPorts()
+
+# Start asynchronous execution of GraphSwitch
+GraphSwitch.Run()
+
+# Start asynchronous execution of GraphSwitch1 (parallel to the execution of GraphSwitch)
+GraphSwitch1.Run()
+
+# Wait for completion of GraphSwitch1
+GraphSwitch1.DoneW()
+
+# Print the state of GraphSwitch1
+GraphSwitch.State()
+
+# Wait for completion of GraphSwitch
+GraphSwitch.DoneW()
+
+# Print the state of GraphSwitch
+GraphSwitch.State()
+
+# Print the results of GraphSwitch
+GraphSwitch.PrintPorts()
+
+# Print the results of GraphSwitch1
+GraphSwitch1.PrintPorts()
+
diff --git a/examples/GraphMerge1.py b/examples/GraphMerge1.py
new file mode 100755 (executable)
index 0000000..8ab8fea
--- /dev/null
@@ -0,0 +1,54 @@
+
+# Check the Merge of two graphs and python functions definitions
+
+# Creation of GraphSwitch
+from GraphSwitch import *
+
+# Creation of GraphSwitch1
+from GraphSwitch1 import *
+
+# Merge of GraphSwitch1 in GraphSwitch
+GraphSwitch.Merge( GraphSwitch1 )
+
+# Create a variable for each node of GraphSwitch :
+# IsOdd,IsOdd_1,InitLoopSwitch,InitLoop,EndOfInitLoopSwitch,EndOfInitLoop,Switch,Switch_1,EndOfSwitch,EndSwitch
+exec GraphSwitch.ListNodes()
+
+funcname = InitLoopSwitch.PyInitName()
+funcname1 = InitLoop.PyInitName()
+print "Init python function names of InitLoopSwitch and InitLoop :",funcname,funcname1
+InitLoop.PyInit()
+# Erase python functions of InitLoop
+InitLoop.SetPyInit( funcname , [] )
+InitLoop.PyInit()
+InitLoop.SetPyMore( InitLoop.PyMoreName() , [] )
+InitLoop.PyMore()
+InitLoop.SetPyNext( InitLoop.PyNextName() , [] )
+InitLoop.PyNext()
+
+IsOdd.SetPyFunction( IsOdd.PyFuncName() , [] )
+IsOdd.PyFunction()
+
+# Print Input and Output Ports values of InitLoopSwitch
+InitLoopSwitch.PrintPorts()
+
+# Print Input and Output Ports values of InitLoop
+InitLoop.PrintPorts()
+
+# Print Input and Output Ports values of GraphSwitch
+GraphSwitch.PrintPorts()
+
+# Start asynchronous execution of GraphSwitch
+GraphSwitch.Run()
+
+# Wait for completion of GraphSwitch
+GraphSwitch.DoneW()
+
+# Print the state of GraphSwitch
+GraphSwitch.State()
+
+# Print the results of GraphSwitch
+GraphSwitch.PrintPorts()
+
+GraphSwitch.Export( "../GraphPyFunctions.xml" )
+
diff --git a/examples/GraphObjRef.py b/examples/GraphObjRef.py
new file mode 100755 (executable)
index 0000000..8a2c2d7
--- /dev/null
@@ -0,0 +1,110 @@
+
+# Generated python file of Graph GraphObjRef
+
+from SuperV import *
+# Graph creation 
+GraphObjRef = Graph( 'GraphObjRef' )
+GraphObjRef.SetName( 'GraphObjRef' )
+GraphObjRef.SetAuthor( '' )
+GraphObjRef.SetComment( '' )
+GraphObjRef.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Addition = GraphObjRef.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+Addition.SetName( 'Addition' )
+Addition.SetAuthor( '' )
+Addition.SetContainer( 'localhost/AdditionServer' )
+Addition.SetComment( 'Addition from AddComponent' )
+Addition.Coords( 10 , 15 )
+
+# Creation of InLine Nodes
+PySyrComponent = []
+PySyrComponent.append( 'from LifeCycleCORBA import *     ' )
+PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) :     ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ' )
+PySyrComponent.append( '    print "SyrComponent orb",orb   ' )
+PySyrComponent.append( '    lcc = LifeCycleCORBA(orb)     ' )
+PySyrComponent.append( '    print "SyrComponent lcc",lcc   ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,")"     ' )
+PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ' )
+PySyrComponent.append( '    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ' )
+PySyrComponent.append( '    return ComponentRef    ' )
+PySyrComponent.append( '' )
+SyrComponent = GraphObjRef.INode( 'SyrComponent' , PySyrComponent )
+SyrComponent.InPort( 'aContainer' , 'string' )
+SyrComponent.InPort( 'aComponent' , 'string' )
+SyrComponent.OutPort( 'anObjRef' , 'objref' )
+SyrComponent.SetName( 'SyrComponent' )
+SyrComponent.SetAuthor( '' )
+SyrComponent.SetComment( 'Compute Node' )
+SyrComponent.Coords( 26 , 209 )
+
+# Creation of Loop Nodes
+PyInit = []
+PyInit.append( 'def Init( Adder , anObjRef , Index ) :       ' )
+PyInit.append( '    return Adder,anObjRef,0  ' )
+PyInit.append( '' )
+PyMoreInit = []
+PyMoreInit.append( 'def More( Adder , anObjRef , Index ) :      ' )
+PyMoreInit.append( '    OutLoop = 0      ' )
+PyMoreInit.append( '    if 10 > Index :      ' )
+PyMoreInit.append( '        OutLoop = 1      ' )
+PyMoreInit.append( '    return OutLoop,Adder,anObjRef,Index   ' )
+PyMoreInit.append( '' )
+PyNextInit = []
+PyNextInit.append( 'def Nextfori( Adder , anObjRef , Index ) :     ' )
+PyNextInit.append( '    Index = Index + 1     ' )
+PyNextInit.append( '    return Adder,anObjRef,Index   ' )
+PyNextInit.append( '' )
+Init,EndInit = GraphObjRef.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Nextfori' , PyNextInit )
+EndInit.SetName( 'EndInit' )
+EndInit.SetAuthor( '' )
+EndInit.SetComment( '' )
+EndInit.Coords( 441 , 177 )
+Init.InPort( 'Addder' , 'objref' )
+Init.InPort( 'anObjRef' , 'objref' )
+Init.InPort( 'Index' , 'long' )
+Init.OutPort( 'Addder' , 'objref' )
+Init.OutPort( 'anObjRef' , 'objref' )
+Init.OutPort( 'Index' , 'long' )
+Init.SetName( 'Init' )
+Init.SetAuthor( '' )
+Init.SetComment( '' )
+Init.Coords( 236 , 161 )
+
+# Creation of Links
+AdditionAdder = Addition.Port( 'Adder' )
+InitAddder = GraphObjRef.Link( AdditionAdder , Init.Port( 'Addder' ) )
+InitAddder.AddCoord( 1 , 202 , 194 )
+InitAddder.AddCoord( 2 , 201 , 95 )
+
+SyrComponentanObjRef = SyrComponent.Port( 'anObjRef' )
+InitanObjRef = GraphObjRef.Link( SyrComponentanObjRef , Init.Port( 'anObjRef' ) )
+InitanObjRef.AddCoord( 1 , 209 , 224 )
+InitanObjRef.AddCoord( 2 , 208 , 289 )
+
+InitAddder = Init.Port( 'Addder' )
+EndInitAddder = GraphObjRef.Link( InitAddder , EndInit.Port( 'Addder' ) )
+
+InitanObjRef = Init.Port( 'anObjRef' )
+EndInitanObjRef = GraphObjRef.Link( InitanObjRef , EndInit.Port( 'anObjRef' ) )
+
+InitIndex = Init.Port( 'Index' )
+EndInitIndex = GraphObjRef.Link( InitIndex , EndInit.Port( 'Index' ) )
+
+# Creation of Input datas
+SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer')
+SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent')
+InitIndex = Init.Input( 'Index' , 0)
+
+# Creation of Output variables
+EndInitAddder = EndInit.Port( 'Addder' )
+EndInitanObjRef = EndInit.Port( 'anObjRef' )
+EndInitIndex = EndInit.Port( 'Index' )
+
+GraphObjRef.Run()
+GraphObjRef.DoneW()
+GraphObjRef.State()
+GraphObjRef.PrintPorts()
diff --git a/examples/GraphObjRef.xml b/examples/GraphObjRef.xml
new file mode 100755 (executable)
index 0000000..7350c0d
--- /dev/null
@@ -0,0 +1,287 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphObjRef</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphObjRef</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aComponent</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\Index</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\Addder</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\anObjRef</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/7/2003 - 19:4:59</creation-date>
+   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>18/9/2003 - 17:38:33</creation-date>
+   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/AdditionServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>10</x-position>
+   <y-position>15</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>SyrComponent</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SyrComponent</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>anObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>SyrComponent</FuncName>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *     ]]></PyFunc>
+     <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) :     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent orb",orb   ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent lcc",lcc   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,")"     ]]></PyFunc>
+     <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef     ]]></PyFunc>
+     <PyFunc><![CDATA[    return ComponentRef    ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:38:33</creation-date>
+   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>26</x-position>
+   <y-position>209</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>Addder</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>anObjRef</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>Addder</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>anObjRef</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init( Adder , anObjRef , Index ) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    return Adder,anObjRef,0  ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More( Adder , anObjRef , Index ) :      ]]></PyFunc>
+     <PyFunc><![CDATA[    OutLoop = 0      ]]></PyFunc>
+     <PyFunc><![CDATA[    if 10 > Index :      ]]></PyFunc>
+     <PyFunc><![CDATA[        OutLoop = 1      ]]></PyFunc>
+     <PyFunc><![CDATA[    return OutLoop,Adder,anObjRef,Index   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Nextfori</FuncName>
+     <PyFunc><![CDATA[def Nextfori( Adder , anObjRef , Index ) :     ]]></PyFunc>
+     <PyFunc><![CDATA[    Index = Index + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[    return Adder,anObjRef,Index   ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:38:33</creation-date>
+   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>236</x-position>
+   <y-position>161</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>Addder</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>anObjRef</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>Addder</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>anObjRef</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>18/9/2003 - 17:38:33</creation-date>
+   <lastmodification-date>18/9/2003 - 17:38:33</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>441</x-position>
+   <y-position>177</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>Addder</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>202</x>
+     <y>194</y>    </coord>
+    <coord>
+<x>201</x>
+     <y>95</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>anObjRef</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>209</x>
+     <y>224</y>    </coord>
+    <coord>
+<x>208</x>
+     <y>289</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>Addder</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>Addder</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>anObjRef</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>anObjRef</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphObjRef</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aContainer</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>FactoryServer</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphObjRef</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aComponent</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>SyrComponent</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphObjRef</fromnode-name>
+   <fromserviceparameter-name>Init\Index</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphPyFunctions.py b/examples/GraphPyFunctions.py
new file mode 100755 (executable)
index 0000000..ddd184e
--- /dev/null
@@ -0,0 +1,217 @@
+
+# Generated python file of Graph GraphSwitch
+
+from SuperV import *
+# Graph creation 
+GraphPyFunctions = Graph( 'GraphPyFunctions' )
+GraphPyFunctions.SetName( 'GraphPyFunctions' )
+GraphPyFunctions.SetAuthor( '' )
+GraphPyFunctions.SetComment( '' )
+GraphPyFunctions.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyIsOdd = []
+IsOdd = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 388 , 50 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.OutPort( 'a' , 'long' )
+
+PyIsOdd_1 = []
+PyIsOdd_1.append( 'from time import *   ' )
+PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+PyIsOdd_1.append( '    print a,"IsOdd"      ' )
+PyIsOdd_1.append( '    sleep( 1 )   ' )
+PyIsOdd_1.append( '    return a     ' )
+IsOdd_1 = GraphPyFunctions.INode( 'IsOdd' , PyIsOdd_1 )
+IsOdd_1.SetName( 'IsOdd_1' )
+IsOdd_1.SetAuthor( '' )
+IsOdd_1.SetComment( 'Python function' )
+IsOdd_1.Coords( 391 , 288 )
+IsOdd_1.InPort( 'a' , 'long' )
+IsOdd_1.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoop = []
+PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoop.append( '   return Index,Min,Max     ' )
+PyMoreInitLoop = []
+PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoop.append( '       if Index <= Max :   ' )
+PyMoreInitLoop.append( '               DoLoop = 1     ' )
+PyMoreInitLoop.append( '       else :     ' )
+PyMoreInitLoop.append( '               DoLoop = 0     ' )
+PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
+PyNextInitLoop = []
+PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoop.append( '       Index = Index + 1     ' )
+PyNextInitLoop.append( '       return Index,Min,Max     ' )
+InitLoop,EndOfInitLoop = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 766 , 127 )
+PyEndOfInitLoop = []
+EndOfInitLoop.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 10 , 129 )
+InitLoop.InPort( 'Index' , 'long' )
+InitLoop.InPort( 'Min' , 'long' )
+InitLoop.InPort( 'Max' , 'long' )
+InitLoop.OutPort( 'Index' , 'long' )
+InitLoop.OutPort( 'Min' , 'long' )
+InitLoop.OutPort( 'Max' , 'long' )
+
+PyInitLoop_1 = []
+PyMoreInitLoop_1 = []
+PyMoreInitLoop_1.append( '' )
+PyNextInitLoop_1 = []
+PyNextInitLoop_1.append( '' )
+InitLoop_1,EndOfInitLoop_1 = GraphPyFunctions.LNode( 'InitLoop' , PyInitLoop_1 , 'MoreLoop' , PyMoreInitLoop_1 , 'NextLoop' , PyNextInitLoop_1 )
+EndOfInitLoop_1.SetName( 'EndOfInitLoop_1' )
+EndOfInitLoop_1.SetAuthor( '' )
+EndOfInitLoop_1.SetComment( '' )
+EndOfInitLoop_1.Coords( 784 , 361 )
+PyEndOfInitLoop_1 = []
+EndOfInitLoop_1.SetPyFunction( 'EndInitLoop' , PyEndOfInitLoop_1 )
+InitLoop_1.SetName( 'InitLoop_1' )
+InitLoop_1.SetAuthor( '' )
+InitLoop_1.SetComment( '' )
+InitLoop_1.Coords( 12 , 369 )
+InitLoop_1.InPort( 'Index' , 'long' )
+InitLoop_1.InPort( 'Min' , 'long' )
+InitLoop_1.InPort( 'Max' , 'long' )
+InitLoop_1.OutPort( 'Index' , 'long' )
+InitLoop_1.OutPort( 'Min' , 'long' )
+InitLoop_1.OutPort( 'Max' , 'long' )
+
+# Creation of Switch Nodes
+PySwitch = []
+Switch,EndOfSwitch = GraphPyFunctions.SNode( 'Switch' , PySwitch )
+EndOfSwitch.SetName( 'EndOfSwitch' )
+EndOfSwitch.SetAuthor( '' )
+EndOfSwitch.SetComment( '' )
+EndOfSwitch.Coords( 587 , 126 )
+PyEndOfSwitch = []
+EndOfSwitch.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch )
+EndOfSwitch.InPort( 'a' , 'long' )
+EndOfSwitch.OutPort( 'a' , 'long' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 186 , 130 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
+
+PySwitch_1 = []
+PySwitch_1.append( 'from time import *  ' )
+PySwitch_1.append( 'def Switch(a) :    ' )
+PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+PySwitch_1.append( '        sleep(1)  ' )
+PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+Switch_1,EndOfSwitch_1 = GraphPyFunctions.SNode( 'Switch' , PySwitch_1 )
+EndOfSwitch_1.SetName( 'EndOfSwitch_1' )
+EndOfSwitch_1.SetAuthor( '' )
+EndOfSwitch_1.SetComment( '' )
+EndOfSwitch_1.Coords( 594 , 362 )
+PyEndOfSwitch_1 = []
+EndOfSwitch_1.SetPyFunction( 'EndOfSwitch_1' , PyEndOfSwitch_1 )
+EndOfSwitch_1.InPort( 'a' , 'long' )
+EndOfSwitch_1.OutPort( 'a' , 'long' )
+Switch_1.SetName( 'Switch_1' )
+Switch_1.SetAuthor( '' )
+Switch_1.SetComment( '' )
+Switch_1.Coords( 185 , 368 )
+Switch_1.InPort( 'a' , 'long' )
+Switch_1.OutPort( 'Odd' , 'long' )
+Switch_1.OutPort( 'Even' , 'int' )
+Switch_1.OutPort( 'a' , 'int' )
+
+# Creation of Links
+IsOdda = IsOdd.Port( 'a' )
+EndOfSwitcha = GraphPyFunctions.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 571 , 160 )
+EndOfSwitcha.AddCoord( 2 , 571 , 129 )
+
+InitLoopIndex = InitLoop.Port( 'Index' )
+Switcha = GraphPyFunctions.Link( InitLoopIndex , Switch.Port( 'a' ) )
+
+InitLoopMin = InitLoop.Port( 'Min' )
+EndOfInitLoopMin = GraphPyFunctions.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
+
+InitLoopMax = InitLoop.Port( 'Max' )
+EndOfInitLoopMax = GraphPyFunctions.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
+
+SwitchOdd = Switch.Port( 'Odd' )
+IsOddInGate = GraphPyFunctions.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
+
+Switcha = Switch.Port( 'a' )
+IsOdda = GraphPyFunctions.Link( Switcha , IsOdd.Port( 'a' ) )
+IsOdda.AddCoord( 1 , 366 , 131 )
+IsOdda.AddCoord( 2 , 365 , 223 )
+
+SwitchDefault = Switch.Port( 'Default' )
+EndOfSwitchDefault = GraphPyFunctions.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
+EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+
+EndOfSwitcha = EndOfSwitch.Port( 'a' )
+EndOfInitLoopIndex = GraphPyFunctions.Link( EndOfSwitcha , EndOfInitLoop.Port( 'Index' ) )
+
+IsOdd_1a = IsOdd_1.Port( 'a' )
+EndOfSwitch_1a = GraphPyFunctions.Link( IsOdd_1a , EndOfSwitch_1.Port( 'a' ) )
+EndOfSwitch_1a.AddCoord( 1 , 580 , 396 )
+EndOfSwitch_1a.AddCoord( 2 , 580 , 368 )
+
+InitLoop_1Index = InitLoop_1.Port( 'Index' )
+Switch_1a = GraphPyFunctions.Link( InitLoop_1Index , Switch_1.Port( 'a' ) )
+
+InitLoop_1Min = InitLoop_1.Port( 'Min' )
+EndOfInitLoop_1Min = GraphPyFunctions.Link( InitLoop_1Min , EndOfInitLoop_1.Port( 'Min' ) )
+
+InitLoop_1Max = InitLoop_1.Port( 'Max' )
+EndOfInitLoop_1Max = GraphPyFunctions.Link( InitLoop_1Max , EndOfInitLoop_1.Port( 'Max' ) )
+
+Switch_1Odd = Switch_1.Port( 'Odd' )
+IsOdd_1InGate = GraphPyFunctions.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
+
+Switch_1Even = Switch_1.Port( 'Even' )
+EndOfSwitch_1Default = GraphPyFunctions.Link( Switch_1Even , EndOfSwitch_1.Port( 'Default' ) )
+
+Switch_1a = Switch_1.Port( 'a' )
+IsOdd_1a = GraphPyFunctions.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
+IsOdd_1a.AddCoord( 1 , 368 , 368 )
+IsOdd_1a.AddCoord( 2 , 367 , 460 )
+
+EndOfSwitch_1a = EndOfSwitch_1.Port( 'a' )
+EndOfInitLoop_1Index = GraphPyFunctions.Link( EndOfSwitch_1a , EndOfInitLoop_1.Port( 'Index' ) )
+
+# Creation of Input datas
+InitLoopIndex = InitLoop.Input( 'Index' , 0)
+InitLoopMin = InitLoop.Input( 'Min' , 0)
+InitLoopMax = InitLoop.Input( 'Max' , 100)
+InitLoop_1Index = InitLoop_1.Input( 'Index' , 0)
+InitLoop_1Min = InitLoop_1.Input( 'Min' , 0)
+InitLoop_1Max = InitLoop_1.Input( 'Max' , 100)
+
+# Creation of Output variables
+EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
+EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
+EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
+SwitchEven = Switch.Port( 'Even' )
+EndOfInitLoop_1Index = EndOfInitLoop_1.Port( 'Index' )
+EndOfInitLoop_1Min = EndOfInitLoop_1.Port( 'Min' )
+EndOfInitLoop_1Max = EndOfInitLoop_1.Port( 'Max' )
+
+GraphPyFunctions.Run()
+GraphPyFunctions.DoneW()
+GraphPyFunctions.State()
+GraphPyFunctions.PrintPorts()
diff --git a/examples/GraphPyFunctions.xml b/examples/GraphPyFunctions.xml
new file mode 100755 (executable)
index 0000000..d99958d
--- /dev/null
@@ -0,0 +1,647 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphPyFunctions</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphPyFunctions</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop_1\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop_1\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop_1\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop_1\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop_1\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop_1\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>23/10/2003 - 17:46:20</creation-date>
+   <lastmodification-date>23/10/2003 - 17:47:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:20</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>388</x-position>
+   <y-position>50</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd"      ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:21</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:21</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>391</x-position>
+   <y-position>288</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+     <PyFunc><![CDATA[def InitLoop(Index,Min,Max) :      ]]></PyFunc>
+     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreLoop</FuncName>
+     <PyFunc><![CDATA[def MoreLoop(Index,Min,Max) :     ]]></PyFunc>
+     <PyFunc><![CDATA[ if Index <= Max :   ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ else :     ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[ return DoLoop,Index,Min,Max     ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextLoop</FuncName>
+     <PyFunc><![CDATA[def NextLoop(Index,Min,Max) :     ]]></PyFunc>
+     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ return Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:23</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>129</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfInitLoop</node-name>
+   <kind>5</kind>
+   <coupled-node>InitLoop</coupled-node>
+   <service>
+<service-name>EndInitLoop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndInitLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:23</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:23</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>766</x-position>
+   <y-position>127</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitLoop_1</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfInitLoop_1</coupled-node>
+   <service>
+<service-name>InitLoop_1</service-name>
+    <inParameter-list>
+<inParameter>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:24</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>12</x-position>
+   <y-position>369</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfInitLoop_1</node-name>
+   <kind>5</kind>
+   <coupled-node>InitLoop_1</coupled-node>
+   <service>
+<service-name>EndInitLoop</service-name>
+    <inParameter-list>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndInitLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:24</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>784</x-position>
+   <y-position>361</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:26</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>186</x-position>
+   <y-position>130</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfSwitch</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch_1</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:26</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:26</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>126</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Switch_1</node-name>
+   <kind>6</kind>
+   <coupled-node>EndOfSwitch_1</coupled-node>
+   <service>
+<service-name>Switch_1</service-name>
+    <inParameter-list>
+<inParameter>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:27</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>185</x-position>
+   <y-position>368</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfSwitch_1</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch_1</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch_1</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>23/10/2003 - 17:46:27</creation-date>
+   <lastmodification-date>23/10/2003 - 17:46:27</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>594</x-position>
+   <y-position>362</y-position>  </node> </node-list>
+ <link-list>
+<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>160</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>129</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>580</x>
+     <y>396</y>    </coord>
+    <coord>
+<x>580</x>
+     <y>368</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<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>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop_1</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop_1</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop_1</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>Switch_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop_1</fromnode-name>
+   <fromserviceparameter-name>Min</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop_1</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop_1</fromnode-name>
+   <fromserviceparameter-name>Max</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop_1</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInitLoop_1</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>InitLoop_1</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>366</x>
+     <y>131</y>    </coord>
+    <coord>
+<x>365</x>
+     <y>223</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>572</x>
+     <y>194</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>257</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch_1</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>368</x>
+     <y>368</y>    </coord>
+    <coord>
+<x>367</x>
+     <y>460</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfSwitch_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop_1</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop_1\Index</fromserviceparameter-name>
+   <tonode-name>InitLoop_1</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop_1\Min</fromserviceparameter-name>
+   <tonode-name>InitLoop_1</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphPyFunctions</fromnode-name>
+   <fromserviceparameter-name>InitLoop_1\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop_1</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 44df2e7daa7668ec278fc6610ada938f3eb0159b..922833b4b012628e9646a99044d4b89cfe542101 100644 (file)
@@ -1,3 +1,9 @@
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : GraphRunSyr.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 
diff --git a/examples/GraphStream.py b/examples/GraphStream.py
new file mode 100644 (file)
index 0000000..8edec6f
--- /dev/null
@@ -0,0 +1,221 @@
+
+# Generated python file of Graph GraphStream
+
+from SuperV import *
+# Graph creation 
+GraphStream = StreamGraph( 'GraphStream' )
+GraphStream.SetStreamParams( 0 , SUPERV.WithoutTrace , 0 )
+GraphStream.SetName( 'GraphStream' )
+GraphStream.SetAuthor( '' )
+GraphStream.SetComment( 'Test of DataStreamPorts in FactoryNodes' )
+GraphStream.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+NewDataStream = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'NewDataStream' )
+NewDataStream.SetName( 'NewDataStream' )
+NewDataStream.SetAuthor( '' )
+NewDataStream.SetContainer( 'FactoryServer' )
+NewDataStream.SetComment( 'NewDataStream from DataStreamFactory' )
+NewDataStream.Coords( 4 , 10 )
+INewDataStreamGate = NewDataStream.GetInPort( 'Gate' )
+ONewDataStreamDataStream = NewDataStream.GetOutPort( 'DataStream' )
+ONewDataStreamGate = NewDataStream.GetOutPort( 'Gate' )
+
+Add = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from DataStreamFactory from DataStreamComponent' )
+Add.Coords( 6 , 370 )
+IAddx = Add.GetInPort( 'x' )
+IAddy = Add.GetInPort( 'y' )
+IAddGate = Add.GetInPort( 'Gate' )
+OAddz = Add.GetOutPort( 'z' )
+OAddGate = Add.GetOutPort( 'Gate' )
+IAddistream = Add.GetInStreamPort( 'istream' )
+IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAddostream = Add.GetOutStreamPort( 'ostream' )
+OAddostream.SetNumberOfValues( 0 )
+OAddOStream = Add.GetOutStreamPort( 'OStream' )
+OAddOStream.SetNumberOfValues( 0 )
+
+Sub = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from DataStreamFactory from DataStreamComponent' )
+Sub.Coords( 234 , 216 )
+ISubx = Sub.GetInPort( 'x' )
+ISuby = Sub.GetInPort( 'y' )
+ISubGate = Sub.GetInPort( 'Gate' )
+OSubz = Sub.GetOutPort( 'z' )
+OSubGate = Sub.GetOutPort( 'Gate' )
+ISubistream = Sub.GetInStreamPort( 'istream' )
+ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISubIstream = Sub.GetInStreamPort( 'Istream' )
+ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from DataStreamFactory from DataStreamComponent' )
+Mul.Coords( 448 , 342 )
+IMulx = Mul.GetInPort( 'x' )
+IMuly = Mul.GetInPort( 'y' )
+IMulGate = Mul.GetInPort( 'Gate' )
+OMulz = Mul.GetOutPort( 'z' )
+OMulGate = Mul.GetOutPort( 'Gate' )
+
+Div = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DataStreamFactory from DataStreamComponent' )
+Div.Coords( 678 , 214 )
+IDivx = Div.GetInPort( 'x' )
+IDivy = Div.GetInPort( 'y' )
+IDivGate = Div.GetInPort( 'Gate' )
+ODivz = Div.GetOutPort( 'z' )
+ODivGate = Div.GetOutPort( 'Gate' )
+ODivostream = Div.GetOutStreamPort( 'ostream' )
+ODivostream.SetNumberOfValues( 0 )
+
+# Creation of Computing Nodes
+StreamAdd_ServiceinParameter = []
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'objref' , 'this' ) )
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'x' ) )
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'y' ) )
+StreamAdd_ServiceoutParameter = []
+StreamAdd_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'z' ) )
+StreamAdd_ServiceinStreamParameter = []
+StreamAdd_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'istream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_ServiceoutStreamParameter = []
+StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'ostream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'OStream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_Service = SALOME_ModuleCatalog.Service( 'StreamAdd' , StreamAdd_ServiceinParameter , StreamAdd_ServiceoutParameter , StreamAdd_ServiceinStreamParameter , StreamAdd_ServiceoutStreamParameter , 0 , 0 )
+StreamAdd = GraphStream.CNode( StreamAdd_Service )
+StreamAdd.SetName( 'StreamAdd' )
+StreamAdd.SetAuthor( '' )
+StreamAdd.SetComment( 'Compute Node' )
+StreamAdd.Coords( 448 , 9 )
+IStreamAddthis = StreamAdd.GetInPort( 'this' )
+IStreamAddx = StreamAdd.GetInPort( 'x' )
+IStreamAddy = StreamAdd.GetInPort( 'y' )
+IStreamAddGate = StreamAdd.GetInPort( 'Gate' )
+OStreamAddz = StreamAdd.GetOutPort( 'z' )
+OStreamAddGate = StreamAdd.GetOutPort( 'Gate' )
+IStreamAddistream = StreamAdd.GetInStreamPort( 'istream' )
+IStreamAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OStreamAddostream = StreamAdd.GetOutStreamPort( 'ostream' )
+OStreamAddostream.SetNumberOfValues( 0 )
+OStreamAddOStream = StreamAdd.GetOutStreamPort( 'OStream' )
+OStreamAddOStream.SetNumberOfValues( 0 )
+
+# Creation of Links
+LNewDataStreamDataStreamStreamAddthis = GraphStream.Link( ONewDataStreamDataStream , IStreamAddthis )
+
+LAddzSuby = GraphStream.Link( OAddz , ISuby )
+LAddzSuby.AddCoord( 1 , 185 , 310 )
+LAddzSuby.AddCoord( 2 , 185 , 437 )
+
+LAddzMuly = GraphStream.Link( OAddz , IMuly )
+
+LAddostreamSubistream = GraphStream.StreamLink( OAddostream , ISubistream )
+LAddostreamSubistream.AddCoord( 1 , 199 , 343 )
+LAddostreamSubistream.AddCoord( 2 , 200 , 497 )
+
+LAddOStreamSubIstream = GraphStream.StreamLink( OAddOStream , ISubIstream )
+LAddOStreamSubIstream.AddCoord( 1 , 219 , 374 )
+LAddOStreamSubIstream.AddCoord( 2 , 218 , 529 )
+
+LSubzMulx = GraphStream.Link( OSubz , IMulx )
+LSubzMulx.AddCoord( 1 , 426 , 408 )
+LSubzMulx.AddCoord( 2 , 427 , 282 )
+
+LSubzDivx = GraphStream.Link( OSubz , IDivx )
+
+LMulzDivy = GraphStream.Link( OMulz , IDivy )
+LMulzDivy.AddCoord( 1 , 648 , 309 )
+LMulzDivy.AddCoord( 2 , 648 , 406 )
+
+# Input datas
+IAddx.Input( 3 )
+IAddy.Input( 7 )
+ISubx.Input( 1 )
+IStreamAddx.Input( 1 )
+IStreamAddy.Input( 2 )
+IAddistream.Input( 1 )
+IStreamAddistream.Input( 136159896 )
+
+# Output Ports of the graph
+#ODivz = Div.GetOutPort( 'z' )
+#OStreamAddz = StreamAdd.GetOutPort( 'z' )
+
+GraphStream.PrintPorts()
+GraphStream.IsValid()
+status = GraphStream.IsExecutable()
+if status == 0 :
+    print 'Input of port IStreamAddistream is required : Ok'
+else :
+    print 'Input of port IStreamAddistream is required : ERROR'
+# Following input is required :
+IStreamAddistream.Input( 1 )
+GraphStream.IsExecutable()
+
+GraphStream.Run()
+GraphStream.DoneW()
+GraphStream.PrintPorts()
+GraphStream.State()
+
+subgraphs = GraphStream.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStream.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStream.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStream.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+GraphStream.Export('/tmp/GraphStream.xml')
+
+GraphStream = StreamGraph( '/tmp/GraphStream.xml' )
+GraphStream.Run()
+GraphStream.DoneW()
+GraphStream.PrintPorts()
+print GraphStream.State()
+
+subgraphs = GraphStream.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStream.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStream.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStream.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStream.xml b/examples/GraphStream.xml
new file mode 100644 (file)
index 0000000..08526d6
--- /dev/null
@@ -0,0 +1,444 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStream</node-name>
+   <kind>9</kind>
+   <streamgraph-timeout>0</streamgraph-timeout>
+   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>0</streamgraph-deltatime>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStream</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>StreamAdd\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>StreamAdd\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>StreamAdd\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Add\istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>StreamAdd\istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>Div\ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>StreamAdd\ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>StreamAdd\OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>23/4/2004 - 17:0:10</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Test of DataStreamPorts in FactoryNodes</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>NewDataStream</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>NewDataStream</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>DataStream</outParameter-type>
+      <outParameter-name>DataStream</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:32</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:32</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>NewDataStream from DataStreamFactory</comment>
+   <x-position>4</x-position>
+   <y-position>10</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:33</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Add from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>6</x-position>
+   <y-position>370</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:33</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Sub from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>234</x-position>
+   <y-position>216</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:33</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Mul from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>448</x-position>
+   <y-position>342</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:33</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Div from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>678</x-position>
+   <y-position>214</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>StreamAdd</node-name>
+   <kind>2</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StreamAdd</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>this</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/5/2004 - 10:38:33</creation-date>
+   <lastmodification-date>12/5/2004 - 10:38:33</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>448</x-position>
+   <y-position>9</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>NewDataStream</fromnode-name>
+   <fromserviceparameter-name>DataStream</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>this</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>185</x>
+     <y>310</y>    </coord>
+    <coord>
+<x>185</x>
+     <y>437</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>199</x>
+     <y>343</y>    </coord>
+    <coord>
+<x>200</x>
+     <y>497</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>Istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>219</x>
+     <y>374</y>    </coord>
+    <coord>
+<x>218</x>
+     <y>529</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>426</x>
+     <y>408</y>    </coord>
+    <coord>
+<x>427</x>
+     <y>282</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>648</x>
+     <y>309</y>    </coord>
+    <coord>
+<x>648</x>
+     <y>406</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>7</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\x</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\y</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>Add\istream</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\istream</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>136159896</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphStreamInLines.py b/examples/GraphStreamInLines.py
new file mode 100644 (file)
index 0000000..b46483a
--- /dev/null
@@ -0,0 +1,256 @@
+
+# Generated python file of Graph GraphStreamInLines
+
+from SuperV import *
+# Graph creation 
+GraphStreamInLines = StreamGraph( 'GraphStreamInLines' )
+GraphStreamInLines.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
+GraphStreamInLines.SetName( 'GraphStreamInLines' )
+GraphStreamInLines.SetAuthor( '' )
+GraphStreamInLines.SetComment( '' )
+GraphStreamInLines.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyIsOdd = []
+PyIsOdd.append( 'from time import *    ' )
+PyIsOdd.append( 'def IsOdd(a,Even) :        ' )
+PyIsOdd.append( '    print a,"IsOdd (GraphStreamInLines1)"       ' )
+PyIsOdd.append( '    sleep( 1 )    ' )
+PyIsOdd.append( '    return a      ' )
+IsOdd = GraphStreamInLines.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 394 , 59 )
+IIsOdda = IsOdd.InPort( 'a' , 'long' )
+IIsOddEven = IsOdd.InPort( 'Even' , 'boolean' )
+IIsOddGate = IsOdd.GetInPort( 'Gate' )
+OIsOdda = IsOdd.OutPort( 'a' , 'long' )
+OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+IIsOddistream = IsOdd.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+IIsOddistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+OIsOddostream = IsOdd.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+OIsOddostream.SetNumberOfValues( 0 )
+
+# Creation of Loop Nodes
+PyInitLoop = []
+PyMoreInitLoop = []
+PyMoreInitLoop.append( '' )
+PyNextInitLoop = []
+PyNextInitLoop.append( '' )
+InitLoop,EndOfInitLoop = GraphStreamInLines.LNode( '' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 776 , 105 )
+PyEndOfInitLoop = []
+PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
+PyEndOfInitLoop.append( '      Index = Index + 1     ' )
+PyEndOfInitLoop.append( '      if Index <= Max :   ' )
+PyEndOfInitLoop.append( '              DoLoop = 1     ' )
+PyEndOfInitLoop.append( '      else :     ' )
+PyEndOfInitLoop.append( '              DoLoop = 0     ' )
+PyEndOfInitLoop.append( '      return DoLoop,Index,Min,Max     ' )
+EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
+IInitLoopInitLoop = InitLoop.GetInPort( 'InitLoop' )
+IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
+IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
+IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
+IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+IInitLoopGate = InitLoop.GetInPort( 'Gate' )
+OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
+OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
+OInitLoopMin = InitLoop.GetOutPort( 'Min' )
+OInitLoopMax = InitLoop.GetOutPort( 'Max' )
+OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+OInitLoopostream.SetNumberOfValues( 0 )
+IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
+IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
+IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
+IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
+IEndOfInitLoopistream = EndOfInitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+IEndOfInitLoopistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
+OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
+OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+OEndOfInitLoopostream = EndOfInitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+OEndOfInitLoopostream.SetNumberOfValues( 0 )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 11 , 119 )
+IInitLoopistream = InitLoop.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+IInitLoopistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+OInitLoopostream = InitLoop.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+OInitLoopostream.SetNumberOfValues( 0 )
+
+# Creation of Switch Nodes
+PySwitch = []
+PySwitch.append( 'from time import *  ' )
+PySwitch.append( 'def Switch(a) :    ' )
+PySwitch.append( '    if ( a & 1 ) == 0 :  ' )
+PySwitch.append( '        sleep(1)  ' )
+PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+Switch,EndSwitch = GraphStreamInLines.SNode( 'Switch' , PySwitch )
+EndSwitch.SetName( 'EndSwitch' )
+EndSwitch.SetAuthor( '' )
+EndSwitch.SetComment( '' )
+EndSwitch.Coords( 587 , 104 )
+PyEndSwitch = []
+PyEndSwitch.append( 'def EndOfSwitch(a) :    ' )
+PyEndSwitch.append( '    if ( a & 1 ) == 0 :  ' )
+PyEndSwitch.append( '        sleep(1)  ' )
+PyEndSwitch.append( '    return a    ' )
+EndSwitch.SetPyFunction( 'EndOfSwitch' , PyEndSwitch )
+IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
+IEndSwitchistream = EndSwitch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+IEndSwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
+OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
+OEndSwitchostream = EndSwitch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+OEndSwitchostream.SetNumberOfValues( 0 )
+OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 197 , 119 )
+ISwitcha = Switch.InPort( 'a' , 'long' )
+ISwitchGate = Switch.GetInPort( 'Gate' )
+OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
+OSwitchEven = Switch.OutPort( 'Even' , 'int' )
+OSwitcha = Switch.OutPort( 'a' , 'int' )
+OSwitchDefault = Switch.GetOutPort( 'Default' )
+ISwitchistream = Switch.InStreamPort( 'istream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ISwitchistream.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+OSwitchostream = Switch.OutStreamPort( 'ostream' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE )
+OSwitchostream.SetNumberOfValues( 0 )
+
+# Creation of Links
+LIsOddaEndSwitcha = GraphStreamInLines.Link( OIsOdda , IEndSwitcha )
+
+LIsOddostreamInitLoopistream = GraphStreamInLines.StreamLink( OIsOddostream , IInitLoopistream )
+LIsOddostreamInitLoopistream.AddCoord( 1 , 3 , 240 )
+LIsOddostreamInitLoopistream.AddCoord( 2 , 3 , 395 )
+LIsOddostreamInitLoopistream.AddCoord( 3 , 571 , 394 )
+LIsOddostreamInitLoopistream.AddCoord( 4 , 571 , 187 )
+
+LInitLoopIndexSwitcha = GraphStreamInLines.Link( OInitLoopIndex , ISwitcha )
+
+LInitLoopMinEndOfInitLoopMin = GraphStreamInLines.Link( OInitLoopMin , IEndOfInitLoopMin )
+
+LInitLoopMaxEndOfInitLoopMax = GraphStreamInLines.Link( OInitLoopMax , IEndOfInitLoopMax )
+
+LInitLoopostreamEndSwitchistream = GraphStreamInLines.StreamLink( OInitLoopostream , IEndSwitchistream )
+LInitLoopostreamEndSwitchistream.AddCoord( 1 , 584 , 167 )
+LInitLoopostreamEndSwitchistream.AddCoord( 2 , 584 , 369 )
+LInitLoopostreamEndSwitchistream.AddCoord( 3 , 184 , 368 )
+LInitLoopostreamEndSwitchistream.AddCoord( 4 , 185 , 240 )
+
+LSwitchOddIsOddGate = GraphStreamInLines.Link( OSwitchOdd , IIsOddGate )
+LSwitchOddIsOddGate.AddCoord( 1 , 373 , 222 )
+LSwitchOddIsOddGate.AddCoord( 2 , 373 , 147 )
+
+LSwitchEvenEndSwitchDefault = GraphStreamInLines.Link( OSwitchEven , IEndSwitchDefault )
+
+LSwitchEvenIsOddEven = GraphStreamInLines.Link( OSwitchEven , IIsOddEven )
+LSwitchEvenIsOddEven.AddCoord( 1 , 363 , 154 )
+LSwitchEvenIsOddEven.AddCoord( 2 , 362 , 177 )
+
+LSwitchaIsOdda = GraphStreamInLines.Link( OSwitcha , IIsOdda )
+LSwitchaIsOdda.AddCoord( 1 , 385 , 123 )
+LSwitchaIsOdda.AddCoord( 2 , 386 , 206 )
+
+LSwitchostreamIsOddistream = GraphStreamInLines.StreamLink( OSwitchostream , IIsOddistream )
+LSwitchostreamIsOddistream.AddCoord( 1 , 360 , 185 )
+LSwitchostreamIsOddistream.AddCoord( 2 , 361 , 240 )
+
+LSwitchostreamEndOfInitLoopistream = GraphStreamInLines.StreamLink( OSwitchostream , IEndOfInitLoopistream )
+LSwitchostreamEndOfInitLoopistream.AddCoord( 1 , 775 , 226 )
+LSwitchostreamEndOfInitLoopistream.AddCoord( 2 , 775 , 261 )
+LSwitchostreamEndOfInitLoopistream.AddCoord( 3 , 361 , 261 )
+LSwitchostreamEndOfInitLoopistream.AddCoord( 4 , 361 , 240 )
+
+LEndSwitchaEndOfInitLoopIndex = GraphStreamInLines.Link( OEndSwitcha , IEndOfInitLoopIndex )
+
+LEndSwitchostreamSwitchistream = GraphStreamInLines.StreamLink( OEndSwitchostream , ISwitchistream )
+LEndSwitchostreamSwitchistream.AddCoord( 1 , 186 , 240 )
+LEndSwitchostreamSwitchistream.AddCoord( 2 , 186 , 331 )
+LEndSwitchostreamSwitchistream.AddCoord( 3 , 766 , 330 )
+LEndSwitchostreamSwitchistream.AddCoord( 4 , 766 , 167 )
+
+# Input datas
+IInitLoopIndex.Input( 0 )
+IInitLoopMin.Input( 0 )
+IInitLoopMax.Input( 100 )
+
+# Output Ports of the graph
+#OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
+#OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
+#OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
+
+
+
+GraphStreamInLines.Run()
+GraphStreamInLines.DoneW()
+print GraphStreamInLines.State()
+
+GraphStreamInLines.PrintPorts()
+
+
+subgraphs = GraphStreamInLines.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamInLines.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+GraphStreamInLines.Export('/tmp/GraphStreamInLines.xml')
+
+from SuperV import *
+GraphStreamInLines = StreamGraph('/tmp/GraphStreamInLines.xml')
+
+
+GraphStreamInLines.Run()
+GraphStreamInLines.DoneW()
+print GraphStreamInLines.State()
+
+subgraphs = GraphStreamInLines.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamInLines.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamInLines.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamInLines.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStreamInLines.xml b/examples/GraphStreamInLines.xml
new file mode 100644 (file)
index 0000000..d450676
--- /dev/null
@@ -0,0 +1,508 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStreamInLines</node-name>
+   <kind>9</kind>
+   <streamgraph-timeout>300</streamgraph-timeout>
+   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>0</streamgraph-deltatime>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStreamInLines</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>EndOfInitLoop\ostream</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>27/4/2004 - 15:5:25</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<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>boolean</inParameter-type>
+      <inParameter-name>Even</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd (GraphStreamInLines1)"       ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+     <PyFunc><![CDATA[    return a      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:45:38</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>394</x-position>
+   <y-position>59</y-position>  </node>
+  <node>
+<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>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:45:38</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>11</x-position>
+   <y-position>119</y-position>  </node>
+  <node>
+<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>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfInitLoop</FuncName>
+     <PyFunc><![CDATA[def EndOfInitLoop( DoLoop , Index , Min , Max ) :]]></PyFunc>
+     <PyFunc><![CDATA[ Index = Index + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ if Index <= Max :   ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 1     ]]></PyFunc>
+     <PyFunc><![CDATA[ else :     ]]></PyFunc>
+     <PyFunc><![CDATA[         DoLoop = 0     ]]></PyFunc>
+     <PyFunc><![CDATA[ return DoLoop,Index,Min,Max     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:45:38</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>776</x-position>
+   <y-position>105</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Switch</node-name>
+   <kind>6</kind>
+   <coupled-node>EndSwitch</coupled-node>
+   <service>
+<service-name>Switch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Odd</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:45:38</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>197</x-position>
+   <y-position>119</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndSwitch</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndOfSwitch</FuncName>
+     <PyFunc><![CDATA[def EndOfSwitch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:45:38</creation-date>
+   <lastmodification-date>21/5/2004 - 10:45:38</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>104</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>IsOdd</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>3</x>
+     <y>240</y>    </coord>
+    <coord>
+<x>3</x>
+     <y>395</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>394</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>187</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>InitLoop</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>584</x>
+     <y>167</y>    </coord>
+    <coord>
+<x>584</x>
+     <y>369</y>    </coord>
+    <coord>
+<x>184</x>
+     <y>368</y>    </coord>
+    <coord>
+<x>185</x>
+     <y>240</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>Gate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>373</x>
+     <y>222</y>    </coord>
+    <coord>
+<x>373</x>
+     <y>147</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>Even</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>363</x>
+     <y>154</y>    </coord>
+    <coord>
+<x>362</x>
+     <y>177</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>385</x>
+     <y>123</y>    </coord>
+    <coord>
+<x>386</x>
+     <y>206</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>360</x>
+     <y>185</y>    </coord>
+    <coord>
+<x>361</x>
+     <y>240</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>775</x>
+     <y>226</y>    </coord>
+    <coord>
+<x>775</x>
+     <y>261</y>    </coord>
+    <coord>
+<x>361</x>
+     <y>261</y>    </coord>
+    <coord>
+<x>361</x>
+     <y>240</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndSwitch</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Switch</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>186</x>
+     <y>240</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>331</y>    </coord>
+    <coord>
+<x>766</x>
+     <y>330</y>    </coord>
+    <coord>
+<x>766</x>
+     <y>167</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphStreamInLines</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>GraphStreamInLines</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>GraphStreamInLines</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphStreamInLines_1.cpl b/examples/GraphStreamInLines_1.cpl
new file mode 100644 (file)
index 0000000..91c3a29
--- /dev/null
@@ -0,0 +1,77 @@
+DEBUT  GraphStreamInLines_1
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    EndOfInitLoop
+               istream I       IN      ENTIER
+               ostream T       OUT     ENTIER
+       FIN     #EndOfInitLoop
+
+
+       CODE    EndSwitch
+               istream T       IN      ENTIER
+               ostream T       OUT     ENTIER
+       FIN     #EndSwitch
+
+
+       CODE    InitLoop
+               istream T       IN      ENTIER
+               ostream I       OUT     ENTIER
+       FIN     #InitLoop
+
+
+       CODE    IsOdd
+               istream T       IN      ENTIER
+               ostream I       OUT     ENTIER
+       FIN     #IsOdd
+
+
+       CODE    Switch
+               istream T       IN      ENTIER
+               ostream I       OUT     ENTIER
+       FIN     #Switch
+
+
+
+
+# Liste des instances
+
+       INSTANCE        IsOdd
+               CODE    IsOdd
+       FIN
+
+       INSTANCE        InitLoop
+               CODE    InitLoop
+       FIN
+
+       INSTANCE        EndOfInitLoop
+               CODE    EndOfInitLoop
+       FIN
+
+       INSTANCE        Switch
+               CODE    Switch
+       FIN
+
+       INSTANCE        EndSwitch
+               CODE    EndSwitch
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               IsOdd.ostream   0               =>      InitLoop.istream        TI      L1      EXTRANULL ;
+               InitLoop.ostream        0               =>      EndSwitch.istream       TI      L1      EXTRANULL ;
+               Switch.ostream  0               =>      IsOdd.istream   TI      L1      EXTRANULL ;
+               Switch.ostream  0               =>      EndOfInitLoop.istream   SCHENULL        INTERNULL       EXTRANULL ;
+               EndSwitch.ostream       0               =>      Switch.istream  TI      L1      EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStreamTopologies.py b/examples/GraphStreamTopologies.py
new file mode 100644 (file)
index 0000000..95f8c6f
--- /dev/null
@@ -0,0 +1,235 @@
+
+# Generated python file of Graph GraphStreamTopologies
+
+from SuperV import *
+# Graph creation 
+GraphStreamTopologies = StreamGraph( 'GraphStreamTopologies' )
+GraphStreamTopologies.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
+GraphStreamTopologies.SetName( 'GraphStreamTopologies' )
+GraphStreamTopologies.SetAuthor( 'JR' )
+GraphStreamTopologies.SetComment( 'Test of SubStreamGraphs of a StreamGraph' )
+GraphStreamTopologies.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyNode_A_1 = []
+PyNode_A_1.append( 'def Node_A_1() :        ' )
+PyNode_A_1.append( '    return 1      ' )
+Node_A_1 = GraphStreamTopologies.INode( 'Node_A_1' , PyNode_A_1 )
+Node_A_1.SetName( 'Node_A_1' )
+Node_A_1.SetAuthor( '' )
+Node_A_1.SetComment( 'Python function' )
+Node_A_1.Coords( 29 , 66 )
+INode_A_1Gate = Node_A_1.GetInPort( 'Gate' )
+ONode_A_1a_1 = Node_A_1.OutPort( 'a_1' , 'long' )
+ONode_A_1Gate = Node_A_1.GetOutPort( 'Gate' )
+INode_A_1istream_A_1_1 = Node_A_1.InStreamPort( 'istream_A_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+INode_A_1istream_A_1_2 = Node_A_1.InStreamPort( 'istream_A_1_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_2.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+INode_A_1istream_A_1_3 = Node_A_1.InStreamPort( 'istream_A_1_3' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_3.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_A_2 = []
+PyNode_A_2.append( 'def Node_A_2() :        ' )
+PyNode_A_2.append( '    return 1      ' )
+Node_A_2 = GraphStreamTopologies.INode( 'Node_A_2' , PyNode_A_2 )
+Node_A_2.SetName( 'Node_A_2' )
+Node_A_2.SetAuthor( '' )
+Node_A_2.SetComment( 'Python function' )
+Node_A_2.Coords( 23 , 309 )
+INode_A_2Gate = Node_A_2.GetInPort( 'Gate' )
+ONode_A_2a_2 = Node_A_2.OutPort( 'a_2' , 'long' )
+ONode_A_2Gate = Node_A_2.GetOutPort( 'Gate' )
+INode_A_2istream_A_2_1 = Node_A_2.InStreamPort( 'istream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_2istream_A_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+ONode_A_2ostream_A_2_1 = Node_A_2.OutStreamPort( 'ostream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_A_2ostream_A_2_1.SetNumberOfValues( 0 )
+
+PyNode_B_1 = []
+PyNode_B_1.append( 'def Node_B_1( n ) :        ' )
+PyNode_B_1.append( '    return n      ' )
+Node_B_1 = GraphStreamTopologies.INode( 'Node_B_1' , PyNode_B_1 )
+Node_B_1.SetName( 'Node_B_1' )
+Node_B_1.SetAuthor( '' )
+Node_B_1.SetComment( 'Python function' )
+Node_B_1.Coords( 249 , 66 )
+INode_B_1b_1 = Node_B_1.InPort( 'b_1' , 'long' )
+INode_B_1Gate = Node_B_1.GetInPort( 'Gate' )
+ONode_B_1b_1 = Node_B_1.OutPort( 'b_1' , 'long' )
+ONode_B_1Gate = Node_B_1.GetOutPort( 'Gate' )
+INode_B_1istream_B_1_1 = Node_B_1.InStreamPort( 'istream_B_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_B_1istream_B_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_B_2 = []
+PyNode_B_2.append( 'def Node_B_2( n ) :        ' )
+PyNode_B_2.append( '    return n      ' )
+Node_B_2 = GraphStreamTopologies.INode( 'Node_B_2' , PyNode_B_2 )
+Node_B_2.SetName( 'Node_B_2' )
+Node_B_2.SetAuthor( '' )
+Node_B_2.SetComment( 'Python function' )
+Node_B_2.Coords( 245 , 308 )
+INode_B_2b_2 = Node_B_2.InPort( 'b_2' , 'long' )
+INode_B_2Gate = Node_B_2.GetInPort( 'Gate' )
+ONode_B_2b_2 = Node_B_2.OutPort( 'b_2' , 'long' )
+ONode_B_2Gate = Node_B_2.GetOutPort( 'Gate' )
+INode_B_2istream_B_2_1 = Node_B_2.InStreamPort( 'istream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_B_2istream_B_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+ONode_B_2ostream_B_2_1 = Node_B_2.OutStreamPort( 'ostream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_B_2ostream_B_2_1.SetNumberOfValues( 0 )
+ONode_B_2ostream_B_2_2 = Node_B_2.OutStreamPort( 'ostream_B_2_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_B_2ostream_B_2_2.SetNumberOfValues( 0 )
+
+PyNode_C_1 = []
+PyNode_C_1.append( 'def Node_C_1( n ) :        ' )
+PyNode_C_1.append( '    return       ' )
+Node_C_1 = GraphStreamTopologies.INode( 'Node_C_1' , PyNode_C_1 )
+Node_C_1.SetName( 'Node_C_1' )
+Node_C_1.SetAuthor( '' )
+Node_C_1.SetComment( 'Python function' )
+Node_C_1.Coords( 481 , 67 )
+INode_C_1c_1 = Node_C_1.InPort( 'c_1' , 'long' )
+INode_C_1Gate = Node_C_1.GetInPort( 'Gate' )
+ONode_C_1Gate = Node_C_1.GetOutPort( 'Gate' )
+ONode_C_1ostream_C_1_1 = Node_C_1.OutStreamPort( 'ostream_C_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_C_1ostream_C_1_1.SetNumberOfValues( 0 )
+
+PyNode_C_2 = []
+PyNode_C_2.append( 'def Node_C_2( n ) :        ' )
+PyNode_C_2.append( '    return n      ' )
+Node_C_2 = GraphStreamTopologies.INode( 'Node_C_2' , PyNode_C_2 )
+Node_C_2.SetName( 'Node_C_2' )
+Node_C_2.SetAuthor( '' )
+Node_C_2.SetComment( 'Python function' )
+Node_C_2.Coords( 476 , 307 )
+INode_C_2c_2 = Node_C_2.InPort( 'c_2' , 'long' )
+INode_C_2Gate = Node_C_2.GetInPort( 'Gate' )
+ONode_C_2c_2 = Node_C_2.OutPort( 'c_2' , 'long' )
+ONode_C_2Gate = Node_C_2.GetOutPort( 'Gate' )
+INode_C_2istream_C_2_1 = Node_C_2.InStreamPort( 'istream_C_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_C_2istream_C_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_D_1 = []
+PyNode_D_1.append( 'def Node_D_1( n ) :        ' )
+PyNode_D_1.append( '    return       ' )
+Node_D_1 = GraphStreamTopologies.INode( 'Node_D_1' , PyNode_D_1 )
+Node_D_1.SetName( 'Node_D_1' )
+Node_D_1.SetAuthor( '' )
+Node_D_1.SetComment( 'Python function' )
+Node_D_1.Coords( 703 , 306 )
+INode_D_1d_1 = Node_D_1.InPort( 'd_1' , 'long' )
+INode_D_1Gate = Node_D_1.GetInPort( 'Gate' )
+ONode_D_1Gate = Node_D_1.GetOutPort( 'Gate' )
+ONode_D_1ostream_D_1_1 = Node_D_1.OutStreamPort( 'ostream_D_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_D_1ostream_D_1_1.SetNumberOfValues( 0 )
+
+# Creation of Links
+LNode_A_1a_1Node_B_1b_1 = GraphStreamTopologies.Link( ONode_A_1a_1 , INode_B_1b_1 )
+
+LNode_A_2a_2Node_B_2b_2 = GraphStreamTopologies.Link( ONode_A_2a_2 , INode_B_2b_2 )
+
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1 = GraphStreamTopologies.StreamLink( ONode_A_2ostream_A_2_1 , INode_A_1istream_A_1_1 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 1 , 13 , 164 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 2 , 13 , 44 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 3 , 207 , 44 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 4 , 207 , 409 )
+
+LNode_B_1b_1Node_C_1c_1 = GraphStreamTopologies.Link( ONode_B_1b_1 , INode_C_1c_1 )
+
+LNode_B_2b_2Node_C_2c_2 = GraphStreamTopologies.Link( ONode_B_2b_2 , INode_C_2c_2 )
+
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2 = GraphStreamTopologies.StreamLink( ONode_B_2ostream_B_2_1 , INode_A_1istream_A_1_2 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 1 , 14 , 195 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 2 , 13 , 299 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 3 , 428 , 300 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 4 , 428 , 407 )
+
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1 = GraphStreamTopologies.StreamLink( ONode_B_2ostream_B_2_2 , INode_A_2istream_A_2_1 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 1 , 12 , 406 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 2 , 11 , 525 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 3 , 427 , 525 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 4 , 426 , 438 )
+
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3 = GraphStreamTopologies.StreamLink( ONode_C_1ostream_C_1_1 , INode_A_1istream_A_1_3 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 1 , 5 , 227 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 2 , 5 , 16 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 3 , 672 , 16 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 4 , 671 , 166 )
+
+LNode_C_2c_2Node_D_1d_1 = GraphStreamTopologies.Link( ONode_C_2c_2 , INode_D_1d_1 )
+
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1 = GraphStreamTopologies.StreamLink( ONode_D_1ostream_D_1_1 , INode_C_2istream_C_2_1 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 1 , 453 , 406 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 2 , 454 , 499 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 3 , 903 , 500 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 4 , 903 , 404 )
+
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1 = GraphStreamTopologies.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_1istream_B_1_1 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 1 , 229 , 163 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 2 , 229 , 282 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 3 , 902 , 282 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 4 , 903 , 404 )
+
+# Input datas
+INode_B_2istream_B_2_1.Input( 1 )
+
+# Output Ports of the graph
+
+GraphStreamTopologies.Run()
+GraphStreamTopologies.DoneW()
+GraphStreamTopologies.State()
+
+subgraphs = GraphStreamTopologies.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamTopologies.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamTopologies.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamTopologies.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+GraphStreamTopologies.Export( '/tmp/GraphStreamTopologies.xml' )
+
+GraphStreamTopologies = StreamGraph( '/tmp/GraphStreamTopologies.xml' )
+
+GraphStreamTopologies.PrintPorts()
+
+GraphStreamTopologies.Run()
+GraphStreamTopologies.DoneW()
+GraphStreamTopologies.State()
+
+subgraphs = GraphStreamTopologies.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamTopologies.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamTopologies.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamTopologies.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStreamTopologies.xml b/examples/GraphStreamTopologies.xml
new file mode 100644 (file)
index 0000000..e56882d
--- /dev/null
@@ -0,0 +1,455 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStreamTopologies</node-name>
+   <kind>9</kind>
+   <streamgraph-timeout>300</streamgraph-timeout>
+   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>0</streamgraph-deltatime>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStreamTopologies</service-name>
+    <inParameter-list/>
+    <outParameter-list/>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Node_B_2\istream_B_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>4/5/2004 - 10:13:53</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Test of SubStreamGraphs of a StreamGraph</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>Node_A_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_A_1</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a_1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_2</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_3</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_A_1</FuncName>
+     <PyFunc><![CDATA[def Node_A_1() :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return 1      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>29</x-position>
+   <y-position>66</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_A_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_A_2</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_A_2_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_A_2</FuncName>
+     <PyFunc><![CDATA[def Node_A_2() :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return 1      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>23</x-position>
+   <y-position>309</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_B_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_B_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>b_1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_B_1_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_B_1</FuncName>
+     <PyFunc><![CDATA[def Node_B_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>249</x-position>
+   <y-position>66</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_B_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_B_2</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b_2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>b_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_B_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_B_2_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_B_2_2</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_B_2</FuncName>
+     <PyFunc><![CDATA[def Node_B_2( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>245</x-position>
+   <y-position>308</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_C_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_C_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>c_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_C_1_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_C_1</FuncName>
+     <PyFunc><![CDATA[def Node_C_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return       ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>481</x-position>
+   <y-position>67</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_C_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_C_2</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>c_2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>c_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_C_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_C_2</FuncName>
+     <PyFunc><![CDATA[def Node_C_2( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>476</x-position>
+   <y-position>307</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_D_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_D_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>d_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_D_1_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_D_1</FuncName>
+     <PyFunc><![CDATA[def Node_D_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return       ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 9:18:58</creation-date>
+   <lastmodification-date>21/5/2004 - 9:18:58</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>703</x-position>
+   <y-position>306</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Node_A_1</fromnode-name>
+   <fromserviceparameter-name>a_1</fromserviceparameter-name>
+   <tonode-name>Node_B_1</tonode-name>
+   <toserviceparameter-name>b_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_A_2</fromnode-name>
+   <fromserviceparameter-name>a_2</fromserviceparameter-name>
+   <tonode-name>Node_B_2</tonode-name>
+   <toserviceparameter-name>b_2</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_A_2</fromnode-name>
+   <fromserviceparameter-name>ostream_A_2_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>13</x>
+     <y>164</y>    </coord>
+    <coord>
+<x>13</x>
+     <y>44</y>    </coord>
+    <coord>
+<x>207</x>
+     <y>44</y>    </coord>
+    <coord>
+<x>207</x>
+     <y>409</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_B_1</fromnode-name>
+   <fromserviceparameter-name>b_1</fromserviceparameter-name>
+   <tonode-name>Node_C_1</tonode-name>
+   <toserviceparameter-name>c_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>b_2</fromserviceparameter-name>
+   <tonode-name>Node_C_2</tonode-name>
+   <toserviceparameter-name>c_2</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>ostream_B_2_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_2</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>14</x>
+     <y>195</y>    </coord>
+    <coord>
+<x>13</x>
+     <y>299</y>    </coord>
+    <coord>
+<x>428</x>
+     <y>300</y>    </coord>
+    <coord>
+<x>428</x>
+     <y>407</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>ostream_B_2_2</fromserviceparameter-name>
+   <tonode-name>Node_A_2</tonode-name>
+   <toserviceparameter-name>istream_A_2_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>12</x>
+     <y>406</y>    </coord>
+    <coord>
+<x>11</x>
+     <y>525</y>    </coord>
+    <coord>
+<x>427</x>
+     <y>525</y>    </coord>
+    <coord>
+<x>426</x>
+     <y>438</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_C_1</fromnode-name>
+   <fromserviceparameter-name>ostream_C_1_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_3</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>5</x>
+     <y>227</y>    </coord>
+    <coord>
+<x>5</x>
+     <y>16</y>    </coord>
+    <coord>
+<x>672</x>
+     <y>16</y>    </coord>
+    <coord>
+<x>671</x>
+     <y>166</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_C_2</fromnode-name>
+   <fromserviceparameter-name>c_2</fromserviceparameter-name>
+   <tonode-name>Node_D_1</tonode-name>
+   <toserviceparameter-name>d_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_D_1</fromnode-name>
+   <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
+   <tonode-name>Node_C_2</tonode-name>
+   <toserviceparameter-name>istream_C_2_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>453</x>
+     <y>406</y>    </coord>
+    <coord>
+<x>454</x>
+     <y>499</y>    </coord>
+    <coord>
+<x>903</x>
+     <y>500</y>    </coord>
+    <coord>
+<x>903</x>
+     <y>404</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_D_1</fromnode-name>
+   <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
+   <tonode-name>Node_B_1</tonode-name>
+   <toserviceparameter-name>istream_B_1_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>229</x>
+     <y>163</y>    </coord>
+    <coord>
+<x>229</x>
+     <y>282</y>    </coord>
+    <coord>
+<x>902</x>
+     <y>282</y>    </coord>
+    <coord>
+<x>903</x>
+     <y>404</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphStreamTopologies</fromnode-name>
+   <fromserviceparameter-name>Node_B_2\istream_B_2_1</fromserviceparameter-name>
+   <tonode-name>Node_B_2</tonode-name>
+   <toserviceparameter-name>istream_B_2_1</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphStreamTopologies_1.cpl b/examples/GraphStreamTopologies_1.cpl
new file mode 100644 (file)
index 0000000..b0e6528
--- /dev/null
@@ -0,0 +1,68 @@
+DEBUT  GraphStreamTopologies_1
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    Node_A_1
+               istream_A_1_1   T       IN      ENTIER
+               istream_A_1_2   T       IN      ENTIER
+               istream_A_1_3   T       IN      ENTIER
+       FIN     #Node_A_1
+
+
+       CODE    Node_A_2
+               istream_A_2_1   T       IN      ENTIER
+               ostream_A_2_1   T       OUT     ENTIER
+       FIN     #Node_A_2
+
+
+       CODE    Node_B_2
+               istream_B_2_1   T       IN      ENTIER
+               ostream_B_2_1   T       OUT     ENTIER
+               ostream_B_2_2   T       OUT     ENTIER
+       FIN     #Node_B_2
+
+
+       CODE    Node_C_1
+               istream_B_2_1   T       IN      ENTIER
+               ostream_C_1_1   T       OUT     ENTIER
+       FIN     #Node_C_1
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Node_A_1
+               CODE    Node_A_1
+       FIN
+
+       INSTANCE        Node_A_2
+               CODE    Node_A_2
+       FIN
+
+       INSTANCE        Node_B_2
+               CODE    Node_B_2
+       FIN
+
+       INSTANCE        Node_C_1
+               CODE    Node_C_1
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Node_A_2.ostream_A_2_1  0               =>      Node_A_1.istream_A_1_1  TI      L1      EXTRANULL ;
+               Node_B_2.ostream_B_2_1  0               =>      Node_A_1.istream_A_1_2  TI      L1      EXTRANULL ;
+               Node_B_2.ostream_B_2_2  0               =>      Node_A_2.istream_A_2_1  TI      L1      EXTRANULL ;
+               Node_C_1.ostream_C_1_1  0               =>      Node_A_1.istream_A_1_3  TI      L1      EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStreamTopologies_2.cpl b/examples/GraphStreamTopologies_2.cpl
new file mode 100644 (file)
index 0000000..0916ccc
--- /dev/null
@@ -0,0 +1,54 @@
+DEBUT  GraphStreamTopologies_2
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    Node_B_1
+               istream_B_1_1   T       IN      ENTIER
+               ostream_A_2_1   T       OUT     ENTIER
+       FIN     #Node_B_1
+
+
+       CODE    Node_C_2
+               istream_C_2_1   T       IN      ENTIER
+               ostream_C_1_1   T       OUT     ENTIER
+       FIN     #Node_C_2
+
+
+       CODE    Node_D_1
+               istream_C_2_1   T       IN      ENTIER
+               ostream_D_1_1   T       OUT     ENTIER
+       FIN     #Node_D_1
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Node_B_1
+               CODE    Node_B_1
+       FIN
+
+       INSTANCE        Node_C_2
+               CODE    Node_C_2
+       FIN
+
+       INSTANCE        Node_D_1
+               CODE    Node_D_1
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Node_D_1.ostream_D_1_1  0               =>      Node_C_2.istream_C_2_1  TI      L1      EXTRANULL ;
+               Node_D_1.ostream_D_1_1  0               =>      Node_B_1.istream_B_1_1  TI      L1      EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStreamTopology.py b/examples/GraphStreamTopology.py
new file mode 100644 (file)
index 0000000..b80db91
--- /dev/null
@@ -0,0 +1,244 @@
+
+# Generated python file of Graph GraphStreamTopology
+
+from SuperV import *
+# Graph creation 
+GraphStreamTopology = StreamGraph( 'GraphStreamTopology' )
+GraphStreamTopology.SetStreamParams( 300 , SUPERV.WithoutTrace , 0 )
+GraphStreamTopology.SetName( 'GraphStreamTopology' )
+GraphStreamTopology.SetAuthor( 'JR' )
+GraphStreamTopology.SetComment( 'Test of SubStreamGraphs of a StreamGraph' )
+GraphStreamTopology.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyNode_A_1 = []
+PyNode_A_1.append( 'def Node_A_1() :        ' )
+PyNode_A_1.append( '    return 1      ' )
+Node_A_1 = GraphStreamTopology.INode( 'Node_A_1' , PyNode_A_1 )
+Node_A_1.SetName( 'Node_A_1' )
+Node_A_1.SetAuthor( '' )
+Node_A_1.SetComment( 'Python function' )
+Node_A_1.Coords( 32 , 65 )
+INode_A_1Gate = Node_A_1.GetInPort( 'Gate' )
+ONode_A_1a_1 = Node_A_1.OutPort( 'a_1' , 'long' )
+ONode_A_1Gate = Node_A_1.GetOutPort( 'Gate' )
+INode_A_1istream_A_1_1 = Node_A_1.InStreamPort( 'istream_A_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+INode_A_1istream_A_1_2 = Node_A_1.InStreamPort( 'istream_A_1_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_2.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+INode_A_1istream_A_1_3 = Node_A_1.InStreamPort( 'istream_A_1_3' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_1istream_A_1_3.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_A_2 = []
+PyNode_A_2.append( 'def Node_A_2() :        ' )
+PyNode_A_2.append( '    return 1      ' )
+Node_A_2 = GraphStreamTopology.INode( 'Node_A_2' , PyNode_A_2 )
+Node_A_2.SetName( 'Node_A_2' )
+Node_A_2.SetAuthor( '' )
+Node_A_2.SetComment( 'Python function' )
+Node_A_2.Coords( 31 , 336 )
+INode_A_2Gate = Node_A_2.GetInPort( 'Gate' )
+ONode_A_2a_2 = Node_A_2.OutPort( 'a_2' , 'long' )
+ONode_A_2Gate = Node_A_2.GetOutPort( 'Gate' )
+INode_A_2istream_A_2_1 = Node_A_2.InStreamPort( 'istream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_A_2istream_A_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+ONode_A_2ostream_A_2_1 = Node_A_2.OutStreamPort( 'ostream_A_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_A_2ostream_A_2_1.SetNumberOfValues( 0 )
+
+PyNode_B_1 = []
+PyNode_B_1.append( 'def Node_B_1( n ) :        ' )
+PyNode_B_1.append( '    return n      ' )
+Node_B_1 = GraphStreamTopology.INode( 'Node_B_1' , PyNode_B_1 )
+Node_B_1.SetName( 'Node_B_1' )
+Node_B_1.SetAuthor( '' )
+Node_B_1.SetComment( 'Python function' )
+Node_B_1.Coords( 254 , 64 )
+INode_B_1b_1 = Node_B_1.InPort( 'b_1' , 'long' )
+INode_B_1Gate = Node_B_1.GetInPort( 'Gate' )
+ONode_B_1b_1 = Node_B_1.OutPort( 'b_1' , 'long' )
+ONode_B_1Gate = Node_B_1.GetOutPort( 'Gate' )
+INode_B_1istream_B_1_1 = Node_B_1.InStreamPort( 'istream_B_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_B_1istream_B_1_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_B_2 = []
+PyNode_B_2.append( 'def Node_B_2( n ) :        ' )
+PyNode_B_2.append( '    return n      ' )
+Node_B_2 = GraphStreamTopology.INode( 'Node_B_2' , PyNode_B_2 )
+Node_B_2.SetName( 'Node_B_2' )
+Node_B_2.SetAuthor( '' )
+Node_B_2.SetComment( 'Python function' )
+Node_B_2.Coords( 255 , 336 )
+INode_B_2b_2 = Node_B_2.InPort( 'b_2' , 'long' )
+INode_B_2Gate = Node_B_2.GetInPort( 'Gate' )
+ONode_B_2b_2 = Node_B_2.OutPort( 'b_2' , 'long' )
+ONode_B_2Gate = Node_B_2.GetOutPort( 'Gate' )
+INode_B_2istream_B_2_1 = Node_B_2.InStreamPort( 'istream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_B_2istream_B_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+ONode_B_2ostream_B_2_1 = Node_B_2.OutStreamPort( 'ostream_B_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_B_2ostream_B_2_1.SetNumberOfValues( 0 )
+ONode_B_2ostream_B_2_2 = Node_B_2.OutStreamPort( 'ostream_B_2_2' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_B_2ostream_B_2_2.SetNumberOfValues( 0 )
+
+PyNode_C_1 = []
+PyNode_C_1.append( 'def Node_C_1( n ) :        ' )
+PyNode_C_1.append( '    return       ' )
+Node_C_1 = GraphStreamTopology.INode( 'Node_C_1' , PyNode_C_1 )
+Node_C_1.SetName( 'Node_C_1' )
+Node_C_1.SetAuthor( '' )
+Node_C_1.SetComment( 'Python function' )
+Node_C_1.Coords( 478 , 63 )
+INode_C_1c_1 = Node_C_1.InPort( 'c_1' , 'long' )
+INode_C_1Gate = Node_C_1.GetInPort( 'Gate' )
+ONode_C_1Gate = Node_C_1.GetOutPort( 'Gate' )
+ONode_C_1ostream_C_1_1 = Node_C_1.OutStreamPort( 'ostream_C_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_C_1ostream_C_1_1.SetNumberOfValues( 0 )
+
+PyNode_C_2 = []
+PyNode_C_2.append( 'def Node_C_2( n ) :        ' )
+PyNode_C_2.append( '    return n      ' )
+Node_C_2 = GraphStreamTopology.INode( 'Node_C_2' , PyNode_C_2 )
+Node_C_2.SetName( 'Node_C_2' )
+Node_C_2.SetAuthor( '' )
+Node_C_2.SetComment( 'Python function' )
+Node_C_2.Coords( 477 , 337 )
+INode_C_2c_2 = Node_C_2.InPort( 'c_2' , 'long' )
+INode_C_2Gate = Node_C_2.GetInPort( 'Gate' )
+ONode_C_2c_2 = Node_C_2.OutPort( 'c_2' , 'long' )
+ONode_C_2Gate = Node_C_2.GetOutPort( 'Gate' )
+INode_C_2istream_C_2_1 = Node_C_2.InStreamPort( 'istream_C_2_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+INode_C_2istream_C_2_1.SetParams( SUPERV.TI , SUPERV.L1 , SUPERV.EXTRANULL )
+
+PyNode_D_1 = []
+PyNode_D_1.append( 'def Node_D_1( n ) :        ' )
+PyNode_D_1.append( '    return       ' )
+Node_D_1 = GraphStreamTopology.INode( 'Node_D_1' , PyNode_D_1 )
+Node_D_1.SetName( 'Node_D_1' )
+Node_D_1.SetAuthor( '' )
+Node_D_1.SetComment( 'Python function' )
+Node_D_1.Coords( 702 , 336 )
+INode_D_1d_1 = Node_D_1.InPort( 'd_1' , 'long' )
+INode_D_1Gate = Node_D_1.GetInPort( 'Gate' )
+ONode_D_1Gate = Node_D_1.GetOutPort( 'Gate' )
+ONode_D_1ostream_D_1_1 = Node_D_1.OutStreamPort( 'ostream_D_1_1' , SALOME_ModuleCatalog.DATASTREAM_INTEGER , SALOME_ModuleCatalog.DATASTREAM_TEMPORAL )
+ONode_D_1ostream_D_1_1.SetNumberOfValues( 0 )
+
+# Creation of Links
+LNode_A_1a_1Node_B_1b_1 = GraphStreamTopology.Link( ONode_A_1a_1 , INode_B_1b_1 )
+
+LNode_A_2a_2Node_B_2b_2 = GraphStreamTopology.Link( ONode_A_2a_2 , INode_B_2b_2 )
+
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1 = GraphStreamTopology.StreamLink( ONode_A_2ostream_A_2_1 , INode_A_1istream_A_1_1 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 1 , 14 , 162 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 2 , 13 , 37 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 3 , 211 , 36 )
+LNode_A_2ostream_A_2_1Node_A_1istream_A_1_1.AddCoord( 4 , 210 , 435 )
+
+LNode_B_1b_1Node_C_1c_1 = GraphStreamTopology.Link( ONode_B_1b_1 , INode_C_1c_1 )
+
+LNode_B_2b_2Node_C_2c_2 = GraphStreamTopology.Link( ONode_B_2b_2 , INode_C_2c_2 )
+
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_1 , INode_A_1istream_A_1_2 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 1 , 8 , 195 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 2 , 7 , 324 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 3 , 443 , 323 )
+LNode_B_2ostream_B_2_1Node_A_1istream_A_1_2.AddCoord( 4 , 442 , 434 )
+
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1 = GraphStreamTopology.StreamLink( ONode_B_2ostream_B_2_2 , INode_A_2istream_A_2_1 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 1 , 16 , 433 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 2 , 15 , 583 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 3 , 434 , 584 )
+LNode_B_2ostream_B_2_2Node_A_2istream_A_2_1.AddCoord( 4 , 434 , 467 )
+
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3 = GraphStreamTopology.StreamLink( ONode_C_1ostream_C_1_1 , INode_A_1istream_A_1_3 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 1 , 21 , 226 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 2 , 20 , 296 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 3 , 663 , 295 )
+LNode_C_1ostream_C_1_1Node_A_1istream_A_1_3.AddCoord( 4 , 662 , 161 )
+
+LNode_C_2c_2Node_D_1d_1 = GraphStreamTopology.Link( ONode_C_2c_2 , INode_D_1d_1 )
+
+LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_2istream_B_2_1 )
+LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 1 , 232 , 433 )
+LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 2 , 231 , 553 )
+LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 3 , 903 , 553 )
+LNode_D_1ostream_D_1_1Node_B_2istream_B_2_1.AddCoord( 4 , 902 , 434 )
+
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_C_2istream_C_2_1 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 1 , 461 , 434 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 2 , 461 , 524 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 3 , 889 , 525 )
+LNode_D_1ostream_D_1_1Node_C_2istream_C_2_1.AddCoord( 4 , 888 , 434 )
+
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1 = GraphStreamTopology.StreamLink( ONode_D_1ostream_D_1_1 , INode_B_1istream_B_1_1 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 1 , 236 , 162 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 2 , 236 , 249 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 3 , 887 , 249 )
+LNode_D_1ostream_D_1_1Node_B_1istream_B_1_1.AddCoord( 4 , 888 , 432 )
+
+# Output Ports of the graph
+
+
+
+
+GraphStreamTopology.Run()
+GraphStreamTopology.DoneW()
+print GraphStreamTopology.State()
+
+GraphStreamTopology.PrintPorts()
+
+subgraphs = GraphStreamTopology.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamTopology.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+
+GraphStreamTopology.Export( '/tmp/GraphStreamTopology.xml' )
+
+GraphStreamTopology = StreamGraph( '/tmp/GraphStreamTopology.xml' )
+
+GraphStreamTopology.PrintPorts()
+
+GraphStreamTopology.Run()
+GraphStreamTopology.DoneW()
+GraphStreamTopology.State()
+
+subgraphs = GraphStreamTopology.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreamTopology.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreamTopology.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreamTopology.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStreamTopology.xml b/examples/GraphStreamTopology.xml
new file mode 100644 (file)
index 0000000..0339d49
--- /dev/null
@@ -0,0 +1,457 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStreamTopology</node-name>
+   <kind>9</kind>
+   <streamgraph-timeout>300</streamgraph-timeout>
+   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>0</streamgraph-deltatime>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStreamTopology</service-name>
+    <inParameter-list/>
+    <outParameter-list/>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>4/5/2004 - 10:4:18</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Test of SubStreamGraphs of a StreamGraph</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>Node_A_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_A_1</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a_1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_2</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_1_3</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_A_1</FuncName>
+     <PyFunc><![CDATA[def Node_A_1() :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return 1      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>32</x-position>
+   <y-position>65</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_A_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_A_2</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_A_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_A_2_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_A_2</FuncName>
+     <PyFunc><![CDATA[def Node_A_2() :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return 1      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>31</x-position>
+   <y-position>336</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_B_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_B_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>b_1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_B_1_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_B_1</FuncName>
+     <PyFunc><![CDATA[def Node_B_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>254</x-position>
+   <y-position>64</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_B_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_B_2</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>b_2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>b_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_B_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_B_2_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_B_2_2</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_B_2</FuncName>
+     <PyFunc><![CDATA[def Node_B_2( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>255</x-position>
+   <y-position>336</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_C_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_C_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>c_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_C_1_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_C_1</FuncName>
+     <PyFunc><![CDATA[def Node_C_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return       ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>478</x-position>
+   <y-position>63</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_C_2</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_C_2</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>c_2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>c_2</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream_C_2_1</inParameter-name>
+     <inParameter-dependency>1</inParameter-dependency>
+     <inParameter-schema>1</inParameter-schema>
+     <inParameter-interpolation>2</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_C_2</FuncName>
+     <PyFunc><![CDATA[def Node_C_2( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return n      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>477</x-position>
+   <y-position>337</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Node_D_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Node_D_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>d_1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream_D_1_1</outParameter-name>
+     <outParameter-dependency>1</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Node_D_1</FuncName>
+     <PyFunc><![CDATA[def Node_D_1( n ) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    return       ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:17:39</creation-date>
+   <lastmodification-date>21/5/2004 - 10:17:39</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>702</x-position>
+   <y-position>336</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Node_A_1</fromnode-name>
+   <fromserviceparameter-name>a_1</fromserviceparameter-name>
+   <tonode-name>Node_B_1</tonode-name>
+   <toserviceparameter-name>b_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_A_2</fromnode-name>
+   <fromserviceparameter-name>a_2</fromserviceparameter-name>
+   <tonode-name>Node_B_2</tonode-name>
+   <toserviceparameter-name>b_2</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_A_2</fromnode-name>
+   <fromserviceparameter-name>ostream_A_2_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>14</x>
+     <y>162</y>    </coord>
+    <coord>
+<x>13</x>
+     <y>37</y>    </coord>
+    <coord>
+<x>211</x>
+     <y>36</y>    </coord>
+    <coord>
+<x>210</x>
+     <y>435</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_B_1</fromnode-name>
+   <fromserviceparameter-name>b_1</fromserviceparameter-name>
+   <tonode-name>Node_C_1</tonode-name>
+   <toserviceparameter-name>c_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>b_2</fromserviceparameter-name>
+   <tonode-name>Node_C_2</tonode-name>
+   <toserviceparameter-name>c_2</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>ostream_B_2_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_2</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>8</x>
+     <y>195</y>    </coord>
+    <coord>
+<x>7</x>
+     <y>324</y>    </coord>
+    <coord>
+<x>443</x>
+     <y>323</y>    </coord>
+    <coord>
+<x>442</x>
+     <y>434</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_B_2</fromnode-name>
+   <fromserviceparameter-name>ostream_B_2_2</fromserviceparameter-name>
+   <tonode-name>Node_A_2</tonode-name>
+   <toserviceparameter-name>istream_A_2_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>16</x>
+     <y>433</y>    </coord>
+    <coord>
+<x>15</x>
+     <y>583</y>    </coord>
+    <coord>
+<x>434</x>
+     <y>584</y>    </coord>
+    <coord>
+<x>434</x>
+     <y>467</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_C_1</fromnode-name>
+   <fromserviceparameter-name>ostream_C_1_1</fromserviceparameter-name>
+   <tonode-name>Node_A_1</tonode-name>
+   <toserviceparameter-name>istream_A_1_3</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>21</x>
+     <y>226</y>    </coord>
+    <coord>
+<x>20</x>
+     <y>296</y>    </coord>
+    <coord>
+<x>663</x>
+     <y>295</y>    </coord>
+    <coord>
+<x>662</x>
+     <y>161</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_C_2</fromnode-name>
+   <fromserviceparameter-name>c_2</fromserviceparameter-name>
+   <tonode-name>Node_D_1</tonode-name>
+   <toserviceparameter-name>d_1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Node_D_1</fromnode-name>
+   <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
+   <tonode-name>Node_B_2</tonode-name>
+   <toserviceparameter-name>istream_B_2_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>232</x>
+     <y>433</y>    </coord>
+    <coord>
+<x>231</x>
+     <y>553</y>    </coord>
+    <coord>
+<x>903</x>
+     <y>553</y>    </coord>
+    <coord>
+<x>902</x>
+     <y>434</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_D_1</fromnode-name>
+   <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
+   <tonode-name>Node_C_2</tonode-name>
+   <toserviceparameter-name>istream_C_2_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>461</x>
+     <y>434</y>    </coord>
+    <coord>
+<x>461</x>
+     <y>524</y>    </coord>
+    <coord>
+<x>889</x>
+     <y>525</y>    </coord>
+    <coord>
+<x>888</x>
+     <y>434</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Node_D_1</fromnode-name>
+   <fromserviceparameter-name>ostream_D_1_1</fromserviceparameter-name>
+   <tonode-name>Node_B_1</tonode-name>
+   <toserviceparameter-name>istream_B_1_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>236</x>
+     <y>162</y>    </coord>
+    <coord>
+<x>236</x>
+     <y>249</y>    </coord>
+    <coord>
+<x>887</x>
+     <y>249</y>    </coord>
+    <coord>
+<x>888</x>
+     <y>432</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list/></dataflow>
diff --git a/examples/GraphStreamTopology_1.cpl b/examples/GraphStreamTopology_1.cpl
new file mode 100644 (file)
index 0000000..a9cd739
--- /dev/null
@@ -0,0 +1,101 @@
+DEBUT  GraphStreamTopology_1
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    Node_A_1
+               istream_A_1_1   T       IN      ENTIER
+               istream_A_1_2   T       IN      ENTIER
+               istream_A_1_3   T       IN      ENTIER
+       FIN     #Node_A_1
+
+
+       CODE    Node_A_2
+               istream_A_2_1   T       IN      ENTIER
+               ostream_A_2_1   T       OUT     ENTIER
+       FIN     #Node_A_2
+
+
+       CODE    Node_B_1
+               istream_B_1_1   T       IN      ENTIER
+               ostream_A_2_1   T       OUT     ENTIER
+       FIN     #Node_B_1
+
+
+       CODE    Node_B_2
+               istream_B_2_1   T       IN      ENTIER
+               ostream_B_2_1   T       OUT     ENTIER
+               ostream_B_2_2   T       OUT     ENTIER
+       FIN     #Node_B_2
+
+
+       CODE    Node_C_1
+               istream_B_2_1   T       IN      ENTIER
+               ostream_C_1_1   T       OUT     ENTIER
+       FIN     #Node_C_1
+
+
+       CODE    Node_C_2
+               istream_C_2_1   T       IN      ENTIER
+               ostream_C_1_1   T       OUT     ENTIER
+       FIN     #Node_C_2
+
+
+       CODE    Node_D_1
+               istream_C_2_1   T       IN      ENTIER
+               ostream_D_1_1   T       OUT     ENTIER
+       FIN     #Node_D_1
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Node_A_1
+               CODE    Node_A_1
+       FIN
+
+       INSTANCE        Node_A_2
+               CODE    Node_A_2
+       FIN
+
+       INSTANCE        Node_B_1
+               CODE    Node_B_1
+       FIN
+
+       INSTANCE        Node_B_2
+               CODE    Node_B_2
+       FIN
+
+       INSTANCE        Node_C_1
+               CODE    Node_C_1
+       FIN
+
+       INSTANCE        Node_C_2
+               CODE    Node_C_2
+       FIN
+
+       INSTANCE        Node_D_1
+               CODE    Node_D_1
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Node_A_2.ostream_A_2_1  0               =>      Node_A_1.istream_A_1_1  TI      L1      EXTRANULL ;
+               Node_B_2.ostream_B_2_1  0               =>      Node_A_1.istream_A_1_2  TI      L1      EXTRANULL ;
+               Node_B_2.ostream_B_2_2  0               =>      Node_A_2.istream_A_2_1  TI      L1      EXTRANULL ;
+               Node_C_1.ostream_C_1_1  0               =>      Node_A_1.istream_A_1_3  TI      L1      EXTRANULL ;
+               Node_D_1.ostream_D_1_1  0               =>      Node_B_2.istream_B_2_1  TI      L1      EXTRANULL ;
+               Node_D_1.ostream_D_1_1  0               =>      Node_C_2.istream_C_2_1  TI      L1      EXTRANULL ;
+               Node_D_1.ostream_D_1_1  0               =>      Node_B_1.istream_B_1_1  TI      L1      EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStream_1.cpl b/examples/GraphStream_1.cpl
new file mode 100644 (file)
index 0000000..963a85c
--- /dev/null
@@ -0,0 +1,45 @@
+DEBUT  GraphStream_1
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    Add
+               istream I       IN      ENTIER
+               ostream I       OUT     ENTIER
+               OStream I       OUT     ENTIER
+       FIN     #Add
+
+
+       CODE    Sub
+               istream I       IN      ENTIER
+               Istream I       IN      ENTIER
+       FIN     #Sub
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Add
+               CODE    Add
+       FIN
+
+       INSTANCE        Sub
+               CODE    Sub
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Add.ostream     0               =>      Sub.istream     SCHENULL        INTERNULL       EXTRANULL ;
+               Add.OStream     0               =>      Sub.Istream     SCHENULL        INTERNULL       EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStream_2.cpl b/examples/GraphStream_2.cpl
new file mode 100644 (file)
index 0000000..cb8df94
--- /dev/null
@@ -0,0 +1,33 @@
+DEBUT  GraphStream_2
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    StreamAdd
+               istream I       IN      ENTIER
+               ostream I       OUT     ENTIER
+               OStream I       OUT     ENTIER
+       FIN     #StreamAdd
+
+
+
+
+# Liste des instances
+
+       INSTANCE        StreamAdd
+               CODE    StreamAdd
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+       FIN
+
+FIN
diff --git a/examples/GraphStream_3.cpl b/examples/GraphStream_3.cpl
new file mode 100644 (file)
index 0000000..4f31cef
--- /dev/null
@@ -0,0 +1,31 @@
+DEBUT  GraphStream_3
+       TIMEOUT 300
+       TRACE   SANS
+       DELTA_T 0
+
+
+# Liste des codes
+
+       CODE    Div
+               ostream I       OUT     ENTIER
+       FIN     #Div
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Div
+               CODE    Div
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+       FIN
+
+FIN
diff --git a/examples/GraphStreams.py b/examples/GraphStreams.py
new file mode 100644 (file)
index 0000000..c9a9601
--- /dev/null
@@ -0,0 +1,404 @@
+
+# Generated python file of Graph GraphStreams
+
+from SuperV import *
+# Graph creation 
+GraphStreams = StreamGraph( 'GraphStreams' )
+GraphStreams.SetStreamParams( 1000 , SUPERV.SummaryTrace , 1.5 )
+GraphStreams.SetName( 'GraphStreams' )
+GraphStreams.SetAuthor( 'JR' )
+GraphStreams.SetComment( 'Graph with DataStreamPorts CEA/EDF : Calcium' )
+GraphStreams.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Add = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from DataStreamFactory' )
+Add.Coords( 255 , 171 )
+IAddx = Add.GetInPort( 'x' )
+IAddy = Add.GetInPort( 'y' )
+IAddGate = Add.GetInPort( 'Gate' )
+OAddz = Add.GetOutPort( 'z' )
+OAddGate = Add.GetOutPort( 'Gate' )
+IAddistream = Add.GetInStreamPort( 'istream' )
+IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAddostream = Add.GetOutStreamPort( 'ostream' )
+OAddostream.SetNumberOfValues( 0 )
+OAddOStream = Add.GetOutStreamPort( 'OStream' )
+OAddOStream.SetNumberOfValues( 10 )
+
+Sub = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from DataStreamFactory' )
+Sub.Coords( 519 , 48 )
+ISubx = Sub.GetInPort( 'x' )
+ISuby = Sub.GetInPort( 'y' )
+ISubGate = Sub.GetInPort( 'Gate' )
+OSubz = Sub.GetOutPort( 'z' )
+OSubGate = Sub.GetOutPort( 'Gate' )
+ISubistream = Sub.GetInStreamPort( 'istream' )
+ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISubIstream = Sub.GetInStreamPort( 'Istream' )
+ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from DataStreamFactory' )
+Mul.Coords( 724 , 142 )
+IMulx = Mul.GetInPort( 'x' )
+IMuly = Mul.GetInPort( 'y' )
+IMulGate = Mul.GetInPort( 'Gate' )
+OMulz = Mul.GetOutPort( 'z' )
+OMulGate = Mul.GetOutPort( 'Gate' )
+
+Div = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DataStreamFactory' )
+Div.Coords( 935 , 48 )
+IDivx = Div.GetInPort( 'x' )
+IDivy = Div.GetInPort( 'y' )
+IDivGate = Div.GetInPort( 'Gate' )
+ODivz = Div.GetOutPort( 'z' )
+ODivGate = Div.GetOutPort( 'Gate' )
+ODivostream = Div.GetOutStreamPort( 'ostream' )
+ODivostream.SetNumberOfValues( 0 )
+
+Add_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
+Add_1.SetName( 'Add_1' )
+Add_1.SetAuthor( '' )
+Add_1.SetContainer( 'localhost/FactoryServer' )
+Add_1.SetComment( 'Add from DataStreamFactory' )
+Add_1.Coords( 252 , 499 )
+IAdd_1x = Add_1.GetInPort( 'x' )
+IAdd_1y = Add_1.GetInPort( 'y' )
+IAdd_1Gate = Add_1.GetInPort( 'Gate' )
+OAdd_1z = Add_1.GetOutPort( 'z' )
+OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
+IAdd_1istream = Add_1.GetInStreamPort( 'istream' )
+IAdd_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAdd_1ostream = Add_1.GetOutStreamPort( 'ostream' )
+OAdd_1ostream.SetNumberOfValues( 0 )
+OAdd_1OStream = Add_1.GetOutStreamPort( 'OStream' )
+OAdd_1OStream.SetNumberOfValues( 0 )
+
+Sub_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
+Sub_1.SetName( 'Sub_1' )
+Sub_1.SetAuthor( '' )
+Sub_1.SetContainer( 'localhost/FactoryServer' )
+Sub_1.SetComment( 'Sub from DataStreamFactory' )
+Sub_1.Coords( 516 , 385 )
+ISub_1x = Sub_1.GetInPort( 'x' )
+ISub_1y = Sub_1.GetInPort( 'y' )
+ISub_1Gate = Sub_1.GetInPort( 'Gate' )
+OSub_1z = Sub_1.GetOutPort( 'z' )
+OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
+ISub_1istream = Sub_1.GetInStreamPort( 'istream' )
+ISub_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISub_1Istream = Sub_1.GetInStreamPort( 'Istream' )
+ISub_1Istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
+Mul_1.SetName( 'Mul_1' )
+Mul_1.SetAuthor( '' )
+Mul_1.SetContainer( 'localhost/FactoryServer' )
+Mul_1.SetComment( 'Mul from DataStreamFactory' )
+Mul_1.Coords( 731 , 487 )
+IMul_1x = Mul_1.GetInPort( 'x' )
+IMul_1y = Mul_1.GetInPort( 'y' )
+IMul_1Gate = Mul_1.GetInPort( 'Gate' )
+OMul_1z = Mul_1.GetOutPort( 'z' )
+OMul_1Gate = Mul_1.GetOutPort( 'Gate' )
+
+Div_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
+Div_1.SetName( 'Div_1' )
+Div_1.SetAuthor( '' )
+Div_1.SetContainer( 'localhost/FactoryServer' )
+Div_1.SetComment( 'Div from DataStreamFactory' )
+Div_1.Coords( 931 , 385 )
+IDiv_1x = Div_1.GetInPort( 'x' )
+IDiv_1y = Div_1.GetInPort( 'y' )
+IDiv_1Gate = Div_1.GetInPort( 'Gate' )
+ODiv_1z = Div_1.GetOutPort( 'z' )
+ODiv_1Gate = Div_1.GetOutPort( 'Gate' )
+ODiv_1ostream = Div_1.GetOutStreamPort( 'ostream' )
+ODiv_1ostream.SetNumberOfValues( 0 )
+
+# Creation of Loop Nodes
+PyLoop = []
+PyLoop.append( 'import time ' )
+PyLoop.append( 'def Init(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
+PyLoop.append( '    if Min <= Max :   ' )
+PyLoop.append( '        Index = Min   ' )
+PyLoop.append( '    else :   ' )
+PyLoop.append( '        Index = Max   ' )
+PyLoop.append( '    time.sleep( 1 ) ' )
+PyLoop.append( '    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
+PyMoreLoop = []
+PyMoreLoop.append( 'import time ' )
+PyMoreLoop.append( 'def More(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
+PyMoreLoop.append( '    if Index < Max :   ' )
+PyMoreLoop.append( '        DoLoop = 1   ' )
+PyMoreLoop.append( '    else :   ' )
+PyMoreLoop.append( '        DoLoop = 0   ' )
+PyMoreLoop.append( '    time.sleep( 1 ) ' )
+PyMoreLoop.append( '    return DoLoop,Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
+PyNextLoop = []
+PyNextLoop.append( 'import time ' )
+PyNextLoop.append( 'def Next(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ' )
+PyNextLoop.append( '    Index = Index + Incr   ' )
+PyNextLoop.append( '    time.sleep( 1 ) ' )
+PyNextLoop.append( '    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ' )
+Loop,EndLoop = GraphStreams.LNode( 'Init' , PyLoop , 'More' , PyMoreLoop , 'Next' , PyNextLoop )
+EndLoop.SetName( 'EndLoop' )
+EndLoop.SetAuthor( '' )
+EndLoop.SetComment( '' )
+EndLoop.Coords( 1158 , 393 )
+PyEndLoop = []
+EndLoop.SetPyFunction( 'EndInit' , PyEndLoop )
+ILoopInitLoop = Loop.GetInPort( 'InitLoop' )
+ILoopIndex = Loop.InPort( 'Index' , 'long' )
+ILoopMin = Loop.InPort( 'Min' , 'long' )
+ILoopMax = Loop.InPort( 'Max' , 'long' )
+ILoopIncr = Loop.InPort( 'Incr' , 'long' )
+ILoopz_Div = Loop.InPort( 'z_Div' , 'double' )
+ILoopz_Div_1 = Loop.InPort( 'z_Div_1' , 'double' )
+ILoopy_Add = Loop.InPort( 'y_Add' , 'double' )
+ILoopx_Sub = Loop.InPort( 'x_Sub' , 'double' )
+ILoopGate = Loop.GetInPort( 'Gate' )
+OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+OLoopIndex = Loop.GetOutPort( 'Index' )
+OLoopMin = Loop.GetOutPort( 'Min' )
+OLoopMax = Loop.GetOutPort( 'Max' )
+OLoopIncr = Loop.GetOutPort( 'Incr' )
+OLoopz_Div = Loop.GetOutPort( 'z_Div' )
+OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
+OLoopy_Add = Loop.GetOutPort( 'y_Add' )
+OLoopx_Sub = Loop.GetOutPort( 'x_Sub' )
+IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+IEndLoopIndex = EndLoop.GetInPort( 'Index' )
+IEndLoopMin = EndLoop.GetInPort( 'Min' )
+IEndLoopMax = EndLoop.GetInPort( 'Max' )
+IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
+IEndLoopz_Div = EndLoop.GetInPort( 'z_Div' )
+IEndLoopz_Div_1 = EndLoop.GetInPort( 'z_Div_1' )
+IEndLoopy_Add = EndLoop.GetInPort( 'y_Add' )
+IEndLoopx_Sub = EndLoop.GetInPort( 'x_Sub' )
+IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
+OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
+OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
+OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
+OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
+Loop.SetName( 'Loop' )
+Loop.SetAuthor( '' )
+Loop.SetComment( '' )
+Loop.Coords( 5 , 391 )
+
+# Creation of Links
+LAddzSuby = GraphStreams.Link( OAddz , ISuby )
+LAddzSuby.AddCoord( 1 , 448 , 143 )
+LAddzSuby.AddCoord( 2 , 449 , 237 )
+
+LAddzMuly = GraphStreams.Link( OAddz , IMuly )
+LAddzMuly.AddCoord( 1 , 708 , 237 )
+LAddzMuly.AddCoord( 2 , 708 , 270 )
+LAddzMuly.AddCoord( 3 , 449 , 270 )
+LAddzMuly.AddCoord( 4 , 448 , 238 )
+
+LAddostreamSubistream = GraphStreams.StreamLink( OAddostream , ISubistream )
+LAddostreamSubistream.AddCoord( 1 , 474 , 175 )
+LAddostreamSubistream.AddCoord( 2 , 474 , 297 )
+
+LAddOStreamSubIstream = GraphStreams.StreamLink( OAddOStream , ISubIstream )
+LAddOStreamSubIstream.AddCoord( 1 , 497 , 207 )
+LAddOStreamSubIstream.AddCoord( 2 , 498 , 328 )
+
+LSubzMulx = GraphStreams.Link( OSubz , IMulx )
+LSubzMulx.AddCoord( 1 , 706 , 207 )
+LSubzMulx.AddCoord( 2 , 706 , 114 )
+
+LSubzDivx = GraphStreams.Link( OSubz , IDivx )
+
+LMulzDivy = GraphStreams.Link( OMulz , IDivy )
+LMulzDivy.AddCoord( 1 , 912 , 143 )
+LMulzDivy.AddCoord( 2 , 911 , 208 )
+
+LDivzEndLoopz_Div = GraphStreams.Link( ODivz , IEndLoopz_Div )
+LDivzEndLoopz_Div.AddCoord( 1 , 1147 , 537 )
+LDivzEndLoopz_Div.AddCoord( 2 , 1148 , 113 )
+
+LDivostreamAdd_1istream = GraphStreams.StreamLink( ODivostream , IAdd_1istream )
+LDivostreamAdd_1istream.AddCoord( 1 , 233 , 626 )
+LDivostreamAdd_1istream.AddCoord( 2 , 232 , 763 )
+LDivostreamAdd_1istream.AddCoord( 3 , 1126 , 763 )
+LDivostreamAdd_1istream.AddCoord( 4 , 1125 , 175 )
+
+LAdd_1zSub_1y = GraphStreams.Link( OAdd_1z , ISub_1y )
+LAdd_1zSub_1y.AddCoord( 1 , 445 , 478 )
+LAdd_1zSub_1y.AddCoord( 2 , 444 , 566 )
+
+LAdd_1zMul_1y = GraphStreams.Link( OAdd_1z , IMul_1y )
+LAdd_1zMul_1y.AddCoord( 1 , 703 , 582 )
+LAdd_1zMul_1y.AddCoord( 2 , 703 , 677 )
+LAdd_1zMul_1y.AddCoord( 3 , 445 , 678 )
+LAdd_1zMul_1y.AddCoord( 4 , 444 , 567 )
+
+LAdd_1ostreamSub_1istream = GraphStreams.StreamLink( OAdd_1ostream , ISub_1istream )
+LAdd_1ostreamSub_1istream.AddCoord( 1 , 473 , 511 )
+LAdd_1ostreamSub_1istream.AddCoord( 2 , 473 , 627 )
+
+LAdd_1OStreamSub_1Istream = GraphStreams.StreamLink( OAdd_1OStream , ISub_1Istream )
+LAdd_1OStreamSub_1Istream.AddCoord( 1 , 498 , 543 )
+LAdd_1OStreamSub_1Istream.AddCoord( 2 , 497 , 658 )
+
+LSub_1zMul_1x = GraphStreams.Link( OSub_1z , IMul_1x )
+LSub_1zMul_1x.AddCoord( 1 , 708 , 552 )
+LSub_1zMul_1x.AddCoord( 2 , 707 , 450 )
+
+LSub_1zDiv_1x = GraphStreams.Link( OSub_1z , IDiv_1x )
+
+LMul_1zDiv_1y = GraphStreams.Link( OMul_1z , IDiv_1y )
+LMul_1zDiv_1y.AddCoord( 1 , 913 , 479 )
+LMul_1zDiv_1y.AddCoord( 2 , 913 , 551 )
+
+LDiv_1zEndLoopz_Div_1 = GraphStreams.Link( ODiv_1z , IEndLoopz_Div_1 )
+LDiv_1zEndLoopz_Div_1.AddCoord( 1 , 1138 , 567 )
+LDiv_1zEndLoopz_Div_1.AddCoord( 2 , 1138 , 449 )
+
+LDiv_1ostreamAddistream = GraphStreams.StreamLink( ODiv_1ostream , IAddistream )
+LDiv_1ostreamAddistream.AddCoord( 1 , 229 , 297 )
+LDiv_1ostreamAddistream.AddCoord( 2 , 229 , 426 )
+LDiv_1ostreamAddistream.AddCoord( 3 , 475 , 425 )
+LDiv_1ostreamAddistream.AddCoord( 4 , 475 , 352 )
+LDiv_1ostreamAddistream.AddCoord( 5 , 1110 , 352 )
+LDiv_1ostreamAddistream.AddCoord( 6 , 1111 , 512 )
+
+LLoopIndexEndLoopIndex = GraphStreams.Link( OLoopIndex , IEndLoopIndex )
+
+LLoopIndexAddx = GraphStreams.Link( OLoopIndex , IAddx )
+LLoopIndexAddx.AddCoord( 1 , 201 , 236 )
+LLoopIndexAddx.AddCoord( 2 , 202 , 420 )
+
+LLoopIndexAdd_1x = GraphStreams.Link( OLoopIndex , IAdd_1x )
+LLoopIndexAdd_1x.AddCoord( 1 , 201 , 562 )
+LLoopIndexAdd_1x.AddCoord( 2 , 202 , 422 )
+
+LLoopMinEndLoopMin = GraphStreams.Link( OLoopMin , IEndLoopMin )
+
+LLoopMaxEndLoopMax = GraphStreams.Link( OLoopMax , IEndLoopMax )
+
+LLoopIncrEndLoopIncr = GraphStreams.Link( OLoopIncr , IEndLoopIncr )
+
+LLoopy_AddEndLoopy_Add = GraphStreams.Link( OLoopy_Add , IEndLoopy_Add )
+
+LLoopy_AddAddy = GraphStreams.Link( OLoopy_Add , IAddy )
+LLoopy_AddAddy.AddCoord( 1 , 183 , 266 )
+LLoopy_AddAddy.AddCoord( 2 , 182 , 593 )
+
+LLoopy_AddAdd_1y = GraphStreams.Link( OLoopy_Add , IAdd_1y )
+
+LLoopx_SubEndLoopx_Sub = GraphStreams.Link( OLoopx_Sub , IEndLoopx_Sub )
+
+LLoopx_SubSubx = GraphStreams.Link( OLoopx_Sub , ISubx )
+LLoopx_SubSubx.AddCoord( 1 , 167 , 113 )
+LLoopx_SubSubx.AddCoord( 2 , 167 , 625 )
+
+LLoopx_SubSub_1x = GraphStreams.Link( OLoopx_Sub , ISub_1x )
+LLoopx_SubSub_1x.AddCoord( 1 , 167 , 450 )
+LLoopx_SubSub_1x.AddCoord( 2 , 168 , 624 )
+
+# Input datas
+ILoopIndex.Input( 0 )
+ILoopMin.Input( 1 )
+ILoopMax.Input( 10 )
+ILoopIncr.Input( 1 )
+ILoopz_Div.Input( 0 )
+ILoopz_Div_1.Input( 0 )
+ILoopy_Add.Input( 4.5 )
+ILoopx_Sub.Input( 1.5 )
+
+# Output Ports of the graph
+#OLoopz_Div = Loop.GetOutPort( 'z_Div' )
+#OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
+#OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+#OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+#OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+#OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
+#OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
+#OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
+#OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
+#OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
+
+
+GraphStreams.Run()
+GraphStreams.DoneW()
+GraphStreams.State()
+
+GraphStreams.PrintPorts()
+
+subgraphs = GraphStreams.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreams.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreams.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreams.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+GraphStreams.Export('/tmp/GraphStreams.xml')
+
+GraphStreams = StreamGraph( '/tmp/GraphStreams.xml' )
+GraphStreams.Run()
+GraphStreams.DoneW()
+GraphStreams.PrintPorts()
+print GraphStreams.State()
+
+GraphStreams.IsExecutable()
+
+subgraphs = GraphStreams.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreams.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreams.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreams.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStreams.xml b/examples/GraphStreams.xml
new file mode 100644 (file)
index 0000000..c374a34
--- /dev/null
@@ -0,0 +1,973 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStreams</node-name>
+   <kind>9</kind>
+   <streamgraph-timeout>1000</streamgraph-timeout>
+   <streamgraph-datastreamtrace>1</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>1.5</streamgraph-deltatime>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStreams</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Loop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Loop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Loop\Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Loop\Incr</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Loop\z_Div</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Loop\z_Div_1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Loop\y_Add</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Loop\x_Sub</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Loop\z_Div</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Loop\z_Div_1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndLoop\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndLoop\Incr</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndLoop\z_Div</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndLoop\z_Div_1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndLoop\y_Add</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndLoop\x_Sub</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>23/4/2004 - 18:20:13</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>JR</author>
+   <container>?</container>
+   <comment>Graph with DataStreamPorts CEA/EDF : Calcium</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>10</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Add from DataStreamFactory</comment>
+   <x-position>255</x-position>
+   <y-position>171</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Sub from DataStreamFactory</comment>
+   <x-position>519</x-position>
+   <y-position>48</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Mul from DataStreamFactory</comment>
+   <x-position>724</x-position>
+   <y-position>142</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Div from DataStreamFactory</comment>
+   <x-position>935</x-position>
+   <y-position>48</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Add_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from DataStreamFactory</comment>
+   <x-position>252</x-position>
+   <y-position>499</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Sub_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from DataStreamFactory</comment>
+   <x-position>516</x-position>
+   <y-position>385</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Mul_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from DataStreamFactory</comment>
+   <x-position>731</x-position>
+   <y-position>487</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>Div_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DataStreamFactory</comment>
+   <x-position>931</x-position>
+   <y-position>385</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Loop</node-name>
+   <kind>4</kind>
+   <coupled-node>EndLoop</coupled-node>
+   <service>
+<service-name>Loop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Incr</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z_Div</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z_Div_1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y_Add</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x_Sub</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Incr</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z_Div</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z_Div_1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>y_Add</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x_Sub</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[import time ]]></PyFunc>
+     <PyFunc><![CDATA[def Init(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ]]></PyFunc>
+     <PyFunc><![CDATA[    if Min <= Max :   ]]></PyFunc>
+     <PyFunc><![CDATA[        Index = Min   ]]></PyFunc>
+     <PyFunc><![CDATA[    else :   ]]></PyFunc>
+     <PyFunc><![CDATA[        Index = Max   ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep( 1 ) ]]></PyFunc>
+     <PyFunc><![CDATA[    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[import time ]]></PyFunc>
+     <PyFunc><![CDATA[def More(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ]]></PyFunc>
+     <PyFunc><![CDATA[    if Index < Max :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+     <PyFunc><![CDATA[    else :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep( 1 ) ]]></PyFunc>
+     <PyFunc><![CDATA[    return DoLoop,Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[import time ]]></PyFunc>
+     <PyFunc><![CDATA[def Next(Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub) :   ]]></PyFunc>
+     <PyFunc><![CDATA[    Index = Index + Incr   ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep( 1 ) ]]></PyFunc>
+     <PyFunc><![CDATA[    return Index,Min,Max,Incr,Z_Div,Z_Div_1,y_Add,x_Sub ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>5</x-position>
+   <y-position>391</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndLoop</node-name>
+   <kind>5</kind>
+   <coupled-node>Loop</coupled-node>
+   <service>
+<service-name>EndLoop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Incr</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z_Div</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z_Div_1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y_Add</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x_Sub</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Incr</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z_Div</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z_Div_1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>y_Add</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x_Sub</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndInit</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>21/5/2004 - 10:32:29</creation-date>
+   <lastmodification-date>21/5/2004 - 10:32:29</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1158</x-position>
+   <y-position>393</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>448</x>
+     <y>143</y>    </coord>
+    <coord>
+<x>449</x>
+     <y>237</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>708</x>
+     <y>237</y>    </coord>
+    <coord>
+<x>708</x>
+     <y>270</y>    </coord>
+    <coord>
+<x>449</x>
+     <y>270</y>    </coord>
+    <coord>
+<x>448</x>
+     <y>238</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>474</x>
+     <y>175</y>    </coord>
+    <coord>
+<x>474</x>
+     <y>297</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>Istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>497</x>
+     <y>207</y>    </coord>
+    <coord>
+<x>498</x>
+     <y>328</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>706</x>
+     <y>207</y>    </coord>
+    <coord>
+<x>706</x>
+     <y>114</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>912</x>
+     <y>143</y>    </coord>
+    <coord>
+<x>911</x>
+     <y>208</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Div</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>z_Div</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1147</x>
+     <y>537</y>    </coord>
+    <coord>
+<x>1148</x>
+     <y>113</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Div</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Add_1</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>233</x>
+     <y>626</y>    </coord>
+    <coord>
+<x>232</x>
+     <y>763</y>    </coord>
+    <coord>
+<x>1126</x>
+     <y>763</y>    </coord>
+    <coord>
+<x>1125</x>
+     <y>175</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>445</x>
+     <y>478</y>    </coord>
+    <coord>
+<x>444</x>
+     <y>566</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>703</x>
+     <y>582</y>    </coord>
+    <coord>
+<x>703</x>
+     <y>677</y>    </coord>
+    <coord>
+<x>445</x>
+     <y>678</y>    </coord>
+    <coord>
+<x>444</x>
+     <y>567</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>473</x>
+     <y>511</y>    </coord>
+    <coord>
+<x>473</x>
+     <y>627</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>Istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>498</x>
+     <y>543</y>    </coord>
+    <coord>
+<x>497</x>
+     <y>658</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>708</x>
+     <y>552</y>    </coord>
+    <coord>
+<x>707</x>
+     <y>450</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Mul_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>913</x>
+     <y>479</y>    </coord>
+    <coord>
+<x>913</x>
+     <y>551</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Div_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>z_Div_1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1138</x>
+     <y>567</y>    </coord>
+    <coord>
+<x>1138</x>
+     <y>449</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Div_1</fromnode-name>
+   <fromserviceparameter-name>ostream</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>229</x>
+     <y>297</y>    </coord>
+    <coord>
+<x>229</x>
+     <y>426</y>    </coord>
+    <coord>
+<x>475</x>
+     <y>425</y>    </coord>
+    <coord>
+<x>475</x>
+     <y>352</y>    </coord>
+    <coord>
+<x>1110</x>
+     <y>352</y>    </coord>
+    <coord>
+<x>1111</x>
+     <y>512</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>201</x>
+     <y>236</y>    </coord>
+    <coord>
+<x>202</x>
+     <y>420</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>Add_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>201</x>
+     <y>562</y>    </coord>
+    <coord>
+<x>202</x>
+     <y>422</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Min</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Max</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>Incr</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>Incr</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>y_Add</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>y_Add</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>y_Add</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>183</x>
+     <y>266</y>    </coord>
+    <coord>
+<x>182</x>
+     <y>593</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>y_Add</fromserviceparameter-name>
+   <tonode-name>Add_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
+   <tonode-name>EndLoop</tonode-name>
+   <toserviceparameter-name>x_Sub</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>167</x>
+     <y>113</y>    </coord>
+    <coord>
+<x>167</x>
+     <y>625</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Loop</fromnode-name>
+   <fromserviceparameter-name>x_Sub</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>167</x>
+     <y>450</y>    </coord>
+    <coord>
+<x>168</x>
+     <y>624</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\Index</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\Min</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\Max</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\Incr</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>Incr</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\z_Div</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>z_Div</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\z_Div_1</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>z_Div_1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\y_Add</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>y_Add</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4.5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStreams</fromnode-name>
+   <fromserviceparameter-name>Loop\x_Sub</fromserviceparameter-name>
+   <tonode-name>Loop</tonode-name>
+   <toserviceparameter-name>x_Sub</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1.5</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphStreamsXmlTest.py b/examples/GraphStreamsXmlTest.py
new file mode 100644 (file)
index 0000000..37799a2
--- /dev/null
@@ -0,0 +1,111 @@
+from SuperV import *
+
+FlowGraph = Graph( 'FlowGraph' )
+Add = FlowGraph.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+
+Sub = FlowGraph.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Addz = Add.GetOutStreamPort( 'z' )
+if Addz != None :
+    print "Error : GetOutStreamPort of a FlowPort in a FlowGraph"
+else :
+    print 'None : Ok'
+
+Addz = Add.Port( 'z' )
+try :
+    Suby = FlowGraph.StreamLink( Addz , Sub.Port( 'y' ) )
+    print "Error : creation of a StreamLink in a FlowGraph"
+except :
+    print "Ok"
+
+links = FlowGraph.StreamLinks()
+if len(links) != 0 :
+    print "Error : StreamLinks in a FlowGraph"
+
+ports = FlowGraph.StreamPorts()
+if len( ports ) != 0 :
+    print "Error : StreamPorts in a FlowGraph"
+
+links = Add.StreamLinks()
+if len(links) != 0 :
+    print "Error : StreamLinks in a FlowNode"
+
+ports = Add.StreamPorts()
+if len( ports ) != 0 :
+    print "Error : StreamPorts in a FlowNode"
+
+try :
+    FlowGraph.SetStreamParams( 100 , SUPERV.WithoutTrace , 10. )
+except :
+    print "No SetStreamParams Ok"
+
+try :
+    Timeout,DataStreamTrace,DeltaTime = FlowGraph.StreamParams()
+except :
+    print "No StreamParams Ok"
+
+
+
+
+from SuperV import *
+GraphStreams = StreamGraph( '/home/Salome2/SUPERV_DataStream/SUPERV_SRC/examples/GraphStreams.xml')
+
+GraphStreams.PrintPorts()
+GraphStreams.PrintLinks()
+
+exec GraphStreams.ListNodes()
+Add.PrintPorts()
+Add.PrintLinks()
+
+exec Loop.ListPorts()
+ILoopIndex.Print()
+OLoopIndex.Print()
+exec EndLoop.ListPorts()
+IEndLoopGate.Print()
+OEndLoopx_Sub.Print()
+exec Add.ListPorts()
+IAddx.Print()
+IAddistream.Print()
+OAddOStream.Print()
+exec Sub.ListPorts()
+exec Mul.ListPorts()
+exec Div.ListPorts()
+exec Add_1.ListPorts()
+exec Sub_1.ListPorts()
+exec Mul_1.ListPorts()
+exec Div_1.ListPorts()
+exec  Add.ListLinks()
+LLoopIndexAddx.Print()
+LAddzMuly.Print()
+LDiv_1ostreamAddistream.Print()
+LAddOStreamSubIstream.Print()
+
+
+GraphStreams.IsExecutable()
+
+GraphStreams.Run()
+GraphStreams.DoneW()
+GraphStreams.PrintPorts()
+
+
+
+subgraphs = GraphStreams.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreams.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreams.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreams.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
diff --git a/examples/GraphStreams_1.cpl b/examples/GraphStreams_1.cpl
new file mode 100644 (file)
index 0000000..799f81e
--- /dev/null
@@ -0,0 +1,55 @@
+DEBUT  GraphStreams_1
+       TIMEOUT 1000
+       TRACE   SUCCINT
+       DELTA_T 1.5
+
+
+# Liste des codes
+
+       CODE    Add
+               istream I       IN      ENTIER
+               ostream I       OUT     ENTIER
+               OStream I       OUT     ENTIER
+       FIN     #Add
+
+
+       CODE    Div
+               ostream I       OUT     ENTIER
+       FIN     #Div
+
+
+       CODE    Sub
+               istream I       IN      ENTIER
+               Istream I       IN      ENTIER
+       FIN     #Sub
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Add
+               CODE    Add
+       FIN
+
+       INSTANCE        Sub
+               CODE    Sub
+       FIN
+
+       INSTANCE        Div_1
+               CODE    Div
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Add.ostream     0               =>      Sub.istream     SCHENULL        INTERNULL       EXTRANULL ;
+               Add.OStream     10              =>      Sub.Istream     SCHENULL        INTERNULL       EXTRANULL ;
+               Div_1.ostream   0               =>      Add.istream     SCHENULL        INTERNULL       EXTRANULL ;
+       FIN
+
+FIN
diff --git a/examples/GraphStreams_2.cpl b/examples/GraphStreams_2.cpl
new file mode 100644 (file)
index 0000000..3a8205c
--- /dev/null
@@ -0,0 +1,55 @@
+DEBUT  GraphStreams_2
+       TIMEOUT 1000
+       TRACE   SUCCINT
+       DELTA_T 1.5
+
+
+# Liste des codes
+
+       CODE    Add
+               istream I       IN      ENTIER
+               ostream I       OUT     ENTIER
+               OStream I       OUT     ENTIER
+       FIN     #Add
+
+
+       CODE    Div
+               ostream I       OUT     ENTIER
+       FIN     #Div
+
+
+       CODE    Sub
+               istream I       IN      ENTIER
+               Istream I       IN      ENTIER
+       FIN     #Sub
+
+
+
+
+# Liste des instances
+
+       INSTANCE        Div
+               CODE    Div
+       FIN
+
+       INSTANCE        Add_1
+               CODE    Add
+       FIN
+
+       INSTANCE        Sub_1
+               CODE    Sub
+       FIN
+
+
+
+
+
+# Liste des liens
+
+       LIEN
+               Div.ostream     0               =>      Add_1.istream   SCHENULL        INTERNULL       EXTRANULL ;
+               Add_1.ostream   0               =>      Sub_1.istream   SCHENULL        INTERNULL       EXTRANULL ;
+               Add_1.OStream   0               =>      Sub_1.Istream   SCHENULL        INTERNULL       EXTRANULL ;
+       FIN
+
+FIN
index 6e82ad302550ae280a9abd9d72213b336b50b378..51a98e6b5cf45433ddc4284a38572759abc07f91 100644 (file)
@@ -13,66 +13,118 @@ GraphSwitch.Coords( 0 , 0 )
 
 # Creation of InLine Nodes
 PyIsOdd = []
-PyIsOdd.append( 'import time' )
-PyIsOdd.append( 'def IsOdd(a) :   ' )
-PyIsOdd.append( '    print a,"IsOdd"  ' )
-PyIsOdd.append( '    time.sleep( 1 )' )
-PyIsOdd.append( '    return a ' )
+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 = GraphSwitch.INode( 'IsOdd' , PyIsOdd )
-IsOdd.InPort( 'a' , 'long' )
-IsOdd.OutPort( 'a' , 'long' )
 IsOdd.SetName( 'IsOdd' )
 IsOdd.SetAuthor( '' )
 IsOdd.SetComment( 'Python function' )
-IsOdd.Coords( 296 , 249 )
+IsOdd.Coords( 388 , 50 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoopSwitch = []
+PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoopSwitch.append( '     return Index,Min,Max     ' )
+PyMoreInitLoopSwitch = []
+PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoopSwitch.append( ' if Index <= Max :   ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 1     ' )
+PyMoreInitLoopSwitch.append( ' else :     ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 0     ' )
+PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max     ' )
+PyNextInitLoopSwitch = []
+PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoopSwitch.append( ' Index = Index + 1     ' )
+PyNextInitLoopSwitch.append( ' return Index,Min,Max     ' )
+InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitch.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+EndOfInitLoopSwitch.SetAuthor( '' )
+EndOfInitLoopSwitch.SetComment( '' )
+EndOfInitLoopSwitch.Coords( 766 , 127 )
+InitLoopSwitch.SetName( 'InitLoopSwitch' )
+InitLoopSwitch.SetAuthor( '' )
+InitLoopSwitch.SetComment( '' )
+InitLoopSwitch.Coords( 10 , 129 )
+InitLoopSwitch.InPort( 'Index' , 'long' )
+InitLoopSwitch.InPort( 'Min' , 'long' )
+InitLoopSwitch.InPort( 'Max' , 'long' )
+InitLoopSwitch.OutPort( 'Index' , 'long' )
+InitLoopSwitch.OutPort( 'Min' , 'long' )
+InitLoopSwitch.OutPort( 'Max' , 'long' )
 
 # Creation of Switch Nodes
 PySwitch = []
-PySwitch.append( 'import time' )
-PySwitch.append( 'def Switch(a) :  ' )
-PySwitch.append( '    time.sleep( 1 )' )
-PySwitch.append( '    return a & 1,a ' )
-Switch,EndSwitch = GraphSwitch.SNode( 'Switch' , PySwitch )
-EndSwitch.SetName( 'EndSwitch' )
-EndSwitch.SetAuthor( '' )
-EndSwitch.SetComment( '' )
-EndSwitch.Coords( 569 , 94 )
-PyEndSwitch = []
-EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
-EndSwitch.InPort( 'a' , 'long' )
-EndSwitch.OutPort( 'a' , 'long' )
-Switch.InPort( 'a' , 'long' )
-Switch.OutPort( 'Odd' , 'long' )
-Switch.OutPort( 'a' , 'long' )
+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 = GraphSwitch.SNode( 'Switch' , PySwitch )
+EndOfSwitch.SetName( 'EndOfSwitch' )
+EndOfSwitch.SetAuthor( '' )
+EndOfSwitch.SetComment( '' )
+EndOfSwitch.Coords( 587 , 126 )
+PyEndOfSwitch = []
+EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
+EndOfSwitch.InPort( 'a' , 'long' )
+EndOfSwitch.OutPort( 'a' , 'long' )
 Switch.SetName( 'Switch' )
 Switch.SetAuthor( '' )
 Switch.SetComment( '' )
-Switch.Coords( 25 , 94 )
+Switch.Coords( 186 , 130 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 IsOdda = IsOdd.Port( 'a' )
-EndSwitcha = GraphSwitch.Link( IsOdda , EndSwitch.Port( 'a' ) )
-SwitchDefault = Switch.Port( 'Default' )
-EndSwitchDefault = GraphSwitch.Link( SwitchDefault , EndSwitch.Port( 'Default' ) )
+EndOfSwitcha = GraphSwitch.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 571 , 161 )
+EndOfSwitcha.AddCoord( 2 , 571 , 131 )
+
+InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
+Switcha = GraphSwitch.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
+
+InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMin = GraphSwitch.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
+
+InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
+EndOfInitLoopSwitchMax = GraphSwitch.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
+
 SwitchOdd = Switch.Port( 'Odd' )
 IsOddInGate = GraphSwitch.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
-IsOddInGate.AddCoord( 1 , 249 , 323 )
-IsOddInGate.AddCoord( 2 , 249 , 157 )
-IsOddInGate.AddCoord( 3 , 247 , 157 )
+
 Switcha = Switch.Port( 'a' )
 IsOdda = GraphSwitch.Link( Switcha , IsOdd.Port( 'a' ) )
-IsOdda.AddCoord( 1 , 196 , 357 )
-IsOdda.AddCoord( 2 , 196 , 186 )
+IsOdda.AddCoord( 1 , 372 , 129 )
+IsOdda.AddCoord( 2 , 371 , 223 )
+
+SwitchDefault = Switch.Port( 'Default' )
+EndOfSwitchDefault = GraphSwitch.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
+EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+
+EndOfSwitcha = EndOfSwitch.Port( 'a' )
+EndOfInitLoopSwitchIndex = GraphSwitch.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
 
 # Creation of Input datas
-Switcha = Switch.Input( 'a' , 2)
+InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
+InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
+InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
 
 # Creation of Output variables
-EndSwitcha = EndSwitch.Port( 'a' )
+EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
+EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
+SwitchEven = Switch.Port( 'Even' )
 
 GraphSwitch.Run()
-
 GraphSwitch.DoneW()
-
+GraphSwitch.State()
 GraphSwitch.PrintPorts()
-
index 49076f6e43aa28b23649b9d455fd94037eb9808e..5267cfce6d268814313ccb5d85a8b6d1dc5aa06e 100644 (file)
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
-      <inParameter-name>Switch\a</inParameter-name>     </inParameter>    </inParameter-list>
+      <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>EndSwitch\a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>24/3/2003 - 15:32:28</creation-date>
-   <lastmodification-date>24/3/2003 - 15:35:29</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>1/10/2003 - 17:23:54</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
    <PyFunction-list>
 <PyFunction>
 <FuncName>IsOdd</FuncName>
-     <PyFunc><![CDATA[def IsOdd(a) :   ]]></PyFunc>
-     <PyFunc><![CDATA[    print a,"IsOdd"  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>24/3/2003 - 15:34:50</creation-date>
-   <lastmodification-date>24/3/2003 - 15:34:50</lastmodification-date>
-   <editor-release>1.04</editor-release>
+     <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>13/10/2003 - 10:53:44</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>296</x-position>
-   <y-position>249</y-position>  </node>
+   <x-position>388</x-position>
+   <y-position>50</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>
+   <Parameter-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>13/10/2003 - 10:53:44</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>129</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>13/10/2003 - 10:53:44</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>766</x-position>
+   <y-position>127</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
    <node-name>Switch</node-name>
    <kind>6</kind>
-   <coupled-node>EndSwitch</coupled-node>
+   <coupled-node>EndOfSwitch</coupled-node>
    <service>
 <service-name>Switch</service-name>
     <inParameter-list>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>Odd</outParameter-name>     </outParameter>
      <outParameter>
-<outParameter-type>long</outParameter-type>
+<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>
    <Parameter-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch</FuncName>
-     <PyFunc><![CDATA[def Switch(a) :  ]]></PyFunc>
-     <PyFunc><![CDATA[    return a & 1,a ]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>24/3/2003 - 15:34:50</creation-date>
-   <lastmodification-date>24/3/2003 - 15:34:50</lastmodification-date>
-   <editor-release>1.04</editor-release>
+     <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>13/10/2003 - 10:53:44</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>25</x-position>
-   <y-position>94</y-position>  </node>
+   <x-position>186</x-position>
+   <y-position>130</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
-   <node-name>EndSwitch</node-name>
+   <node-name>EndOfSwitch</node-name>
    <kind>7</kind>
    <coupled-node>Switch</coupled-node>
    <service>
-<service-name>EndSwitch</service-name>
+<service-name>EndOfSwitch</service-name>
     <inParameter-list>
 <inParameter>
 <inParameter-type>long</inParameter-type>
    <Parameter-list/>
    <PyFunction-list>
 <PyFunction/>   </PyFunction-list>
-   <creation-date>24/3/2003 - 15:34:50</creation-date>
-   <lastmodification-date>24/3/2003 - 15:34:50</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>13/10/2003 - 10:53:44</creation-date>
+   <lastmodification-date>13/10/2003 - 10:53:44</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>569</x-position>
-   <y-position>94</y-position>  </node> </node-list>
+   <x-position>587</x-position>
+   <y-position>126</y-position>  </node> </node-list>
  <link-list>
 <link>
 <fromnode-name>IsOdd</fromnode-name>
    <fromserviceparameter-name>a</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
+   <tonode-name>EndOfSwitch</tonode-name>
    <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>571</x>
+     <y>161</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>131</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>InitLoopSwitch</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoopSwitch</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
-<fromnode-name>Switch</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndSwitch</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
+<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>InitLoop</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
 <fromnode-name>Switch</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
    <tonode-name>IsOdd</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list>
-<coord>
-<x>249</x>
-     <y>323</y>    </coord>
-    <coord>
-<x>249</x>
-     <y>157</y>    </coord>
-    <coord>
-<x>247</x>
-     <y>157</y>    </coord>   </coord-list>  </link>
+   <coord-list/>  </link>
   <link>
 <fromnode-name>Switch</fromnode-name>
    <fromserviceparameter-name>a</fromserviceparameter-name>
    <toserviceparameter-name>a</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>196</x>
-     <y>357</y>    </coord>
+<x>372</x>
+     <y>129</y>    </coord>
+    <coord>
+<x>371</x>
+     <y>223</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>572</x>
+     <y>194</y>    </coord>
     <coord>
-<x>196</x>
-     <y>186</y>    </coord>   </coord-list>  </link> </link-list>
+<x>571</x>
+     <y>257</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-list>
  <data-list>
 <data>
 <fromnode-name>GraphSwitch</fromnode-name>
-   <fromserviceparameter-name>Switch\a</fromserviceparameter-name>
-   <tonode-name>Switch</tonode-name>
-   <toserviceparameter-name>a</toserviceparameter-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>GraphSwitch</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitch</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>2</value>   </data-value>
+    <value>100</value>   </data-value>
    <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphSwitch1.py b/examples/GraphSwitch1.py
new file mode 100755 (executable)
index 0000000..fd38739
--- /dev/null
@@ -0,0 +1,131 @@
+
+# Generated python file of Graph GraphSwitch1
+
+from SuperV import *
+# Graph creation 
+GraphSwitch1 = Graph( 'GraphSwitch1' )
+GraphSwitch1.SetName( 'GraphSwitch1' )
+GraphSwitch1.SetAuthor( '' )
+GraphSwitch1.SetComment( '' )
+GraphSwitch1.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 = GraphSwitch1.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 388 , 50 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoop = []
+PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoop.append( '   return Index,Min,Max     ' )
+PyMoreInitLoop = []
+PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoop.append( '       if Index <= Max :   ' )
+PyMoreInitLoop.append( '               DoLoop = 1     ' )
+PyMoreInitLoop.append( '       else :     ' )
+PyMoreInitLoop.append( '               DoLoop = 0     ' )
+PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
+PyNextInitLoop = []
+PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoop.append( '       Index = Index + 1     ' )
+PyNextInitLoop.append( '       return Index,Min,Max     ' )
+InitLoop,EndOfInitLoop = GraphSwitch1.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 766 , 127 )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 10 , 129 )
+InitLoop.InPort( 'Index' , 'long' )
+InitLoop.InPort( 'Min' , 'long' )
+InitLoop.InPort( 'Max' , 'long' )
+InitLoop.OutPort( 'Index' , 'long' )
+InitLoop.OutPort( 'Min' , 'long' )
+InitLoop.OutPort( 'Max' , 'long' )
+
+# 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 = GraphSwitch1.SNode( 'Switch' , PySwitch )
+EndOfSwitch.SetName( 'EndOfSwitch' )
+EndOfSwitch.SetAuthor( '' )
+EndOfSwitch.SetComment( '' )
+EndOfSwitch.Coords( 587 , 126 )
+PyEndOfSwitch = []
+EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
+EndOfSwitch.InPort( 'a' , 'long' )
+EndOfSwitch.OutPort( 'a' , 'long' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 186 , 130 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
+
+# Creation of Links
+IsOdda = IsOdd.Port( 'a' )
+EndOfSwitcha = GraphSwitch1.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 571 , 161 )
+EndOfSwitcha.AddCoord( 2 , 571 , 131 )
+
+InitLoopIndex = InitLoop.Port( 'Index' )
+Switcha = GraphSwitch1.Link( InitLoopIndex , Switch.Port( 'a' ) )
+
+InitLoopMin = InitLoop.Port( 'Min' )
+EndOfInitLoopMin = GraphSwitch1.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
+
+InitLoopMax = InitLoop.Port( 'Max' )
+EndOfInitLoopMax = GraphSwitch1.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
+
+SwitchOdd = Switch.Port( 'Odd' )
+IsOddInGate = GraphSwitch1.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
+
+SwitchEven = Switch.Port( 'Even' )
+EndOfSwitchDefault = GraphSwitch1.Link( SwitchEven , EndOfSwitch.Port( 'Default' ) )
+
+Switcha = Switch.Port( 'a' )
+IsOdda = GraphSwitch1.Link( Switcha , IsOdd.Port( 'a' ) )
+IsOdda.AddCoord( 1 , 372 , 129 )
+IsOdda.AddCoord( 2 , 371 , 223 )
+
+EndOfSwitcha = GraphSwitch1.Link( Switcha , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 571 , 161 )
+EndOfSwitcha.AddCoord( 2 , 570 , 221 )
+
+EndOfSwitcha = EndOfSwitch.Port( 'a' )
+EndOfInitLoopIndex = GraphSwitch1.Link( EndOfSwitcha , EndOfInitLoop.Port( 'Index' ) )
+
+# Creation of Input datas
+InitLoopIndex = InitLoop.Input( 'Index' , 0)
+InitLoopMin = InitLoop.Input( 'Min' , 0)
+InitLoopMax = InitLoop.Input( 'Max' , 100)
+
+# Creation of Output variables
+EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
+EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
+EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
+
+GraphSwitch1.Run()
+GraphSwitch1.DoneW()
+GraphSwitch1.State()
+GraphSwitch1.PrintPorts()
diff --git a/examples/GraphSwitch1.xml b/examples/GraphSwitch1.xml
new file mode 100755 (executable)
index 0000000..ad2f10e
--- /dev/null
@@ -0,0 +1,348 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphSwitch1</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphSwitch1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:12:48</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-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>13/10/2003 - 10:54:20</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>388</x-position>
+   <y-position>50</y-position>  </node>
+  <node>
+<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>
+   <Parameter-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>13/10/2003 - 10:54:20</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>129</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>13/10/2003 - 10:54:20</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>766</x-position>
+   <y-position>127</y-position>  </node>
+  <node>
+<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>
+   <Parameter-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>13/10/2003 - 10:54:20</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>186</x-position>
+   <y-position>130</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>13/10/2003 - 10:54:20</creation-date>
+   <lastmodification-date>13/10/2003 - 10:54:20</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>126</y-position>  </node> </node-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>161</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>131</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>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>372</x>
+     <y>129</y>    </coord>
+    <coord>
+<x>371</x>
+     <y>223</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>
+<coord>
+<x>571</x>
+     <y>161</y>    </coord>
+    <coord>
+<x>570</x>
+     <y>221</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitch1</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>GraphSwitch1</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>GraphSwitch1</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphSwitchCrash.py b/examples/GraphSwitchCrash.py
new file mode 100755 (executable)
index 0000000..42fa59c
--- /dev/null
@@ -0,0 +1,237 @@
+
+# Generated python file of Graph GraphSwitchCrash
+
+from SuperV import *
+# Graph creation 
+GraphSwitchCrash = Graph( 'GraphSwitchCrash' )
+GraphSwitchCrash.SetName( 'GraphSwitchCrash' )
+GraphSwitchCrash.SetAuthor( '' )
+GraphSwitchCrash.SetComment( '' )
+GraphSwitchCrash.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyIsOdd = []
+PyIsOdd.append( 'from time import *   ' )
+PyIsOdd.append( 'def IsOdd(a) :       ' )
+PyIsOdd.append( '    print a,"IsOdd (PyIsOdd)"      ' )
+PyIsOdd.append( '    sleep( 1 )   ' )
+PyIsOdd.append( '    return a     ' )
+IsOdd = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 388 , 50 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.OutPort( 'a' , 'long' )
+
+PyIsOdd_1 = []
+PyIsOdd_1.append( 'from time import *    ' )
+PyIsOdd_1.append( 'def IsOdd(a,Even) :        ' )
+PyIsOdd_1.append( '    print a,"IsOdd (PyIsOdd_1)"       ' )
+PyIsOdd_1.append( '    sleep( 1 )    ' )
+PyIsOdd_1.append( '    return a      ' )
+IsOdd_1 = GraphSwitchCrash.INode( 'IsOdd' , PyIsOdd_1 )
+IsOdd_1.SetName( 'IsOdd_1' )
+IsOdd_1.SetAuthor( '' )
+IsOdd_1.SetComment( 'Python function' )
+IsOdd_1.Coords( 419 , 279 )
+IsOdd_1.InPort( 'a' , 'long' )
+IsOdd_1.InPort( 'Even' , 'boolean' )
+IsOdd_1.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoopSwitch = []
+PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoopSwitch.append( '     return Index,Min,Max     ' )
+PyMoreInitLoopSwitch = []
+PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoopSwitch.append( ' if Index <= Max :   ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 1     ' )
+PyMoreInitLoopSwitch.append( ' else :     ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 0     ' )
+PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max     ' )
+PyNextInitLoopSwitch = []
+PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoopSwitch.append( ' Index = Index + 1     ' )
+PyNextInitLoopSwitch.append( ' return Index,Min,Max     ' )
+InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+EndOfInitLoopSwitch.SetAuthor( '' )
+EndOfInitLoopSwitch.SetComment( '' )
+EndOfInitLoopSwitch.Coords( 766 , 127 )
+InitLoopSwitch.SetName( 'InitLoopSwitch' )
+InitLoopSwitch.SetAuthor( '' )
+InitLoopSwitch.SetComment( '' )
+InitLoopSwitch.Coords( 10 , 129 )
+InitLoopSwitch.InPort( 'Index' , 'long' )
+InitLoopSwitch.InPort( 'Min' , 'long' )
+InitLoopSwitch.InPort( 'Max' , 'long' )
+InitLoopSwitch.OutPort( 'Index' , 'long' )
+InitLoopSwitch.OutPort( 'Min' , 'long' )
+InitLoopSwitch.OutPort( 'Max' , 'long' )
+
+PyInitLoop = []
+PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoop.append( '   return Index,Min,Max     ' )
+PyMoreInitLoop = []
+PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoop.append( '       if Index <= Max :   ' )
+PyMoreInitLoop.append( '               DoLoop = 1     ' )
+PyMoreInitLoop.append( '       else :     ' )
+PyMoreInitLoop.append( '               DoLoop = 0     ' )
+PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
+PyNextInitLoop = []
+PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoop.append( '       Index = Index + 1     ' )
+PyNextInitLoop.append( '       return Index,Min,Max     ' )
+InitLoop,EndOfInitLoop = GraphSwitchCrash.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 783 , 381 )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 10 , 388 )
+InitLoop.InPort( 'Index' , 'long' )
+InitLoop.InPort( 'Min' , 'long' )
+InitLoop.InPort( 'Max' , 'long' )
+InitLoop.OutPort( 'Index' , 'long' )
+InitLoop.OutPort( 'Min' , 'long' )
+InitLoop.OutPort( 'Max' , 'long' )
+
+# Creation of Switch Nodes
+PySwitch = []
+PySwitch.append( 'from time import * ' )
+PySwitch.append( 'def Switch(a) :   ' )
+PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+PySwitch.append( '        sleep(1)    ' )
+PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+Switch,EndOfSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch )
+EndOfSwitch.SetName( 'EndOfSwitch' )
+EndOfSwitch.SetAuthor( '' )
+EndOfSwitch.SetComment( '' )
+EndOfSwitch.Coords( 587 , 126 )
+PyEndOfSwitch = []
+EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
+EndOfSwitch.InPort( 'a' , 'long' )
+EndOfSwitch.OutPort( 'a' , 'long' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 186 , 130 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
+
+PySwitch_1 = []
+PySwitch_1.append( 'from time import *  ' )
+PySwitch_1.append( 'def Switch(a) :    ' )
+PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+PySwitch_1.append( '        sleep(1)  ' )
+PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+Switch_1,EndSwitch = GraphSwitchCrash.SNode( 'Switch' , PySwitch_1 )
+EndSwitch.SetName( 'EndSwitch' )
+EndSwitch.SetAuthor( '' )
+EndSwitch.SetComment( '' )
+EndSwitch.Coords( 605 , 382 )
+PyEndSwitch = []
+EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+EndSwitch.InPort( 'a' , 'long' )
+EndSwitch.OutPort( 'a' , 'long' )
+Switch_1.SetName( 'Switch_1' )
+Switch_1.SetAuthor( '' )
+Switch_1.SetComment( '' )
+Switch_1.Coords( 193 , 388 )
+Switch_1.InPort( 'a' , 'long' )
+Switch_1.OutPort( 'Odd' , 'long' )
+Switch_1.OutPort( 'Even' , 'int' )
+Switch_1.OutPort( 'a' , 'int' )
+
+# Creation of Links
+IsOdda = IsOdd.Port( 'a' )
+EndOfSwitcha = GraphSwitchCrash.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 573 , 160 )
+EndOfSwitcha.AddCoord( 2 , 572 , 130 )
+
+InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
+Switcha = GraphSwitchCrash.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
+
+InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMin = GraphSwitchCrash.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
+
+InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
+EndOfInitLoopSwitchMax = GraphSwitchCrash.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
+
+SwitchOdd = Switch.Port( 'Odd' )
+IsOddInGate = GraphSwitchCrash.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
+
+Switcha = Switch.Port( 'a' )
+IsOdda = GraphSwitchCrash.Link( Switcha , IsOdd.Port( 'a' ) )
+IsOdda.AddCoord( 1 , 365 , 129 )
+IsOdda.AddCoord( 2 , 365 , 222 )
+
+SwitchDefault = Switch.Port( 'Default' )
+EndOfSwitchDefault = GraphSwitchCrash.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
+EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+
+EndOfSwitcha = EndOfSwitch.Port( 'a' )
+EndOfInitLoopSwitchIndex = GraphSwitchCrash.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
+
+IsOdd_1a = IsOdd_1.Port( 'a' )
+EndSwitcha = GraphSwitchCrash.Link( IsOdd_1a , EndSwitch.Port( 'a' ) )
+EndSwitcha.AddCoord( 1 , 599 , 416 )
+EndSwitcha.AddCoord( 2 , 598 , 358 )
+
+InitLoopIndex = InitLoop.Port( 'Index' )
+Switch_1a = GraphSwitchCrash.Link( InitLoopIndex , Switch_1.Port( 'a' ) )
+
+InitLoopMin = InitLoop.Port( 'Min' )
+EndOfInitLoopMin = GraphSwitchCrash.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
+
+InitLoopMax = InitLoop.Port( 'Max' )
+EndOfInitLoopMax = GraphSwitchCrash.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
+
+Switch_1Odd = Switch_1.Port( 'Odd' )
+IsOdd_1InGate = GraphSwitchCrash.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
+
+Switch_1Even = Switch_1.Port( 'Even' )
+EndSwitchDefault = GraphSwitchCrash.Link( Switch_1Even , EndSwitch.Port( 'Default' ) )
+
+IsOdd_1Even = GraphSwitchCrash.Link( Switch_1Even , IsOdd_1.Port( 'Even' ) )
+IsOdd_1Even.AddCoord( 1 , 402 , 388 )
+IsOdd_1Even.AddCoord( 2 , 402 , 450 )
+
+Switch_1a = Switch_1.Port( 'a' )
+IsOdd_1a = GraphSwitchCrash.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
+IsOdd_1a.AddCoord( 1 , 377 , 358 )
+IsOdd_1a.AddCoord( 2 , 378 , 481 )
+
+EndSwitcha = EndSwitch.Port( 'a' )
+EndOfInitLoopIndex = GraphSwitchCrash.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
+
+# Creation of Input datas
+InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
+InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
+InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
+InitLoopIndex = InitLoop.Input( 'Index' , 0)
+InitLoopMin = InitLoop.Input( 'Min' , 0)
+InitLoopMax = InitLoop.Input( 'Max' , 100)
+
+# Creation of Output variables
+EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
+EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
+SwitchEven = Switch.Port( 'Even' )
+EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
+EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
+EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
+
+GraphSwitchCrash.Run()
+GraphSwitchCrash.DoneW()
+GraphSwitchCrash.State()
+GraphSwitchCrash.PrintPorts()
diff --git a/examples/GraphSwitchCrash.xml b/examples/GraphSwitchCrash.xml
new file mode 100755 (executable)
index 0000000..88341e0
--- /dev/null
@@ -0,0 +1,670 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphSwitchCrash</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphSwitchCrash</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>14/10/2003 - 10:29:4</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd (IsOdd)"      ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>388</x-position>
+   <y-position>50</y-position>  </node>
+  <node>
+<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>
+   <Parameter-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/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>129</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>766</x-position>
+   <y-position>127</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[from time import * ]]></PyFunc>
+     <PyFunc><![CDATA[def Switch(a) :   ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 : ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)    ]]></PyFunc>
+     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>186</x-position>
+   <y-position>130</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>126</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>Even</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *    ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a,Even) :        ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd (IsOdd_1)"       ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )    ]]></PyFunc>
+     <PyFunc><![CDATA[    return a      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>419</x-position>
+   <y-position>279</y-position>  </node>
+  <node>
+<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>
+   <Parameter-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/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>388</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>783</x-position>
+   <y-position>381</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Switch_1</node-name>
+   <kind>6</kind>
+   <coupled-node>EndSwitch</coupled-node>
+   <service>
+<service-name>Switch_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Odd</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Switch</FuncName>
+     <PyFunc><![CDATA[from time import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def Switch(a) :    ]]></PyFunc>
+     <PyFunc><![CDATA[    if ( a & 1 ) == 0 :  ]]></PyFunc>
+     <PyFunc><![CDATA[        sleep(1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    return a & 1,1-(a&1),a    ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>193</x-position>
+   <y-position>388</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndSwitch</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch_1</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>15/10/2003 - 18:11:6</creation-date>
+   <lastmodification-date>15/10/2003 - 18:11:6</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>605</x-position>
+   <y-position>382</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>573</x>
+     <y>160</y>    </coord>
+    <coord>
+<x>572</x>
+     <y>130</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>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>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>365</x>
+     <y>129</y>    </coord>
+    <coord>
+<x>365</x>
+     <y>222</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>572</x>
+     <y>194</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>257</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>599</x>
+     <y>416</y>    </coord>
+    <coord>
+<x>598</x>
+     <y>358</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>Switch_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Min</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Max</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>Even</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>402</x>
+     <y>388</y>    </coord>
+    <coord>
+<x>402</x>
+     <y>450</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>377</x>
+     <y>358</y>    </coord>
+    <coord>
+<x>378</x>
+     <y>481</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Index</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Index</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Min</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchCrash</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphSwitchs.py b/examples/GraphSwitchs.py
new file mode 100755 (executable)
index 0000000..45c77ac
--- /dev/null
@@ -0,0 +1,232 @@
+
+# Generated python file of Graph GraphSwitch
+
+from SuperV import *
+# Graph creation 
+GraphSwitchs = Graph( 'GraphSwitchs' )
+GraphSwitchs.SetName( 'GraphSwitchs' )
+GraphSwitchs.SetAuthor( '' )
+GraphSwitchs.SetComment( '' )
+GraphSwitchs.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyIsOdd = []
+PyIsOdd.append( 'from time import *   ' )
+PyIsOdd.append( 'def IsOdd(a) :       ' )
+PyIsOdd.append( '    print a,"IsOdd (GraphSwitchs)"      ' )
+PyIsOdd.append( '    sleep( 1 )   ' )
+PyIsOdd.append( '    return a     ' )
+IsOdd = GraphSwitchs.INode( 'IsOdd' , PyIsOdd )
+IsOdd.SetName( 'IsOdd' )
+IsOdd.SetAuthor( '' )
+IsOdd.SetComment( 'Python function' )
+IsOdd.Coords( 388 , 50 )
+IsOdd.InPort( 'a' , 'long' )
+IsOdd.OutPort( 'a' , 'long' )
+
+PyIsOdd_1 = []
+PyIsOdd_1.append( 'from time import *   ' )
+PyIsOdd_1.append( 'def IsOdd(a) :       ' )
+PyIsOdd_1.append( '    print a,"IsOdd_1 (GraphSwitchs)"      ' )
+PyIsOdd_1.append( '    sleep( 1 )   ' )
+PyIsOdd_1.append( '    return a     ' )
+IsOdd_1 = GraphSwitchs.INode( 'IsOdd' , PyIsOdd_1 )
+IsOdd_1.SetName( 'IsOdd_1' )
+IsOdd_1.SetAuthor( '' )
+IsOdd_1.SetComment( 'Python function' )
+IsOdd_1.Coords( 419 , 308 )
+IsOdd_1.InPort( 'a' , 'long' )
+IsOdd_1.OutPort( 'a' , 'long' )
+
+# Creation of Loop Nodes
+PyInitLoopSwitch = []
+PyInitLoopSwitch.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoopSwitch.append( '     return Index,Min,Max     ' )
+PyMoreInitLoopSwitch = []
+PyMoreInitLoopSwitch.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoopSwitch.append( ' if Index <= Max :   ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 1     ' )
+PyMoreInitLoopSwitch.append( ' else :     ' )
+PyMoreInitLoopSwitch.append( '         DoLoop = 0     ' )
+PyMoreInitLoopSwitch.append( ' return DoLoop,Index,Min,Max     ' )
+PyNextInitLoopSwitch = []
+PyNextInitLoopSwitch.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoopSwitch.append( ' Index = Index + 1     ' )
+PyNextInitLoopSwitch.append( ' return Index,Min,Max     ' )
+InitLoopSwitch,EndOfInitLoopSwitch = GraphSwitchs.LNode( 'InitLoop' , PyInitLoopSwitch , 'MoreLoop' , PyMoreInitLoopSwitch , 'NextLoop' , PyNextInitLoopSwitch )
+EndOfInitLoopSwitch.SetName( 'EndOfInitLoopSwitch' )
+EndOfInitLoopSwitch.SetAuthor( '' )
+EndOfInitLoopSwitch.SetComment( '' )
+EndOfInitLoopSwitch.Coords( 766 , 127 )
+InitLoopSwitch.SetName( 'InitLoopSwitch' )
+InitLoopSwitch.SetAuthor( '' )
+InitLoopSwitch.SetComment( '' )
+InitLoopSwitch.Coords( 10 , 129 )
+InitLoopSwitch.InPort( 'Index' , 'long' )
+InitLoopSwitch.InPort( 'Min' , 'long' )
+InitLoopSwitch.InPort( 'Max' , 'long' )
+InitLoopSwitch.OutPort( 'Index' , 'long' )
+InitLoopSwitch.OutPort( 'Min' , 'long' )
+InitLoopSwitch.OutPort( 'Max' , 'long' )
+
+PyInitLoop = []
+PyInitLoop.append( 'def InitLoop(Index,Min,Max) :      ' )
+PyInitLoop.append( '   return Index,Min,Max     ' )
+PyMoreInitLoop = []
+PyMoreInitLoop.append( 'def MoreLoop(Index,Min,Max) :     ' )
+PyMoreInitLoop.append( '       if Index <= Max :   ' )
+PyMoreInitLoop.append( '               DoLoop = 1     ' )
+PyMoreInitLoop.append( '       else :     ' )
+PyMoreInitLoop.append( '               DoLoop = 0     ' )
+PyMoreInitLoop.append( '       return DoLoop,Index,Min,Max     ' )
+PyNextInitLoop = []
+PyNextInitLoop.append( 'def NextLoop(Index,Min,Max) :     ' )
+PyNextInitLoop.append( '       Index = Index + 1     ' )
+PyNextInitLoop.append( '       return Index,Min,Max     ' )
+InitLoop,EndOfInitLoop = GraphSwitchs.LNode( 'InitLoop' , PyInitLoop , 'MoreLoop' , PyMoreInitLoop , 'NextLoop' , PyNextInitLoop )
+EndOfInitLoop.SetName( 'EndOfInitLoop' )
+EndOfInitLoop.SetAuthor( '' )
+EndOfInitLoop.SetComment( '' )
+EndOfInitLoop.Coords( 783 , 381 )
+InitLoop.SetName( 'InitLoop' )
+InitLoop.SetAuthor( '' )
+InitLoop.SetComment( '' )
+InitLoop.Coords( 10 , 388 )
+InitLoop.InPort( 'Index' , 'long' )
+InitLoop.InPort( 'Min' , 'long' )
+InitLoop.InPort( 'Max' , 'long' )
+InitLoop.OutPort( 'Index' , 'long' )
+InitLoop.OutPort( 'Min' , 'long' )
+InitLoop.OutPort( 'Max' , 'long' )
+
+# Creation of Switch Nodes
+PySwitch = []
+PySwitch.append( 'from time import * ' )
+PySwitch.append( 'def Switch(a) :   ' )
+PySwitch.append( '    if ( a & 1 ) == 0 : ' )
+PySwitch.append( '        sleep(1)    ' )
+PySwitch.append( '    return a & 1,1-(a&1),a    ' )
+Switch,EndOfSwitch = GraphSwitchs.SNode( 'Switch' , PySwitch )
+EndOfSwitch.SetName( 'EndOfSwitch' )
+EndOfSwitch.SetAuthor( '' )
+EndOfSwitch.SetComment( '' )
+EndOfSwitch.Coords( 587 , 126 )
+PyEndOfSwitch = []
+EndOfSwitch.SetPyFunction( 'EndSwitch' , PyEndOfSwitch )
+EndOfSwitch.InPort( 'a' , 'long' )
+EndOfSwitch.OutPort( 'a' , 'long' )
+Switch.SetName( 'Switch' )
+Switch.SetAuthor( '' )
+Switch.SetComment( '' )
+Switch.Coords( 186 , 130 )
+Switch.InPort( 'a' , 'long' )
+Switch.OutPort( 'Odd' , 'long' )
+Switch.OutPort( 'Even' , 'int' )
+Switch.OutPort( 'a' , 'int' )
+
+PySwitch_1 = []
+PySwitch_1.append( 'from time import *  ' )
+PySwitch_1.append( 'def Switch(a) :    ' )
+PySwitch_1.append( '    if ( a & 1 ) == 0 :  ' )
+PySwitch_1.append( '        sleep(1)  ' )
+PySwitch_1.append( '    return a & 1,1-(a&1),a    ' )
+Switch_1,EndSwitch = GraphSwitchs.SNode( 'Switch' , PySwitch_1 )
+EndSwitch.SetName( 'EndSwitch' )
+EndSwitch.SetAuthor( '' )
+EndSwitch.SetComment( '' )
+EndSwitch.Coords( 605 , 382 )
+PyEndSwitch = []
+EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
+EndSwitch.InPort( 'a' , 'long' )
+EndSwitch.OutPort( 'a' , 'long' )
+Switch_1.SetName( 'Switch_1' )
+Switch_1.SetAuthor( '' )
+Switch_1.SetComment( '' )
+Switch_1.Coords( 193 , 388 )
+Switch_1.InPort( 'a' , 'long' )
+Switch_1.OutPort( 'Odd' , 'long' )
+Switch_1.OutPort( 'Even' , 'int' )
+Switch_1.OutPort( 'a' , 'int' )
+
+# Creation of Links
+IsOdda = IsOdd.Port( 'a' )
+EndOfSwitcha = GraphSwitchs.Link( IsOdda , EndOfSwitch.Port( 'a' ) )
+EndOfSwitcha.AddCoord( 1 , 573 , 160 )
+EndOfSwitcha.AddCoord( 2 , 572 , 130 )
+
+InitLoopSwitchIndex = InitLoopSwitch.Port( 'Index' )
+Switcha = GraphSwitchs.Link( InitLoopSwitchIndex , Switch.Port( 'a' ) )
+
+InitLoopSwitchMin = InitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMin = GraphSwitchs.Link( InitLoopSwitchMin , EndOfInitLoopSwitch.Port( 'Min' ) )
+
+InitLoopSwitchMax = InitLoopSwitch.Port( 'Max' )
+EndOfInitLoopSwitchMax = GraphSwitchs.Link( InitLoopSwitchMax , EndOfInitLoopSwitch.Port( 'Max' ) )
+
+SwitchOdd = Switch.Port( 'Odd' )
+IsOddInGate = GraphSwitchs.Link( SwitchOdd , IsOdd.Port( 'InGate' ) )
+
+Switcha = Switch.Port( 'a' )
+IsOdda = GraphSwitchs.Link( Switcha , IsOdd.Port( 'a' ) )
+IsOdda.AddCoord( 1 , 365 , 129 )
+IsOdda.AddCoord( 2 , 365 , 222 )
+
+SwitchDefault = Switch.Port( 'Default' )
+EndOfSwitchDefault = GraphSwitchs.Link( SwitchDefault , EndOfSwitch.Port( 'Default' ) )
+EndOfSwitchDefault.AddCoord( 1 , 572 , 194 )
+EndOfSwitchDefault.AddCoord( 2 , 571 , 257 )
+
+EndOfSwitcha = EndOfSwitch.Port( 'a' )
+EndOfInitLoopSwitchIndex = GraphSwitchs.Link( EndOfSwitcha , EndOfInitLoopSwitch.Port( 'Index' ) )
+
+IsOdd_1a = IsOdd_1.Port( 'a' )
+EndSwitcha = GraphSwitchs.Link( IsOdd_1a , EndSwitch.Port( 'a' ) )
+EndSwitcha.AddCoord( 1 , 599 , 416 )
+EndSwitcha.AddCoord( 2 , 598 , 389 )
+
+InitLoopIndex = InitLoop.Port( 'Index' )
+Switch_1a = GraphSwitchs.Link( InitLoopIndex , Switch_1.Port( 'a' ) )
+
+InitLoopMin = InitLoop.Port( 'Min' )
+EndOfInitLoopMin = GraphSwitchs.Link( InitLoopMin , EndOfInitLoop.Port( 'Min' ) )
+
+InitLoopMax = InitLoop.Port( 'Max' )
+EndOfInitLoopMax = GraphSwitchs.Link( InitLoopMax , EndOfInitLoop.Port( 'Max' ) )
+
+Switch_1Odd = Switch_1.Port( 'Odd' )
+IsOdd_1InGate = GraphSwitchs.Link( Switch_1Odd , IsOdd_1.Port( 'InGate' ) )
+
+Switch_1Even = Switch_1.Port( 'Even' )
+EndSwitchDefault = GraphSwitchs.Link( Switch_1Even , EndSwitch.Port( 'Default' ) )
+
+Switch_1a = Switch_1.Port( 'a' )
+IsOdd_1a = GraphSwitchs.Link( Switch_1a , IsOdd_1.Port( 'a' ) )
+IsOdd_1a.AddCoord( 1 , 379 , 387 )
+IsOdd_1a.AddCoord( 2 , 378 , 481 )
+
+EndSwitcha = EndSwitch.Port( 'a' )
+EndOfInitLoopIndex = GraphSwitchs.Link( EndSwitcha , EndOfInitLoop.Port( 'Index' ) )
+
+# Creation of Input datas
+InitLoopSwitchIndex = InitLoopSwitch.Input( 'Index' , 0)
+InitLoopSwitchMin = InitLoopSwitch.Input( 'Min' , 0)
+InitLoopSwitchMax = InitLoopSwitch.Input( 'Max' , 100)
+InitLoopIndex = InitLoop.Input( 'Index' , 0)
+InitLoopMin = InitLoop.Input( 'Min' , 0)
+InitLoopMax = InitLoop.Input( 'Max' , 100)
+
+# Creation of Output variables
+EndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.Port( 'Index' )
+EndOfInitLoopSwitchMin = EndOfInitLoopSwitch.Port( 'Min' )
+EndOfInitLoopSwitchMax = EndOfInitLoopSwitch.Port( 'Max' )
+SwitchEven = Switch.Port( 'Even' )
+EndOfInitLoopIndex = EndOfInitLoop.Port( 'Index' )
+EndOfInitLoopMin = EndOfInitLoop.Port( 'Min' )
+EndOfInitLoopMax = EndOfInitLoop.Port( 'Max' )
+
+GraphSwitchs.Run()
+GraphSwitchs.DoneW()
+GraphSwitchs.State()
+GraphSwitchs.PrintPorts()
diff --git a/examples/GraphSwitchs.xml b/examples/GraphSwitchs.xml
new file mode 100755 (executable)
index 0000000..cda215c
--- /dev/null
@@ -0,0 +1,655 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphSwitchs</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphSwitchs</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoopSwitch\Max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitLoop\Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoopSwitch\Max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Switch\Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInitLoop\Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>14/10/2003 - 10:29:4</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd (GraphSwitchs)"      ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>388</x-position>
+   <y-position>50</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>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>
+   <Parameter-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>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>129</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>766</x-position>
+   <y-position>127</y-position>  </node>
+  <node>
+<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>
+   <Parameter-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>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>186</x-position>
+   <y-position>130</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>587</x-position>
+   <y-position>126</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>IsOdd_1</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>IsOdd_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+     <PyFunc><![CDATA[from time import *   ]]></PyFunc>
+     <PyFunc><![CDATA[def IsOdd(a) :       ]]></PyFunc>
+     <PyFunc><![CDATA[    print a,"IsOdd_1 (GraphSwitchs)"      ]]></PyFunc>
+     <PyFunc><![CDATA[    sleep( 1 )   ]]></PyFunc>
+     <PyFunc><![CDATA[    return a     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>419</x-position>
+   <y-position>308</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitLoop</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfInitLoop</coupled-node>
+   <service>
+<service-name>InitLoop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Max</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Max</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-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>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>10</x-position>
+   <y-position>388</y-position>  </node>
+  <node>
+<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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>783</x-position>
+   <y-position>381</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Switch_1</node-name>
+   <kind>6</kind>
+   <coupled-node>EndSwitch</coupled-node>
+   <service>
+<service-name>Switch_1</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Odd</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-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>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>193</x-position>
+   <y-position>388</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndSwitch</node-name>
+   <kind>7</kind>
+   <coupled-node>Switch_1</coupled-node>
+   <service>
+<service-name>EndSwitch</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>a</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>a</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>16/10/2003 - 10:57:24</creation-date>
+   <lastmodification-date>16/10/2003 - 10:57:24</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>605</x-position>
+   <y-position>382</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>IsOdd</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>573</x>
+     <y>160</y>    </coord>
+    <coord>
+<x>572</x>
+     <y>130</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>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>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>365</x>
+     <y>129</y>    </coord>
+    <coord>
+<x>365</x>
+     <y>222</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Switch</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndOfSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>572</x>
+     <y>194</y>    </coord>
+    <coord>
+<x>571</x>
+     <y>257</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>IsOdd_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>599</x>
+     <y>416</y>    </coord>
+    <coord>
+<x>598</x>
+     <y>389</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Index</fromserviceparameter-name>
+   <tonode-name>Switch_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Min</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitLoop</fromnode-name>
+   <fromserviceparameter-name>Max</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInitLoop</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>EndSwitch</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Switch_1</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>IsOdd_1</tonode-name>
+   <toserviceparameter-name>a</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>379</x>
+     <y>387</y>    </coord>
+    <coord>
+<x>378</x>
+     <y>481</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndSwitch</fromnode-name>
+   <fromserviceparameter-name>a</fromserviceparameter-name>
+   <tonode-name>EndOfInitLoop</tonode-name>
+   <toserviceparameter-name>Index</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchs</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>GraphSwitchs</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Min</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchs</fromnode-name>
+   <fromserviceparameter-name>InitLoopSwitch\Max</fromserviceparameter-name>
+   <tonode-name>InitLoopSwitch</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSwitchs</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>GraphSwitchs</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>GraphSwitchs</fromnode-name>
+   <fromserviceparameter-name>InitLoop\Max</fromserviceparameter-name>
+   <tonode-name>InitLoop</tonode-name>
+   <toserviceparameter-name>Max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 0c647d277e5d99b5f5f6457f1be9724a06834d12..5756e845ee79b567c2cd389d37fe20e996cc9c3e 100644 (file)
@@ -10,36 +10,41 @@ GraphSyrControl.SetComment( 'Syracuse algorithm' )
 GraphSyrControl.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
+
 test_ISEVEN = GraphSyrControl.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 )
+
 test_ISONE = GraphSyrControl.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 )
+
 m3p1 = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
 m3p1.SetName( 'm3p1' )
 m3p1.SetAuthor( '' )
 m3p1.SetContainer( 'localhost/FactoryServer' )
 m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 621 , 14 )
+m3p1.Coords( 788 , 22 )
+
 div2 = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
 div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 624 , 391 )
+div2.Coords( 794 , 427 )
+
 incr = GraphSyrControl.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incr.SetName( 'incr' )
 incr.SetAuthor( '' )
 incr.SetContainer( 'localhost/FactoryServer' )
 incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 622 , 199 )
+incr.Coords( 790 , 158 )
 
 # Creation of InLine Nodes
 Pylabel_begin = []
@@ -55,6 +60,7 @@ label_begin.SetName( 'label_begin' )
 label_begin.SetAuthor( '' )
 label_begin.SetComment( 'Python function' )
 label_begin.Coords( 7 , 216 )
+
 Pylabel_test = []
 Pylabel_test.append( 'def label_test( ValEven , ValOne , NB , KB ):' )
 Pylabel_test.append( '    print "label_begin",ValEven,ValOne,NB,KB' )
@@ -71,7 +77,7 @@ label_test.OutPort( 'KT' , 'long' )
 label_test.SetName( 'label_test' )
 label_test.SetAuthor( '' )
 label_test.SetComment( 'Python function' )
-label_test.Coords( 7 , 216 )
+label_test.Coords( 385 , 159 )
 
 # Creation of Switch Nodes
 Pytest = []
@@ -94,7 +100,7 @@ test,EndSwitch_OneEven = GraphSyrControl.SNode( 'Switch_OneEven' , Pytest )
 EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
 EndSwitch_OneEven.SetAuthor( '' )
 EndSwitch_OneEven.SetComment( '' )
-EndSwitch_OneEven.Coords( 0 , 0 )
+EndSwitch_OneEven.Coords( 1065 , 321 )
 PyEndSwitch_OneEven = []
 PyEndSwitch_OneEven.append( 'def EndSwitch_OneEven( Finished , K ):' )
 PyEndSwitch_OneEven.append( '    print "label_begin",Finished,K' )
@@ -117,7 +123,7 @@ test.OutPort( 'K' , 'long' )
 test.SetName( 'test' )
 test.SetAuthor( '' )
 test.SetComment( '' )
-test.Coords( 399 , 176 )
+test.Coords( 592 , 205 )
 
 # Creation of GOTO Nodes
 Pycontrol_m3p1 = []
@@ -133,7 +139,8 @@ control_m3p1.OutPort( 'KT' , 'long' )
 control_m3p1.SetName( 'control_m3p1' )
 control_m3p1.SetAuthor( '' )
 control_m3p1.SetComment( '' )
-control_m3p1.Coords( 814 , 13 )
+control_m3p1.Coords( 1012 , 68 )
+
 Pycontrol_div2 = []
 Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
 Pycontrol_div2.append( '    return N,NB' )
@@ -145,56 +152,108 @@ control_div2.OutPort( 'KB' , 'long' )
 control_div2.SetName( 'control_div2' )
 control_div2.SetAuthor( '' )
 control_div2.SetComment( '' )
-control_div2.Coords( 812 , 414 )
+control_div2.Coords( 1010 , 473 )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
 label_testValEven = GraphSyrControl.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
+label_testValEven.AddCoord( 1 , 380 , 236 )
+label_testValEven.AddCoord( 2 , 379 , 419 )
+
 test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
 label_testValOne = GraphSyrControl.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
+label_testValOne.AddCoord( 1 , 367 , 269 )
+label_testValOne.AddCoord( 2 , 367 , 213 )
+
 m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
 control_m3p1N = GraphSyrControl.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
+
 div2anInteger = div2.Port( 'anInteger' )
 control_div2N = GraphSyrControl.Link( div2anInteger , control_div2.Port( 'N' ) )
+
 incraNewCount = incr.Port( 'aNewCount' )
 control_m3p1K = GraphSyrControl.Link( incraNewCount , control_m3p1.Port( 'K' ) )
+control_m3p1K.AddCoord( 1 , 978 , 132 )
+control_m3p1K.AddCoord( 2 , 978 , 239 )
+
 control_div2K = GraphSyrControl.Link( incraNewCount , control_div2.Port( 'K' ) )
+control_div2K.AddCoord( 1 , 979 , 536 )
+control_div2K.AddCoord( 2 , 978 , 240 )
+
 label_beginNT = label_begin.Port( 'NT' )
 label_testNT = GraphSyrControl.Link( label_beginNT , label_test.Port( 'NT' ) )
+
 test_ISEVENanInteger = GraphSyrControl.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
+test_ISEVENanInteger.AddCoord( 1 , 184 , 416 )
+test_ISEVENanInteger.AddCoord( 2 , 185 , 298 )
+
 test_ISONEanInteger = GraphSyrControl.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
+test_ISONEanInteger.AddCoord( 1 , 186 , 211 )
+test_ISONEanInteger.AddCoord( 2 , 185 , 297 )
+
 label_beginKT = label_begin.Port( 'KT' )
 label_testKT = GraphSyrControl.Link( label_beginKT , label_test.Port( 'KT' ) )
+
 label_testValEven = label_test.Port( 'ValEven' )
 testValEven = GraphSyrControl.Link( label_testValEven , test.Port( 'ValEven' ) )
+
 label_testValOne = label_test.Port( 'ValOne' )
 testValOne = GraphSyrControl.Link( label_testValOne , test.Port( 'ValOne' ) )
+
 label_testNT = label_test.Port( 'NT' )
 testNT = GraphSyrControl.Link( label_testNT , test.Port( 'NT' ) )
+
 label_testKT = label_test.Port( 'KT' )
 testKT = GraphSyrControl.Link( label_testKT , test.Port( 'KT' ) )
-testDefault = test.Port( 'Default' )
-EndSwitch_OneEvenDefault = GraphSyrControl.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
+
 testFinished = test.Port( 'Finished' )
 EndSwitch_OneEvenFinished = GraphSyrControl.Link( testFinished , EndSwitch_OneEven.Port( 'Finished' ) )
+
 testIncr = test.Port( 'Incr' )
 incrInGate = GraphSyrControl.Link( testIncr , incr.Port( 'InGate' ) )
+
 testEven = test.Port( 'Even' )
 div2InGate = GraphSyrControl.Link( testEven , div2.Port( 'InGate' ) )
+div2InGate.AddCoord( 1 , 764 , 536 )
+div2InGate.AddCoord( 2 , 763 , 297 )
+
 testOdd = test.Port( 'Odd' )
 m3p1InGate = GraphSyrControl.Link( testOdd , m3p1.Port( 'InGate' ) )
+m3p1InGate.AddCoord( 1 , 773 , 133 )
+m3p1InGate.AddCoord( 2 , 773 , 326 )
+
 testN = test.Port( 'N' )
 m3p1anOddInteger = GraphSyrControl.Link( testN , m3p1.Port( 'anOddInteger' ) )
+m3p1anOddInteger.AddCoord( 1 , 753 , 102 )
+m3p1anOddInteger.AddCoord( 2 , 752 , 355 )
+
 div2anEvenInteger = GraphSyrControl.Link( testN , div2.Port( 'anEvenInteger' ) )
+div2anEvenInteger.AddCoord( 1 , 753 , 508 )
+div2anEvenInteger.AddCoord( 2 , 752 , 356 )
+
 testK = test.Port( 'K' )
 EndSwitch_OneEvenK = GraphSyrControl.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
+
 incraCount = GraphSyrControl.Link( testK , incr.Port( 'aCount' ) )
+incraCount.AddCoord( 1 , 779 , 239 )
+incraCount.AddCoord( 2 , 780 , 385 )
+
+testDefault = test.Port( 'Default' )
+EndSwitch_OneEvenDefault = GraphSyrControl.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
 
-# Creation of intermediate Output variables and of Loop Links
 control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
 label_testInGate = GraphSyrControl.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
+label_testInGate.AddCoord( 1 , 373 , 354 )
+label_testInGate.AddCoord( 2 , 372 , 10 )
+label_testInGate.AddCoord( 3 , 1180 , 9 )
+label_testInGate.AddCoord( 4 , 1181 , 217 )
+
 control_div2OutGate = control_div2.Port( 'OutGate' )
 label_beginInGate = GraphSyrControl.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 5 , 355 )
+label_beginInGate.AddCoord( 2 , 4 , 608 )
+label_beginInGate.AddCoord( 3 , 1177 , 608 )
+label_beginInGate.AddCoord( 4 , 1177 , 563 )
 
 # Creation of Input datas
 label_beginNB = label_begin.Input( 'NB' , 7)
index b8768cad61843265a4ae927b83c343c822beb7e0..1d1c489b8f3955ec522aa6435b9bb99a30a85189 100644 (file)
@@ -26,7 +26,7 @@
    <Parameter-list/>
    <PyFunction-list/>
    <creation-date>11/3/2003 - 18:34:21</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>JR</author>
    <container>?</container>
@@ -52,8 +52,8 @@
       <outParameter-name>BoolEven</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
@@ -78,8 +78,8 @@
       <outParameter-name>BoolOne</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
       <outParameter-name>anEvenInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_M3P1 from SyrComponent</comment>
-   <x-position>621</x-position>
-   <y-position>14</y-position>  </node>
+   <x-position>788</x-position>
+   <y-position>22</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>anInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_DIV2 from SyrComponent</comment>
-   <x-position>624</x-position>
-   <y-position>391</y-position>  </node>
+   <x-position>794</x-position>
+   <y-position>427</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>aNewCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_INCR from SyrComponent</comment>
-   <x-position>622</x-position>
-   <y-position>199</y-position>  </node>
+   <x-position>790</x-position>
+   <y-position>158</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <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>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
      <PyFunc><![CDATA[def label_test( ValEven , ValOne , NB , KB ):]]></PyFunc>
      <PyFunc><![CDATA[    print "label_begin",ValEven,ValOne,NB,KB]]></PyFunc>
      <PyFunc><![CDATA[    return ValEven,ValOne,NB,KB]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>7</x-position>
-   <y-position>216</y-position>  </node>
+   <x-position>385</x-position>
+   <y-position>159</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>399</x-position>
-   <y-position>176</y-position>  </node>
+   <x-position>592</x-position>
+   <y-position>205</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <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>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node>
+   <x-position>1065</x-position>
+   <y-position>321</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <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>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>814</x-position>
-   <y-position>13</y-position>  </node>
+   <x-position>1012</x-position>
+   <y-position>68</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <FuncName>control_div2</FuncName>
      <PyFunc><![CDATA[def control_div2( N , NB ) :]]></PyFunc>
      <PyFunc><![CDATA[    return N,NB]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:19:38</creation-date>
-   <lastmodification-date>25/3/2003 - 17:19:38</lastmodification-date>
+   <creation-date>19/9/2003 - 15:2:2</creation-date>
+   <lastmodification-date>19/9/2003 - 15:2:2</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>812</x-position>
-   <y-position>414</y-position>  </node> </node-list>
+   <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/>  </link>
+   <coord-list>
+<coord>
+<x>380</x>
+     <y>236</y>    </coord>
+    <coord>
+<x>379</x>
+     <y>419</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/>  </link>
+   <coord-list>
+<coord>
+<x>367</x>
+     <y>269</y>    </coord>
+    <coord>
+<x>367</x>
+     <y>213</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>m3p1</fromnode-name>
    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <tonode-name>control_m3p1</tonode-name>
    <toserviceparameter-name>K</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>978</x>
+     <y>132</y>    </coord>
+    <coord>
+<x>978</x>
+     <y>239</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/>  </link>
+   <coord-list>
+<coord>
+<x>979</x>
+     <y>536</y>    </coord>
+    <coord>
+<x>978</x>
+     <y>240</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <tonode-name>test_ISEVEN</tonode-name>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>184</x>
+     <y>416</y>    </coord>
+    <coord>
+<x>185</x>
+     <y>298</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/>  </link>
+   <coord-list>
+<coord>
+<x>186</x>
+     <y>211</y>    </coord>
+    <coord>
+<x>185</x>
+     <y>297</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>KT</fromserviceparameter-name>
    <toserviceparameter-name>KT</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
-<fromnode-name>test</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndSwitch_OneEven</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>Finished</fromserviceparameter-name>
    <tonode-name>EndSwitch_OneEven</tonode-name>
    <fromserviceparameter-name>Even</fromserviceparameter-name>
    <tonode-name>div2</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>764</x>
+     <y>536</y>    </coord>
+    <coord>
+<x>763</x>
+     <y>297</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
    <tonode-name>m3p1</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>773</x>
+     <y>133</y>    </coord>
+    <coord>
+<x>773</x>
+     <y>326</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/>  </link>
+   <coord-list>
+<coord>
+<x>753</x>
+     <y>102</y>    </coord>
+    <coord>
+<x>752</x>
+     <y>355</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/>  </link>
+   <coord-list>
+<coord>
+<x>753</x>
+     <y>508</y>    </coord>
+    <coord>
+<x>752</x>
+     <y>356</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <tonode-name>incr</tonode-name>
    <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>779</x>
+     <y>239</y>    </coord>
+    <coord>
+<x>780</x>
+     <y>385</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndSwitch_OneEven</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
 <fromnode-name>control_m3p1</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_test</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>373</x>
+     <y>354</y>    </coord>
+    <coord>
+<x>372</x>
+     <y>10</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>OutGate</fromserviceparameter-name>
    <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
+   <coord-list>
+<coord>
+<x>5</x>
+     <y>355</y>    </coord>
+    <coord>
+<x>4</x>
+     <y>608</y>    </coord>
+    <coord>
+<x>1177</x>
+     <y>608</y>    </coord>
+    <coord>
+<x>1177</x>
+     <y>563</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
 <fromnode-name>GraphSyrControl</fromnode-name>
diff --git a/examples/GraphSyrControl1.py b/examples/GraphSyrControl1.py
new file mode 100755 (executable)
index 0000000..97b63e5
--- /dev/null
@@ -0,0 +1,237 @@
+
+# Generated python file of Graph GraphSyrControlGUI
+
+from SuperV import *
+# Graph creation 
+GraphSyrControl1 = Graph( 'GraphSyrControl1' )
+GraphSyrControl1.SetName( 'GraphSyrControl1' )
+GraphSyrControl1.SetAuthor( 'JR' )
+GraphSyrControl1.SetComment( 'Syracuse algorithm' )
+GraphSyrControl1.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+test_ISEVEN = GraphSyrControl1.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 )
+
+test_ISONE = GraphSyrControl1.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 )
+
+m3p1 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+m3p1.SetName( 'm3p1' )
+m3p1.SetAuthor( '' )
+m3p1.SetContainer( 'localhost/FactoryServer' )
+m3p1.SetComment( 'C_M3P1 from SyrComponent' )
+m3p1.Coords( 615 , 30 )
+
+div2 = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+div2.SetName( 'div2' )
+div2.SetAuthor( '' )
+div2.SetContainer( 'localhost/FactoryServer' )
+div2.SetComment( 'C_DIV2 from SyrComponent' )
+div2.Coords( 624 , 391 )
+
+incr = GraphSyrControl1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+incr.SetName( 'incr' )
+incr.SetAuthor( '' )
+incr.SetContainer( 'localhost/FactoryServer' )
+incr.SetComment( 'C_INCR from SyrComponent' )
+incr.Coords( 623 , 206 )
+
+# Creation of InLine Nodes
+Pylabel_begin = []
+Pylabel_begin.append( 'def label_begin( NB , KB ) :' )
+Pylabel_begin.append( '    return NB,KB' )
+label_begin = GraphSyrControl1.INode( 'label_begin' , Pylabel_begin )
+label_begin.InPort( 'NB' , 'long' )
+label_begin.InPort( 'KB' , 'long' )
+label_begin.OutPort( 'NT' , 'long' )
+label_begin.OutPort( 'KT' , 'long' )
+label_begin.SetName( 'label_begin' )
+label_begin.SetAuthor( '' )
+label_begin.SetComment( 'Python function' )
+label_begin.Coords( 5 , 190 )
+
+# Creation of Switch Nodes
+Pylabel_test = []
+Pylabel_test.append( 'def L_OneEven( ValOne , ValEven , NT , KT ):' )
+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' )
+label_test,EndL_OneEven = GraphSyrControl1.SNode( 'L_OneEven' , Pylabel_test )
+EndL_OneEven.SetName( 'EndL_OneEven' )
+EndL_OneEven.SetAuthor( '' )
+EndL_OneEven.SetComment( '' )
+EndL_OneEven.Coords( 1017 , 247 )
+PyEndL_OneEven = []
+EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
+label_test.InPort( 'ValOne' , 'long' )
+label_test.InPort( 'ValEven' , 'long' )
+label_test.InPort( 'NT' , 'long' )
+label_test.InPort( 'KT' , 'long' )
+label_test.OutPort( 'Finished' , 'long' )
+label_test.OutPort( 'Incr' , 'long' )
+label_test.OutPort( 'Even' , 'long' )
+label_test.OutPort( 'Odd' , 'long' )
+label_test.OutPort( 'N' , 'long' )
+label_test.OutPort( 'K' , 'long' )
+label_test.SetName( 'label_test' )
+label_test.SetAuthor( '' )
+label_test.SetComment( '' )
+label_test.Coords( 399 , 177 )
+
+# Creation of GOTO Nodes
+Pycontrol_m3p1 = []
+Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K ):' )
+Pycontrol_m3p1.append( '    return 0,1,N,K' )
+control_m3p1 = GraphSyrControl1.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+control_m3p1.InPort( 'N' , 'long' )
+control_m3p1.InPort( 'K' , 'long' )
+control_m3p1.OutPort( 'ValOne' , 'long' )
+control_m3p1.OutPort( 'ValEven' , 'long' )
+control_m3p1.OutPort( 'NT' , 'long' )
+control_m3p1.OutPort( 'KT' , 'long' )
+control_m3p1.SetName( 'control_m3p1' )
+control_m3p1.SetAuthor( '' )
+control_m3p1.SetComment( '' )
+control_m3p1.Coords( 821 , 28 )
+
+Pycontrol_div2 = []
+Pycontrol_div2.append( 'def control_div2( N , K ) :' )
+Pycontrol_div2.append( '    return N,K' )
+control_div2 = GraphSyrControl1.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+control_div2.InPort( 'N' , 'long' )
+control_div2.InPort( 'K' , 'long' )
+control_div2.OutPort( 'NB' , 'long' )
+control_div2.OutPort( 'KB' , 'long' )
+control_div2.SetName( 'control_div2' )
+control_div2.SetAuthor( '' )
+control_div2.SetComment( '' )
+control_div2.Coords( 818 , 358 )
+
+# Creation of Links
+test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
+label_testValEven = GraphSyrControl1.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
+label_testValEven.AddCoord( 1 , 383 , 239 )
+label_testValEven.AddCoord( 2 , 382 , 417 )
+
+test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
+label_testValOne = GraphSyrControl1.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
+
+m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
+control_m3p1N = GraphSyrControl1.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
+control_m3p1N.AddCoord( 1 , 793 , 62 )
+control_m3p1N.AddCoord( 2 , 792 , 111 )
+
+div2anInteger = div2.Port( 'anInteger' )
+control_div2N = GraphSyrControl1.Link( div2anInteger , control_div2.Port( 'N' ) )
+control_div2N.AddCoord( 1 , 797 , 392 )
+control_div2N.AddCoord( 2 , 798 , 471 )
+
+incraNewCount = incr.Port( 'aNewCount' )
+control_div2K = GraphSyrControl1.Link( incraNewCount , control_div2.Port( 'K' ) )
+control_div2K.AddCoord( 1 , 809 , 420 )
+control_div2K.AddCoord( 2 , 808 , 288 )
+
+control_m3p1K = GraphSyrControl1.Link( incraNewCount , control_m3p1.Port( 'K' ) )
+control_m3p1K.AddCoord( 1 , 807 , 91 )
+control_m3p1K.AddCoord( 2 , 808 , 286 )
+
+label_beginNT = label_begin.Port( 'NT' )
+test_ISONEanInteger = GraphSyrControl1.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
+test_ISONEanInteger.AddCoord( 1 , 180 , 211 )
+test_ISONEanInteger.AddCoord( 2 , 179 , 269 )
+
+label_testNT = GraphSyrControl1.Link( label_beginNT , label_test.Port( 'NT' ) )
+
+test_ISEVENanInteger = GraphSyrControl1.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
+test_ISEVENanInteger.AddCoord( 1 , 179 , 417 )
+test_ISEVENanInteger.AddCoord( 2 , 179 , 271 )
+
+label_beginKT = label_begin.Port( 'KT' )
+label_testKT = GraphSyrControl1.Link( label_beginKT , label_test.Port( 'KT' ) )
+
+label_testIncr = label_test.Port( 'Incr' )
+incrInGate = GraphSyrControl1.Link( label_testIncr , incr.Port( 'InGate' ) )
+incrInGate.AddCoord( 1 , 565 , 315 )
+incrInGate.AddCoord( 2 , 564 , 240 )
+
+label_testEven = label_test.Port( 'Even' )
+div2InGate = GraphSyrControl1.Link( label_testEven , div2.Port( 'InGate' ) )
+div2InGate.AddCoord( 1 , 583 , 500 )
+div2InGate.AddCoord( 2 , 582 , 269 )
+
+label_testOdd = label_test.Port( 'Odd' )
+m3p1InGate = GraphSyrControl1.Link( label_testOdd , m3p1.Port( 'InGate' ) )
+m3p1InGate.AddCoord( 1 , 571 , 138 )
+m3p1InGate.AddCoord( 2 , 573 , 298 )
+
+label_testN = label_test.Port( 'N' )
+m3p1anOddInteger = GraphSyrControl1.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
+m3p1anOddInteger.AddCoord( 1 , 604 , 110 )
+m3p1anOddInteger.AddCoord( 2 , 605 , 328 )
+
+div2anEvenInteger = GraphSyrControl1.Link( label_testN , div2.Port( 'anEvenInteger' ) )
+div2anEvenInteger.AddCoord( 1 , 606 , 471 )
+div2anEvenInteger.AddCoord( 2 , 605 , 328 )
+
+label_testK = label_test.Port( 'K' )
+incraCount = GraphSyrControl1.Link( label_testK , incr.Port( 'aCount' ) )
+incraCount.AddCoord( 1 , 594 , 287 )
+incraCount.AddCoord( 2 , 595 , 356 )
+
+label_testDefault = label_test.Port( 'Default' )
+EndL_OneEvenDefault = GraphSyrControl1.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
+EndL_OneEvenDefault.AddCoord( 1 , 1008 , 281 )
+EndL_OneEvenDefault.AddCoord( 2 , 1008 , 560 )
+EndL_OneEvenDefault.AddCoord( 3 , 565 , 559 )
+EndL_OneEvenDefault.AddCoord( 4 , 564 , 385 )
+
+control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
+label_testInGate = GraphSyrControl1.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
+label_testInGate.AddCoord( 1 , 368 , 327 )
+label_testInGate.AddCoord( 2 , 369 , 7 )
+label_testInGate.AddCoord( 3 , 1009 , 8 )
+label_testInGate.AddCoord( 4 , 1009 , 179 )
+
+control_div2OutGate = control_div2.Port( 'OutGate' )
+label_beginInGate = GraphSyrControl1.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 3 , 327 )
+label_beginInGate.AddCoord( 2 , 2 , 582 )
+label_beginInGate.AddCoord( 3 , 991 , 583 )
+label_beginInGate.AddCoord( 4 , 991 , 451 )
+
+# Creation of Input datas
+label_beginNB = label_begin.Input( 'NB' , 7)
+label_beginKB = label_begin.Input( 'KB' , 0)
+
+# Creation of Output variables
+label_testFinished = label_test.Port( 'Finished' )
+
+GraphSyrControl1.Run( 7 )
+
+GraphSyrControl1.DoneW()
+
+GraphSyrControl1.State()
+
+GraphSyrControl1.PrintPorts()
+
diff --git a/examples/GraphSyrControl1.xml b/examples/GraphSyrControl1.xml
new file mode 100755 (executable)
index 0000000..aa184bf
--- /dev/null
@@ -0,0 +1,613 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphSyrControlGUI</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphSyrControlGUI</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>label_test\Finished</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 18:28:48</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:50</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_M3P1 from SyrComponent</comment>
+   <x-position>615</x-position>
+   <y-position>30</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_DIV2 from SyrComponent</comment>
+   <x-position>624</x-position>
+   <y-position>391</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>623</x-position>
+   <y-position>206</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>label_begin</FuncName>
+     <PyFunc><![CDATA[def label_begin( NB , KB ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return NB,KB]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>5</x-position>
+   <y-position>190</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-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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>L_OneEven</FuncName>
+     <PyFunc><![CDATA[def L_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>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>399</x-position>
+   <y-position>177</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/>
+    <outParameter-list/>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1017</x-position>
+   <y-position>247</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>C_NotOneIsEven</FuncName>
+     <PyFunc><![CDATA[def C_NotOneIsEven( N , K ):]]></PyFunc>
+     <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>821</x-position>
+   <y-position>28</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>control_div2</FuncName>
+     <PyFunc><![CDATA[def control_div2( N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 15:3:49</creation-date>
+   <lastmodification-date>19/9/2003 - 15:3:49</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>818</x-position>
+   <y-position>358</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>383</x>
+     <y>239</y>    </coord>
+    <coord>
+<x>382</x>
+     <y>417</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/>  </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>793</x>
+     <y>62</y>    </coord>
+    <coord>
+<x>792</x>
+     <y>111</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>797</x>
+     <y>392</y>    </coord>
+    <coord>
+<x>798</x>
+     <y>471</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>809</x>
+     <y>420</y>    </coord>
+    <coord>
+<x>808</x>
+     <y>288</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>807</x>
+     <y>91</y>    </coord>
+    <coord>
+<x>808</x>
+     <y>286</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>180</x>
+     <y>211</y>    </coord>
+    <coord>
+<x>179</x>
+     <y>269</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>417</y>    </coord>
+    <coord>
+<x>179</x>
+     <y>271</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>Incr</fromserviceparameter-name>
+   <tonode-name>incr</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>565</x>
+     <y>315</y>    </coord>
+    <coord>
+<x>564</x>
+     <y>240</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>label_test</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>div2</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>583</x>
+     <y>500</y>    </coord>
+    <coord>
+<x>582</x>
+     <y>269</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>label_test</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>m3p1</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>571</x>
+     <y>138</y>    </coord>
+    <coord>
+<x>573</x>
+     <y>298</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>604</x>
+     <y>110</y>    </coord>
+    <coord>
+<x>605</x>
+     <y>328</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>
+<coord>
+<x>606</x>
+     <y>471</y>    </coord>
+    <coord>
+<x>605</x>
+     <y>328</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>594</x>
+     <y>287</y>    </coord>
+    <coord>
+<x>595</x>
+     <y>356</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>
+<coord>
+<x>1008</x>
+     <y>281</y>    </coord>
+    <coord>
+<x>1008</x>
+     <y>560</y>    </coord>
+    <coord>
+<x>565</x>
+     <y>559</y>    </coord>
+    <coord>
+<x>564</x>
+     <y>385</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>control_m3p1</fromnode-name>
+   <fromserviceparameter-name>OutGate</fromserviceparameter-name>
+   <tonode-name>label_test</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>368</x>
+     <y>327</y>    </coord>
+    <coord>
+<x>369</x>
+     <y>7</y>    </coord>
+    <coord>
+<x>1009</x>
+     <y>8</y>    </coord>
+    <coord>
+<x>1009</x>
+     <y>179</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>control_div2</fromnode-name>
+   <fromserviceparameter-name>OutGate</fromserviceparameter-name>
+   <tonode-name>label_begin</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>3</x>
+     <y>327</y>    </coord>
+    <coord>
+<x>2</x>
+     <y>582</y>    </coord>
+    <coord>
+<x>991</x>
+     <y>583</y>    </coord>
+    <coord>
+<x>991</x>
+     <y>451</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSyrControlGUI</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>GraphSyrControlGUI</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>
index 995dfdaf4f7966844927d3b70136c53caf950adf..51bd2d86baf2b17fa0f49f9a596d6f119b0dd352 100644 (file)
@@ -10,66 +10,79 @@ GraphSyrControlAve.SetComment( 'Syracuse algorithm' )
 GraphSyrControlAve.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
+
 test_ISEVEN = GraphSyrControlAve.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 )
+test_ISEVEN.Coords( 370 , 455 )
+
 test_ISONE = GraphSyrControlAve.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 )
+test_ISONE.Coords( 370 , 127 )
+
 m3p1 = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
 m3p1.SetName( 'm3p1' )
 m3p1.SetAuthor( '' )
 m3p1.SetContainer( 'localhost/FactoryServer' )
 m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 621 , 29 )
+m3p1.Coords( 789 , 0 )
+
 div2 = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
 div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 624 , 391 )
+div2.Coords( 789 , 276 )
+
 incr = GraphSyrControlAve.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incr.SetName( 'incr' )
 incr.SetAuthor( '' )
 incr.SetContainer( 'localhost/FactoryServer' )
 incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 623 , 206 )
+incr.Coords( 790 , 136 )
+
 C_MIN = GraphSyrControlAve.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( 0 , 0 )
+C_MIN.Coords( 798 , 833 )
+
 C_MAX = GraphSyrControlAve.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( 0 , 0 )
+C_MAX.Coords( 798 , 668 )
+
 C_AVERAGE = GraphSyrControlAve.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( 0 , 0 )
+C_AVERAGE.Coords( 784 , 476 )
+
 C_LISTOFSYR = GraphSyrControlAve.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( 0 , 0 )
+C_LISTOFSYR.Coords( 4 , 363 )
 
 # 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 = GraphSyrControlAve.INode( 'label_begin' , Pylabel_begin )
+label_begin.SetName( 'label_begin' )
+label_begin.SetAuthor( '' )
+label_begin.SetComment( 'Python function' )
+label_begin.Coords( 183 , 219 )
 label_begin.InPort( 'NB' , 'long' )
 label_begin.InPort( 'KB' , 'long' )
 label_begin.InPort( 'MINB' , 'long' )
@@ -82,10 +95,6 @@ label_begin.OutPort( 'MIN' , 'long' )
 label_begin.OutPort( 'MAX' , 'long' )
 label_begin.OutPort( 'AVERAGE' , 'double' )
 label_begin.OutPort( 'SYRLIST' , 'ListOfSyr' )
-label_begin.SetName( 'label_begin' )
-label_begin.SetAuthor( '' )
-label_begin.SetComment( 'Python function' )
-label_begin.Coords( 7 , 216 )
 
 # Creation of Switch Nodes
 Pylabel_test = []
@@ -108,9 +117,19 @@ label_test,EndL_OneEven = GraphSyrControlAve.SNode( 'L_OneEven' , Pylabel_test )
 EndL_OneEven.SetName( 'EndL_OneEven' )
 EndL_OneEven.SetAuthor( '' )
 EndL_OneEven.SetComment( '' )
-EndL_OneEven.Coords( 1045 , 278 )
+EndL_OneEven.Coords( 1064 , 379 )
 PyEndL_OneEven = []
 EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
+EndL_OneEven.InPort( 'MIN' , 'long' )
+EndL_OneEven.InPort( 'MAX' , 'long' )
+EndL_OneEven.InPort( 'AVERAGE' , 'double' )
+EndL_OneEven.OutPort( 'MIN' , 'long' )
+EndL_OneEven.OutPort( 'MAX' , 'long' )
+EndL_OneEven.OutPort( 'AVERAGE' , 'double' )
+label_test.SetName( 'label_test' )
+label_test.SetAuthor( '' )
+label_test.SetComment( '' )
+label_test.Coords( 563 , 206 )
 label_test.InPort( 'ValOne' , 'long' )
 label_test.InPort( 'ValEven' , 'long' )
 label_test.InPort( 'NT' , 'long' )
@@ -129,16 +148,16 @@ label_test.OutPort( 'MINT' , 'long' )
 label_test.OutPort( 'MAXT' , 'long' )
 label_test.OutPort( 'AVERAGET' , 'double' )
 label_test.OutPort( 'SYRLISTT' , 'ListOfSyr' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( '' )
-label_test.Coords( 399 , 176 )
 
 # 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 = GraphSyrControlAve.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
+control_m3p1.SetName( 'control_m3p1' )
+control_m3p1.SetAuthor( '' )
+control_m3p1.SetComment( '' )
+control_m3p1.Coords( 1058 , 8 )
 control_m3p1.InPort( 'N' , 'long' )
 control_m3p1.InPort( 'K' , 'long' )
 control_m3p1.InPort( 'MINT' , 'long' )
@@ -153,14 +172,15 @@ control_m3p1.OutPort( 'MIN' , 'long' )
 control_m3p1.OutPort( 'MAX' , 'long' )
 control_m3p1.OutPort( 'AVERAGE' , 'double' )
 control_m3p1.OutPort( 'SYRLIST' , 'ListOfSyr' )
-control_m3p1.SetName( 'control_m3p1' )
-control_m3p1.SetAuthor( '' )
-control_m3p1.SetComment( '' )
-control_m3p1.Coords( 808 , 29 )
+
 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 = GraphSyrControlAve.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
+control_div2.SetName( 'control_div2' )
+control_div2.SetAuthor( '' )
+control_div2.SetComment( '' )
+control_div2.Coords( 1048 , 555 )
 control_div2.InPort( 'N' , 'long' )
 control_div2.InPort( 'K' , 'long' )
 control_div2.InPort( 'MINT' , 'long' )
@@ -173,137 +193,199 @@ control_div2.OutPort( 'MINB' , 'long' )
 control_div2.OutPort( 'MAXB' , 'long' )
 control_div2.OutPort( 'AVERAGEB' , 'double' )
 control_div2.OutPort( 'SYRLISTB' , 'ListOfSyr' )
-control_div2.SetName( 'control_div2' )
-control_div2.SetAuthor( '' )
-control_div2.SetComment( '' )
-control_div2.Coords( 812 , 357 )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
 label_testValEven = GraphSyrControlAve.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 385 , 358 )
-label_testValEven.AddCoord( 2 , 385 , 490 )
+label_testValEven.AddCoord( 1 , 545 , 269 )
+label_testValEven.AddCoord( 2 , 545 , 535 )
+
 test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
 label_testValOne = GraphSyrControlAve.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 385 , 328 )
-label_testValOne.AddCoord( 2 , 385 , 283 )
+label_testValOne.AddCoord( 1 , 546 , 241 )
+label_testValOne.AddCoord( 2 , 545 , 208 )
+
 m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
 control_m3p1N = GraphSyrControlAve.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-control_m3p1N.AddCoord( 1 , 786 , 181 )
-control_m3p1N.AddCoord( 2 , 786 , 182 )
+control_m3p1N.AddCoord( 1 , 977 , 43 )
+control_m3p1N.AddCoord( 2 , 976 , 81 )
+
 div2anInteger = div2.Port( 'anInteger' )
 control_div2N = GraphSyrControlAve.Link( div2anInteger , control_div2.Port( 'N' ) )
-control_div2N.AddCoord( 1 , 799 , 509 )
-control_div2N.AddCoord( 2 , 799 , 543 )
+control_div2N.AddCoord( 1 , 1011 , 590 )
+control_div2N.AddCoord( 2 , 1010 , 357 )
+
 incraNewCount = incr.Port( 'aNewCount' )
 control_div2K = GraphSyrControlAve.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 787 , 539 )
-control_div2K.AddCoord( 2 , 787 , 359 )
+control_div2K.AddCoord( 1 , 964 , 618 )
+control_div2K.AddCoord( 2 , 966 , 217 )
+
 control_m3p1K = GraphSyrControlAve.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 790 , 211 )
-control_m3p1K.AddCoord( 2 , 790 , 358 )
+control_m3p1K.AddCoord( 1 , 966 , 70 )
+control_m3p1K.AddCoord( 2 , 966 , 216 )
+
 C_AVERAGEaCount = GraphSyrControlAve.Link( incraNewCount , C_AVERAGE.Port( 'aCount' ) )
+C_AVERAGEaCount.AddCoord( 1 , 778 , 615 )
+C_AVERAGEaCount.AddCoord( 2 , 779 , 462 )
+C_AVERAGEaCount.AddCoord( 3 , 965 , 462 )
+C_AVERAGEaCount.AddCoord( 4 , 966 , 216 )
+
+C_MINaNewMinVal = C_MIN.Port( 'aNewMinVal' )
+control_m3p1MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_m3p1.Port( 'MINT' ) )
+control_m3p1MINT.AddCoord( 1 , 991 , 100 )
+control_m3p1MINT.AddCoord( 2 , 991 , 913 )
+
+control_div2MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_div2.Port( 'MINT' ) )
+control_div2MINT.AddCoord( 1 , 990 , 646 )
+control_div2MINT.AddCoord( 2 , 991 , 912 )
+
+C_MAXaNewMaxVal = C_MAX.Port( 'aNewMaxVal' )
+control_m3p1MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_m3p1.Port( 'MAXT' ) )
+control_m3p1MAXT.AddCoord( 1 , 974 , 130 )
+control_m3p1MAXT.AddCoord( 2 , 974 , 747 )
+
+control_div2MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_div2.Port( 'MAXT' ) )
+control_div2MAXT.AddCoord( 1 , 973 , 676 )
+control_div2MAXT.AddCoord( 2 , 974 , 747 )
+
+C_AVERAGEaNewListOfSyr = C_AVERAGE.Port( 'aNewListOfSyr' )
+control_m3p1SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_m3p1.Port( 'SYRLISTT' ) )
+control_m3p1SYRLISTT.AddCoord( 1 , 1037 , 188 )
+control_m3p1SYRLISTT.AddCoord( 2 , 1038 , 556 )
+
+control_div2SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_div2.Port( 'SYRLISTT' ) )
+control_div2SYRLISTT.AddCoord( 1 , 1038 , 735 )
+control_div2SYRLISTT.AddCoord( 2 , 1038 , 555 )
+
+C_AVERAGEanAverage = C_AVERAGE.Port( 'anAverage' )
+control_m3p1AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_m3p1.Port( 'AVERAGET' ) )
+control_m3p1AVERAGET.AddCoord( 1 , 1027 , 158 )
+control_m3p1AVERAGET.AddCoord( 2 , 1026 , 584 )
+
+control_div2AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_div2.Port( 'AVERAGET' ) )
+control_div2AVERAGET.AddCoord( 1 , 1027 , 706 )
+control_div2AVERAGET.AddCoord( 2 , 1027 , 584 )
+
+C_LISTOFSYRaListOfSyr = C_LISTOFSYR.Port( 'aListOfSyr' )
+label_beginSYRLISTB = GraphSyrControlAve.Link( C_LISTOFSYRaListOfSyr , label_begin.Port( 'SYRLISTB' ) )
+
 label_beginNT = label_begin.Port( 'NT' )
 test_ISONEanInteger = GraphSyrControlAve.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 175 , 283 )
-test_ISONEanInteger.AddCoord( 2 , 175 , 368 )
+test_ISONEanInteger.AddCoord( 1 , 362 , 207 )
+test_ISONEanInteger.AddCoord( 2 , 362 , 299 )
+
 label_testNT = GraphSyrControlAve.Link( label_beginNT , label_test.Port( 'NT' ) )
-label_testNT.AddCoord( 1 , 367 , 388 )
-label_testNT.AddCoord( 2 , 367 , 319 )
-label_testNT.AddCoord( 3 , 175 , 321 )
-label_testNT.AddCoord( 4 , 175 , 368 )
+
 test_ISEVENanInteger = GraphSyrControlAve.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 183 , 486 )
-test_ISEVENanInteger.AddCoord( 2 , 183 , 368 )
+test_ISEVENanInteger.AddCoord( 1 , 361 , 534 )
+test_ISEVENanInteger.AddCoord( 2 , 362 , 299 )
+
 label_beginKT = label_begin.Port( 'KT' )
 label_testKT = GraphSyrControlAve.Link( label_beginKT , label_test.Port( 'KT' ) )
-label_testKT.AddCoord( 1 , 373 , 418 )
-label_testKT.AddCoord( 2 , 373 , 518 )
-label_testKT.AddCoord( 3 , 176 , 519 )
-label_testKT.AddCoord( 4 , 176 , 398 )
+
 label_beginMIN = label_begin.Port( 'MIN' )
 label_testMIN = GraphSyrControlAve.Link( label_beginMIN , label_test.Port( 'MIN' ) )
+
 label_beginMAX = label_begin.Port( 'MAX' )
 label_testMAX = GraphSyrControlAve.Link( label_beginMAX , label_test.Port( 'MAX' ) )
+
 label_beginAVERAGE = label_begin.Port( 'AVERAGE' )
 label_testAVERAGE = GraphSyrControlAve.Link( label_beginAVERAGE , label_test.Port( 'AVERAGE' ) )
+
 label_beginSYRLIST = label_begin.Port( 'SYRLIST' )
 label_testSYRLIST = GraphSyrControlAve.Link( label_beginSYRLIST , label_test.Port( 'SYRLIST' ) )
-label_testDefault = label_test.Port( 'Default' )
-EndL_OneEvenDefault = GraphSyrControlAve.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
+
+label_testFinished = label_test.Port( 'Finished' )
+EndL_OneEvenDefault = GraphSyrControlAve.Link( label_testFinished , EndL_OneEven.Port( 'Default' ) )
+
 label_testIncr = label_test.Port( 'Incr' )
 incrInGate = GraphSyrControlAve.Link( label_testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 578 , 328 )
-incrInGate.AddCoord( 2 , 578 , 358 )
+incrInGate.AddCoord( 1 , 779 , 250 )
+incrInGate.AddCoord( 2 , 780 , 269 )
+
 label_testEven = label_test.Port( 'Even' )
 div2InGate = GraphSyrControlAve.Link( label_testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 578 , 513 )
-div2InGate.AddCoord( 2 , 578 , 388 )
+div2InGate.AddCoord( 1 , 780 , 387 )
+div2InGate.AddCoord( 2 , 779 , 299 )
+
 label_testOdd = label_test.Port( 'Odd' )
 m3p1InGate = GraphSyrControlAve.Link( label_testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 565 , 151 )
-m3p1InGate.AddCoord( 2 , 565 , 418 )
+m3p1InGate.AddCoord( 1 , 756 , 115 )
+m3p1InGate.AddCoord( 2 , 756 , 328 )
+
 label_testN = label_test.Port( 'N' )
 m3p1anOddInteger = GraphSyrControlAve.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 609 , 181 )
-m3p1anOddInteger.AddCoord( 2 , 609 , 448 )
+m3p1anOddInteger.AddCoord( 1 , 740 , 80 )
+m3p1anOddInteger.AddCoord( 2 , 741 , 356 )
+
 div2anEvenInteger = GraphSyrControlAve.Link( label_testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 612 , 543 )
-div2anEvenInteger.AddCoord( 2 , 612 , 448 )
+
 C_MINanInteger = GraphSyrControlAve.Link( label_testN , C_MIN.Port( 'anInteger' ) )
+C_MINanInteger.AddCoord( 1 , 741 , 943 )
+C_MINanInteger.AddCoord( 2 , 740 , 357 )
+
 C_MAXanInteger = GraphSyrControlAve.Link( label_testN , C_MAX.Port( 'anInteger' ) )
+C_MAXanInteger.AddCoord( 1 , 742 , 778 )
+C_MAXanInteger.AddCoord( 2 , 741 , 359 )
+
 C_AVERAGEanInteger = GraphSyrControlAve.Link( label_testN , C_AVERAGE.Port( 'anInteger' ) )
+C_AVERAGEanInteger.AddCoord( 1 , 742 , 584 )
+C_AVERAGEanInteger.AddCoord( 2 , 741 , 357 )
+
 label_testK = label_test.Port( 'K' )
 incraCount = GraphSyrControlAve.Link( label_testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 594 , 358 )
-incraCount.AddCoord( 2 , 594 , 478 )
+incraCount.AddCoord( 1 , 765 , 217 )
+incraCount.AddCoord( 2 , 764 , 385 )
+
 label_testMINT = label_test.Port( 'MINT' )
 C_MINaMinVal = GraphSyrControlAve.Link( label_testMINT , C_MIN.Port( 'aMinVal' ) )
+C_MINaMinVal.AddCoord( 1 , 759 , 914 )
+C_MINaMinVal.AddCoord( 2 , 758 , 414 )
+
+EndL_OneEvenMIN = GraphSyrControlAve.Link( label_testMINT , EndL_OneEven.Port( 'MIN' ) )
+
 label_testMAXT = label_test.Port( 'MAXT' )
 C_MAXaMaxVal = GraphSyrControlAve.Link( label_testMAXT , C_MAX.Port( 'aMaxVal' ) )
+C_MAXaMaxVal.AddCoord( 1 , 729 , 749 )
+C_MAXaMaxVal.AddCoord( 2 , 728 , 444 )
+
+EndL_OneEvenMAX = GraphSyrControlAve.Link( label_testMAXT , EndL_OneEven.Port( 'MAX' ) )
+
+label_testAVERAGET = label_test.Port( 'AVERAGET' )
+EndL_OneEvenAVERAGE = GraphSyrControlAve.Link( label_testAVERAGET , EndL_OneEven.Port( 'AVERAGE' ) )
+
 label_testSYRLISTT = label_test.Port( 'SYRLISTT' )
 C_AVERAGEaListOfSyr = GraphSyrControlAve.Link( label_testSYRLISTT , C_AVERAGE.Port( 'aListOfSyr' ) )
+C_AVERAGEaListOfSyr.AddCoord( 1 , 771 , 557 )
+C_AVERAGEaListOfSyr.AddCoord( 2 , 770 , 502 )
+
 control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
 label_testInGate = GraphSyrControlAve.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
-C_MINaNewMinVal = C_MIN.Port( 'aNewMinVal' )
-control_m3p1MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_m3p1.Port( 'MINT' ) )
-control_div2MINT = GraphSyrControlAve.Link( C_MINaNewMinVal , control_div2.Port( 'MINT' ) )
-C_MAXaNewMaxVal = C_MAX.Port( 'aNewMaxVal' )
-control_m3p1MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_m3p1.Port( 'MAXT' ) )
-control_div2MAXT = GraphSyrControlAve.Link( C_MAXaNewMaxVal , control_div2.Port( 'MAXT' ) )
-C_AVERAGEaNewListOfSyr = C_AVERAGE.Port( 'aNewListOfSyr' )
-control_m3p1SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_m3p1.Port( 'SYRLISTT' ) )
-control_div2SYRLISTT = GraphSyrControlAve.Link( C_AVERAGEaNewListOfSyr , control_div2.Port( 'SYRLISTT' ) )
-C_AVERAGEanAverage = C_AVERAGE.Port( 'anAverage' )
-control_m3p1AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_m3p1.Port( 'AVERAGET' ) )
-control_div2AVERAGET = GraphSyrControlAve.Link( C_AVERAGEanAverage , control_div2.Port( 'AVERAGET' ) )
-C_LISTOFSYRaListOfSyr = C_LISTOFSYR.Port( 'aListOfSyr' )
-label_beginSYRLISTB = GraphSyrControlAve.Link( C_LISTOFSYRaListOfSyr , label_begin.Port( 'SYRLISTB' ) )
+label_testInGate.AddCoord( 1 , 553 , 536 )
+label_testInGate.AddCoord( 2 , 554 , 1025 )
+label_testInGate.AddCoord( 3 , 1242 , 1026 )
+label_testInGate.AddCoord( 4 , 1243 , 279 )
 
-# Creation of intermediate Output variables and of Loop Links
 control_div2OutGate = control_div2.Port( 'OutGate' )
 label_beginInGate = GraphSyrControlAve.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 176 , 476 )
+label_beginInGate.AddCoord( 2 , 176 , 997 )
+label_beginInGate.AddCoord( 3 , 1217 , 996 )
+label_beginInGate.AddCoord( 4 , 1218 , 768 )
 
 # Creation of Input datas
-label_beginNB = label_begin.Input( 'NB' , 7)
+label_beginNB = label_begin.Input( 'NB' , 31)
 label_beginKB = label_begin.Input( 'KB' , 0)
 label_beginMINB = label_begin.Input( 'MINB' , 0)
 label_beginMAXB = label_begin.Input( 'MAXB' , 0)
 label_beginAVERAGEB = label_begin.Input( 'AVERAGEB' , 0)
 
 # Creation of Output variables
-label_testFinished = label_test.Port( 'Finished' )
-label_testAVERAGET = label_test.Port( 'AVERAGET' )
-
-GraphSyrControlAve.PrintPorts()
-
-GraphSyrControlAve.Export('../GraphSyrControlAve')
-
-GraphSyrControlAve.Run( 7 )
+EndL_OneEvenMIN = EndL_OneEven.Port( 'MIN' )
+EndL_OneEvenMAX = EndL_OneEven.Port( 'MAX' )
+EndL_OneEvenAVERAGE = EndL_OneEven.Port( 'AVERAGE' )
 
+GraphSyrControlAve.Run()
 GraphSyrControlAve.DoneW()
-
 GraphSyrControlAve.State()
-
 GraphSyrControlAve.PrintPorts()
-
index 1d8b6d608208e9f5e13a8b1457b89f3d44feb482..e94ce9307c31466245a66f814f91845b0157416e 100644 (file)
     <outParameter-list>
 <outParameter>
 <outParameter-type>long</outParameter-type>
-      <outParameter-name>label_test\Finished</outParameter-name>     </outParameter>
+      <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>label_test\AVERAGET</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+      <outParameter-name>EndL_OneEven\AVERAGE</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>11/3/2003 - 17:46:14</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:17:14</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>JR</author>
    <container>?</container>
    <comment>Syracuse algorithm</comment>
       <outParameter-name>BoolEven</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</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>
+   <x-position>370</x-position>
+   <y-position>455</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>BoolOne</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</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>
+   <x-position>370</x-position>
+   <y-position>127</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>anEvenInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_M3P1 from SyrComponent</comment>
-   <x-position>621</x-position>
-   <y-position>29</y-position>  </node>
+   <x-position>789</x-position>
+   <y-position>0</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>anInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_DIV2 from SyrComponent</comment>
-   <x-position>624</x-position>
-   <y-position>391</y-position>  </node>
+   <x-position>789</x-position>
+   <y-position>276</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
       <outParameter-name>aNewCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <Parameter-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_INCR from SyrComponent</comment>
-   <x-position>623</x-position>
-   <y-position>206</y-position>  </node>
+   <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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_LISTOFSYR from SyrComponent</comment>
+   <x-position>4</x-position>
+   <y-position>363</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <FuncName>label_begin</FuncName>
      <PyFunc><![CDATA[def label_begin( NB , KB , MINB , MAXB , AVERAGEB , SYRLISTB ) :]]></PyFunc>
      <PyFunc><![CDATA[    return NB,KB,MINB,MAXB,AVERAGEB,SYRLISTB]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>7</x-position>
-   <y-position>216</y-position>  </node>
+   <x-position>183</x-position>
+   <y-position>219</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
      <PyFunc><![CDATA[    return Finished,Incr,Even,Odd,NT,KT,MIN,MAX,AVERAGE,SYRLIST]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>399</x-position>
-   <y-position>176</y-position>  </node>
+   <x-position>563</x-position>
+   <y-position>206</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
    <coupled-node>label_test</coupled-node>
    <service>
 <service-name>EndL_OneEven</service-name>
-    <inParameter-list/>
-    <outParameter-list/>   </service>
+    <inParameter-list>
+<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-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>
    <Parameter-list/>
    <PyFunction-list>
 <PyFunction/>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>1045</x-position>
-   <y-position>278</y-position>  </node>
+   <x-position>1064</x-position>
+   <y-position>379</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <FuncName>C_NotOneIsEven</FuncName>
      <PyFunc><![CDATA[def C_NotOneIsEven( N , K , MINT , MAXT , AVERAGET , SYRLISTT ):]]></PyFunc>
      <PyFunc><![CDATA[    return 0,1,N,K,MINT,MAXT,AVERAGET,SYRLISTT]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>808</x-position>
-   <y-position>29</y-position>  </node>
+   <x-position>1058</x-position>
+   <y-position>8</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <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>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
+   <creation-date>2/10/2003 - 11:36:18</creation-date>
+   <lastmodification-date>2/10/2003 - 11:36:18</lastmodification-date>
+   <editor-release>1.05</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>812</x-position>
-   <y-position>357</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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>localhost/FactoryServer</container>
-   <comment>C_MIN from SyrComponent</comment>
-   <x-position>0</x-position>
-   <y-position>0</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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>localhost/FactoryServer</container>
-   <comment>C_MAX from SyrComponent</comment>
-   <x-position>0</x-position>
-   <y-position>0</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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>localhost/FactoryServer</container>
-   <comment>C_AVERAGE from SyrComponent</comment>
-   <x-position>0</x-position>
-   <y-position>0</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>
-   <Parameter-list/>
-   <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:27:49</creation-date>
-   <lastmodification-date>25/3/2003 - 17:27:49</lastmodification-date>
-   <editor-release>1.04</editor-release>
-   <author>?</author>
-   <container>localhost/FactoryServer</container>
-   <comment>C_LISTOFSYR from SyrComponent</comment>
-   <x-position>0</x-position>
-   <y-position>0</y-position>  </node> </node-list>
+   <x-position>1048</x-position>
+   <y-position>555</y-position>  </node> </node-list>
  <link-list>
 <link>
 <fromnode-name>test_ISEVEN</fromnode-name>
    <toserviceparameter-name>ValEven</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>385</x>
-     <y>358</y>    </coord>
+<x>545</x>
+     <y>269</y>    </coord>
     <coord>
-<x>385</x>
-     <y>490</y>    </coord>   </coord-list>  </link>
+<x>545</x>
+     <y>535</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>test_ISONE</fromnode-name>
    <fromserviceparameter-name>BoolOne</fromserviceparameter-name>
    <toserviceparameter-name>ValOne</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>385</x>
-     <y>328</y>    </coord>
+<x>546</x>
+     <y>241</y>    </coord>
     <coord>
-<x>385</x>
-     <y>283</y>    </coord>   </coord-list>  </link>
+<x>545</x>
+     <y>208</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>m3p1</fromnode-name>
    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
    <toserviceparameter-name>N</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>786</x>
-     <y>181</y>    </coord>
+<x>977</x>
+     <y>43</y>    </coord>
     <coord>
-<x>786</x>
-     <y>182</y>    </coord>   </coord-list>  </link>
+<x>976</x>
+     <y>81</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>div2</fromnode-name>
    <fromserviceparameter-name>anInteger</fromserviceparameter-name>
    <toserviceparameter-name>N</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>799</x>
-     <y>509</y>    </coord>
+<x>1011</x>
+     <y>590</y>    </coord>
     <coord>
-<x>799</x>
-     <y>543</y>    </coord>   </coord-list>  </link>
+<x>1010</x>
+     <y>357</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>incr</fromnode-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <toserviceparameter-name>K</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>787</x>
-     <y>539</y>    </coord>
+<x>964</x>
+     <y>618</y>    </coord>
     <coord>
-<x>787</x>
-     <y>359</y>    </coord>   </coord-list>  </link>
+<x>966</x>
+     <y>217</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>incr</fromnode-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <toserviceparameter-name>K</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>790</x>
-     <y>211</y>    </coord>
+<x>966</x>
+     <y>70</y>    </coord>
     <coord>
-<x>790</x>
-     <y>358</y>    </coord>   </coord-list>  </link>
+<x>966</x>
+     <y>216</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>778</x>
+     <y>615</y>    </coord>
+    <coord>
+<x>779</x>
+     <y>462</y>    </coord>
+    <coord>
+<x>965</x>
+     <y>462</y>    </coord>
+    <coord>
+<x>966</x>
+     <y>216</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>100</y>    </coord>
+    <coord>
+<x>991</x>
+     <y>913</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>990</x>
+     <y>646</y>    </coord>
+    <coord>
+<x>991</x>
+     <y>912</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>974</x>
+     <y>130</y>    </coord>
+    <coord>
+<x>974</x>
+     <y>747</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>973</x>
+     <y>676</y>    </coord>
+    <coord>
+<x>974</x>
+     <y>747</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>188</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>735</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>1027</x>
+     <y>158</y>    </coord>
+    <coord>
+<x>1026</x>
+     <y>584</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>706</y>    </coord>
+    <coord>
+<x>1027</x>
+     <y>584</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>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>175</x>
-     <y>283</y>    </coord>
+<x>362</x>
+     <y>207</y>    </coord>
     <coord>
-<x>175</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+<x>362</x>
+     <y>299</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>
-<coord>
-<x>367</x>
-     <y>388</y>    </coord>
-    <coord>
-<x>367</x>
-     <y>319</y>    </coord>
-    <coord>
-<x>175</x>
-     <y>321</y>    </coord>
-    <coord>
-<x>175</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+   <coord-list/>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>183</x>
-     <y>486</y>    </coord>
+<x>361</x>
+     <y>534</y>    </coord>
     <coord>
-<x>183</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+<x>362</x>
+     <y>299</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>
-<coord>
-<x>373</x>
-     <y>418</y>    </coord>
-    <coord>
-<x>373</x>
-     <y>518</y>    </coord>
-    <coord>
-<x>176</x>
-     <y>519</y>    </coord>
-    <coord>
-<x>176</x>
-     <y>398</y>    </coord>   </coord-list>  </link>
+   <coord-list/>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>MIN</fromserviceparameter-name>
    <coord-list/>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <fromserviceparameter-name>Finished</fromserviceparameter-name>
    <tonode-name>EndL_OneEven</tonode-name>
    <toserviceparameter-name>Default</toserviceparameter-name>
    <coord-list/>  </link>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>578</x>
-     <y>328</y>    </coord>
+<x>779</x>
+     <y>250</y>    </coord>
     <coord>
-<x>578</x>
-     <y>358</y>    </coord>   </coord-list>  </link>
+<x>780</x>
+     <y>269</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>Even</fromserviceparameter-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>578</x>
-     <y>513</y>    </coord>
+<x>780</x>
+     <y>387</y>    </coord>
     <coord>
-<x>578</x>
-     <y>388</y>    </coord>   </coord-list>  </link>
+<x>779</x>
+     <y>299</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>565</x>
-     <y>151</y>    </coord>
+<x>756</x>
+     <y>115</y>    </coord>
     <coord>
-<x>565</x>
-     <y>418</y>    </coord>   </coord-list>  </link>
+<x>756</x>
+     <y>328</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>N</fromserviceparameter-name>
    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>609</x>
-     <y>181</y>    </coord>
+<x>740</x>
+     <y>80</y>    </coord>
     <coord>
-<x>609</x>
-     <y>448</y>    </coord>   </coord-list>  </link>
+<x>741</x>
+     <y>356</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>
-<coord>
-<x>612</x>
-     <y>543</y>    </coord>
-    <coord>
-<x>612</x>
-     <y>448</y>    </coord>   </coord-list>  </link>
+   <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/>  </link>
+   <coord-list>
+<coord>
+<x>741</x>
+     <y>943</y>    </coord>
+    <coord>
+<x>740</x>
+     <y>357</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/>  </link>
+   <coord-list>
+<coord>
+<x>742</x>
+     <y>778</y>    </coord>
+    <coord>
+<x>741</x>
+     <y>359</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/>  </link>
+   <coord-list>
+<coord>
+<x>742</x>
+     <y>584</y>    </coord>
+    <coord>
+<x>741</x>
+     <y>357</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <toserviceparameter-name>aCount</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>594</x>
-     <y>358</y>    </coord>
+<x>765</x>
+     <y>217</y>    </coord>
     <coord>
-<x>594</x>
-     <y>478</y>    </coord>   </coord-list>  </link>
+<x>764</x>
+     <y>385</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>759</x>
+     <y>914</y>    </coord>
+    <coord>
+<x>758</x>
+     <y>414</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>label_test</fromnode-name>
+   <fromserviceparameter-name>MINT</fromserviceparameter-name>
+   <tonode-name>EndL_OneEven</tonode-name>
+   <toserviceparameter-name>MIN</toserviceparameter-name>
    <coord-list/>  </link>
   <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>729</x>
+     <y>749</y>    </coord>
+    <coord>
+<x>728</x>
+     <y>444</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>label_test</fromnode-name>
+   <fromserviceparameter-name>MAXT</fromserviceparameter-name>
+   <tonode-name>EndL_OneEven</tonode-name>
+   <toserviceparameter-name>MAX</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>label_test</fromnode-name>
+   <fromserviceparameter-name>AVERAGET</fromserviceparameter-name>
+   <tonode-name>EndL_OneEven</tonode-name>
+   <toserviceparameter-name>AVERAGE</toserviceparameter-name>
    <coord-list/>  </link>
   <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/>  </link>
+   <coord-list>
+<coord>
+<x>771</x>
+     <y>557</y>    </coord>
+    <coord>
+<x>770</x>
+     <y>502</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>control_m3p1</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_test</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>553</x>
+     <y>536</y>    </coord>
+    <coord>
+<x>554</x>
+     <y>1025</y>    </coord>
+    <coord>
+<x>1242</x>
+     <y>1026</y>    </coord>
+    <coord>
+<x>1243</x>
+     <y>279</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>control_div2</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <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/>  </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/>  </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/>  </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/>  </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/>  </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/>  </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/>  </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/>  </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-list>
+   <coord-list>
+<coord>
+<x>176</x>
+     <y>476</y>    </coord>
+    <coord>
+<x>176</x>
+     <y>997</y>    </coord>
+    <coord>
+<x>1217</x>
+     <y>996</y>    </coord>
+    <coord>
+<x>1218</x>
+     <y>768</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
 <fromnode-name>GraphSyrControlAve</fromnode-name>
    <toserviceparameter-name>NB</toserviceparameter-name>
    <data-value>
 <value-type>3</value-type>
-    <value>7</value>   </data-value>
+    <value>31</value>   </data-value>
    <coord-list/>  </data>
   <data>
 <fromnode-name>GraphSyrControlAve</fromnode-name>
    <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>AVERAGEB</toserviceparameter-name>
    <data-value>
-<value-type>3</value-type>
+<value-type>7</value-type>
     <value>0</value>   </data-value>
    <coord-list/>  </data> </data-list></dataflow>
index 489d53eb8e62b3f492864a784bf49f677fe7409a..16c74657319efeeb9c5cb6d87520654ccbc46459 100644 (file)
@@ -10,36 +10,41 @@ GraphSyrControlDefault.SetComment( 'Syracuse algorithm' )
 GraphSyrControlDefault.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
+
 test_ISEVEN = GraphSyrControlDefault.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 )
+test_ISEVEN.Coords( 204 , 444 )
+
 test_ISONE = GraphSyrControlDefault.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 )
+test_ISONE.Coords( 201 , 52 )
+
 m3p1 = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
 m3p1.SetName( 'm3p1' )
 m3p1.SetAuthor( '' )
 m3p1.SetContainer( 'localhost/FactoryServer' )
 m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 621 , 14 )
+m3p1.Coords( 806 , 19 )
+
 div2 = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
 div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 624 , 391 )
+div2.Coords( 803 , 451 )
+
 incr = GraphSyrControlDefault.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incr.SetName( 'incr' )
 incr.SetAuthor( '' )
 incr.SetContainer( 'localhost/FactoryServer' )
 incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 622 , 199 )
+incr.Coords( 802 , 170 )
 
 # Creation of InLine Nodes
 Pylabel_begin = []
@@ -47,31 +52,26 @@ Pylabel_begin.append( 'def label_begin( NB , KB ):' )
 Pylabel_begin.append( '    print "label_begin",NB,KB' )
 Pylabel_begin.append( '    return NB,KB' )
 label_begin = GraphSyrControlDefault.INode( 'label_begin' , Pylabel_begin )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
 label_begin.SetName( 'label_begin' )
 label_begin.SetAuthor( '' )
 label_begin.SetComment( 'Python function' )
-label_begin.Coords( 7 , 216 )
+label_begin.Coords( 12 , 264 )
+label_begin.InPort( 'NB' , 'long' )
+label_begin.InPort( 'KB' , 'long' )
+
 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 = GraphSyrControlDefault.INode( 'label_test' , Pylabel_test )
+label_test.SetName( 'label_test' )
+label_test.SetAuthor( '' )
+label_test.SetComment( 'Python function' )
+label_test.Coords( 415 , 206 )
 label_test.InPort( 'ValEven' , 'long' )
 label_test.InPort( 'ValOne' , 'long' )
 label_test.InPort( 'NT' , 'long' )
 label_test.InPort( 'KT' , 'long' )
-label_test.OutPort( 'ValEven' , 'long' )
-label_test.OutPort( 'ValOne' , 'long' )
-label_test.OutPort( 'NT' , 'long' )
-label_test.OutPort( 'KT' , 'long' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( 'Python function' )
-label_test.Coords( 7 , 216 )
 
 # Creation of Switch Nodes
 Pytest = []
@@ -94,99 +94,140 @@ test,EndSwitch_OneEven = GraphSyrControlDefault.SNode( 'Switch_OneEven' , Pytest
 EndSwitch_OneEven.SetName( 'EndSwitch_OneEven' )
 EndSwitch_OneEven.SetAuthor( '' )
 EndSwitch_OneEven.SetComment( '' )
-EndSwitch_OneEven.Coords( 1004 , 256 )
+EndSwitch_OneEven.Coords( 1074 , 367 )
 PyEndSwitch_OneEven = []
 EndSwitch_OneEven.SetPyFunction( 'EndSwitch_OneEven' , PyEndSwitch_OneEven )
 EndSwitch_OneEven.InPort( 'K' , 'long' )
 EndSwitch_OneEven.OutPort( 'K' , 'long' )
+test.SetName( 'test' )
+test.SetAuthor( '' )
+test.SetComment( '' )
+test.Coords( 597 , 251 )
 test.InPort( 'ValOne' , 'long' )
 test.InPort( 'ValEven' , 'long' )
 test.InPort( 'NT' , 'long' )
 test.InPort( 'KT' , 'long' )
-test.OutPort( 'Incr' , 'long' )
-test.OutPort( 'Even' , 'long' )
-test.OutPort( 'Odd' , 'long' )
-test.OutPort( 'N' , 'long' )
-test.OutPort( 'K' , 'long' )
-test.SetName( 'test' )
-test.SetAuthor( '' )
-test.SetComment( '' )
-test.Coords( 399 , 176 )
 
 # Creation of GOTO Nodes
 Pycontrol_m3p1 = []
 Pycontrol_m3p1.append( 'def control_m3p1( N , K ):' )
 Pycontrol_m3p1.append( '    return 0,1,N,K' )
 control_m3p1 = GraphSyrControlDefault.GNode( 'control_m3p1' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
 control_m3p1.SetName( 'control_m3p1' )
 control_m3p1.SetAuthor( '' )
 control_m3p1.SetComment( '' )
-control_m3p1.Coords( 814 , 13 )
+control_m3p1.Coords( 1002 , 64 )
+control_m3p1.InPort( 'N' , 'long' )
+control_m3p1.InPort( 'K' , 'long' )
+
 Pycontrol_div2 = []
 Pycontrol_div2.append( 'def control_div2( N , NB ) :' )
 Pycontrol_div2.append( '    return N,NB' )
 control_div2 = GraphSyrControlDefault.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
 control_div2.SetName( 'control_div2' )
 control_div2.SetAuthor( '' )
 control_div2.SetComment( '' )
-control_div2.Coords( 812 , 414 )
+control_div2.Coords( 1013 , 496 )
+control_div2.InPort( 'N' , 'long' )
+control_div2.InPort( 'K' , 'long' )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
 label_testValEven = GraphSyrControlDefault.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
+label_testValEven.AddCoord( 1 , 381 , 286 )
+label_testValEven.AddCoord( 2 , 382 , 524 )
+
 test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
 label_testValOne = GraphSyrControlDefault.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
+label_testValOne.AddCoord( 1 , 393 , 314 )
+label_testValOne.AddCoord( 2 , 393 , 133 )
+
 m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
 control_m3p1N = GraphSyrControlDefault.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
+
 div2anInteger = div2.Port( 'anInteger' )
 control_div2N = GraphSyrControlDefault.Link( div2anInteger , control_div2.Port( 'N' ) )
+
 incraNewCount = incr.Port( 'aNewCount' )
 control_m3p1K = GraphSyrControlDefault.Link( incraNewCount , control_m3p1.Port( 'K' ) )
+control_m3p1K.AddCoord( 1 , 985 , 128 )
+control_m3p1K.AddCoord( 2 , 985 , 250 )
+
 control_div2K = GraphSyrControlDefault.Link( incraNewCount , control_div2.Port( 'K' ) )
+control_div2K.AddCoord( 1 , 987 , 559 )
+control_div2K.AddCoord( 2 , 985 , 250 )
+
 label_beginNT = label_begin.Port( 'NT' )
 label_testNT = GraphSyrControlDefault.Link( label_beginNT , label_test.Port( 'NT' ) )
+
 test_ISEVENanInteger = GraphSyrControlDefault.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
+test_ISEVENanInteger.AddCoord( 1 , 191 , 524 )
+test_ISEVENanInteger.AddCoord( 2 , 192 , 345 )
+
 test_ISONEanInteger = GraphSyrControlDefault.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
+test_ISONEanInteger.AddCoord( 1 , 192 , 131 )
+test_ISONEanInteger.AddCoord( 2 , 193 , 345 )
+
 label_beginKT = label_begin.Port( 'KT' )
 label_testKT = GraphSyrControlDefault.Link( label_beginKT , label_test.Port( 'KT' ) )
+
 label_testValEven = label_test.Port( 'ValEven' )
 testValEven = GraphSyrControlDefault.Link( label_testValEven , test.Port( 'ValEven' ) )
+
 label_testValOne = label_test.Port( 'ValOne' )
 testValOne = GraphSyrControlDefault.Link( label_testValOne , test.Port( 'ValOne' ) )
+
 label_testNT = label_test.Port( 'NT' )
 testNT = GraphSyrControlDefault.Link( label_testNT , test.Port( 'NT' ) )
+
 label_testKT = label_test.Port( 'KT' )
 testKT = GraphSyrControlDefault.Link( label_testKT , test.Port( 'KT' ) )
-testDefault = test.Port( 'Default' )
-EndSwitch_OneEvenDefault = GraphSyrControlDefault.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
+
 testIncr = test.Port( 'Incr' )
 incrInGate = GraphSyrControlDefault.Link( testIncr , incr.Port( 'InGate' ) )
+
 testEven = test.Port( 'Even' )
 div2InGate = GraphSyrControlDefault.Link( testEven , div2.Port( 'InGate' ) )
+div2InGate.AddCoord( 1 , 793 , 567 )
+div2InGate.AddCoord( 2 , 792 , 314 )
+
 testOdd = test.Port( 'Odd' )
 m3p1InGate = GraphSyrControlDefault.Link( testOdd , m3p1.Port( 'InGate' ) )
+m3p1InGate.AddCoord( 1 , 786 , 132 )
+m3p1InGate.AddCoord( 2 , 785 , 343 )
+
 testN = test.Port( 'N' )
 m3p1anOddInteger = GraphSyrControlDefault.Link( testN , m3p1.Port( 'anOddInteger' ) )
+m3p1anOddInteger.AddCoord( 1 , 767 , 100 )
+m3p1anOddInteger.AddCoord( 2 , 767 , 371 )
+
 div2anEvenInteger = GraphSyrControlDefault.Link( testN , div2.Port( 'anEvenInteger' ) )
+div2anEvenInteger.AddCoord( 1 , 768 , 531 )
+div2anEvenInteger.AddCoord( 2 , 767 , 371 )
+
 testK = test.Port( 'K' )
 EndSwitch_OneEvenK = GraphSyrControlDefault.Link( testK , EndSwitch_OneEven.Port( 'K' ) )
+
 incraCount = GraphSyrControlDefault.Link( testK , incr.Port( 'aCount' ) )
+incraCount.AddCoord( 1 , 773 , 251 )
+incraCount.AddCoord( 2 , 774 , 400 )
+
+testDefault = test.Port( 'Default' )
+EndSwitch_OneEvenDefault = GraphSyrControlDefault.Link( testDefault , EndSwitch_OneEven.Port( 'Default' ) )
 
-# Creation of intermediate Output variables and of Loop Links
 control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
 label_testInGate = GraphSyrControlDefault.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
+label_testInGate.AddCoord( 1 , 402 , 406 )
+label_testInGate.AddCoord( 2 , 403 , 4 )
+label_testInGate.AddCoord( 3 , 1174 , 5 )
+label_testInGate.AddCoord( 4 , 1175 , 219 )
+
 control_div2OutGate = control_div2.Port( 'OutGate' )
 label_beginInGate = GraphSyrControlDefault.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 3 , 409 )
+label_beginInGate.AddCoord( 2 , 2 , 671 )
+label_beginInGate.AddCoord( 3 , 1199 , 670 )
+label_beginInGate.AddCoord( 4 , 1198 , 592 )
 
 # Creation of Input datas
 label_beginNB = label_begin.Input( 'NB' , 7)
@@ -194,13 +235,3 @@ label_beginKB = label_begin.Input( 'KB' , 0)
 
 # Creation of Output variables
 EndSwitch_OneEvenK = EndSwitch_OneEven.Port( 'K' )
-
-GraphSyrControlDefault.Run()
-
-GraphSyrControlDefault.DoneW()
-
-GraphSyrControlDefault.State()
-
-GraphSyrControlDefault.PrintPorts()
-
-EndSwitch_OneEven.PrintPorts()
index 259aa4bf4c99f24749b5079a117ac4b673880b55..8cf9d4d96e6e5d4a10895aec9eb53b71e8d534a2 100644 (file)
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>EndSwitch_OneEven\K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
    <creation-date>19/3/2003 - 16:49:51</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>JR</author>
    <container>?</container>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>BoolEven</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</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>
+   <x-position>204</x-position>
+   <y-position>444</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>BoolOne</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</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>
+   <x-position>201</x-position>
+   <y-position>52</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>anEvenInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_M3P1 from SyrComponent</comment>
-   <x-position>621</x-position>
-   <y-position>14</y-position>  </node>
+   <x-position>806</x-position>
+   <y-position>19</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>anInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_DIV2 from SyrComponent</comment>
-   <x-position>624</x-position>
-   <y-position>391</y-position>  </node>
+   <x-position>803</x-position>
+   <y-position>451</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>aNewCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_INCR from SyrComponent</comment>
-   <x-position>622</x-position>
-   <y-position>199</y-position>  </node>
+   <x-position>802</x-position>
+   <y-position>170</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <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>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>7</x-position>
-   <y-position>216</y-position>  </node>
+   <x-position>12</x-position>
+   <y-position>264</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <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>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>7</x-position>
-   <y-position>216</y-position>  </node>
+   <x-position>415</x-position>
+   <y-position>206</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>Switch_OneEven</FuncName>
      <PyFunc><![CDATA[        Odd = 0]]></PyFunc>
      <PyFunc><![CDATA[    Even = ValEven]]></PyFunc>
      <PyFunc><![CDATA[    return Incr,Even,Odd,NT,KT]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>399</x-position>
-   <y-position>176</y-position>  </node>
+   <x-position>597</x-position>
+   <y-position>251</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>1004</x-position>
-   <y-position>256</y-position>  </node>
+   <x-position>1074</x-position>
+   <y-position>367</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <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>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>814</x-position>
-   <y-position>13</y-position>  </node>
+   <x-position>1002</x-position>
+   <y-position>64</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KB</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <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>25/3/2003 - 17:36:32</creation-date>
-   <lastmodification-date>25/3/2003 - 17:36:32</lastmodification-date>
+   <creation-date>18/3/2004 - 13:59:54</creation-date>
+   <lastmodification-date>18/3/2004 - 13:59:54</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>812</x-position>
-   <y-position>414</y-position>  </node> </node-list>
+   <x-position>1013</x-position>
+   <y-position>496</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/>  </link>
+   <coord-list>
+<coord>
+<x>381</x>
+     <y>286</y>    </coord>
+    <coord>
+<x>382</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/>  </link>
+   <coord-list>
+<coord>
+<x>393</x>
+     <y>314</y>    </coord>
+    <coord>
+<x>393</x>
+     <y>133</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>m3p1</fromnode-name>
    <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <tonode-name>control_m3p1</tonode-name>
    <toserviceparameter-name>K</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>985</x>
+     <y>128</y>    </coord>
+    <coord>
+<x>985</x>
+     <y>250</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/>  </link>
+   <coord-list>
+<coord>
+<x>987</x>
+     <y>559</y>    </coord>
+    <coord>
+<x>985</x>
+     <y>250</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <tonode-name>test_ISEVEN</tonode-name>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>191</x>
+     <y>524</y>    </coord>
+    <coord>
+<x>192</x>
+     <y>345</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/>  </link>
+   <coord-list>
+<coord>
+<x>192</x>
+     <y>131</y>    </coord>
+    <coord>
+<x>193</x>
+     <y>345</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>KT</fromserviceparameter-name>
    <toserviceparameter-name>KT</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
-<fromnode-name>test</fromnode-name>
-   <fromserviceparameter-name>Default</fromserviceparameter-name>
-   <tonode-name>EndSwitch_OneEven</tonode-name>
-   <toserviceparameter-name>Default</toserviceparameter-name>
-   <coord-list/>  </link>
-  <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>Incr</fromserviceparameter-name>
    <tonode-name>incr</tonode-name>
    <fromserviceparameter-name>Even</fromserviceparameter-name>
    <tonode-name>div2</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>793</x>
+     <y>567</y>    </coord>
+    <coord>
+<x>792</x>
+     <y>314</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
    <tonode-name>m3p1</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>786</x>
+     <y>132</y>    </coord>
+    <coord>
+<x>785</x>
+     <y>343</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/>  </link>
+   <coord-list>
+<coord>
+<x>767</x>
+     <y>100</y>    </coord>
+    <coord>
+<x>767</x>
+     <y>371</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/>  </link>
+   <coord-list>
+<coord>
+<x>768</x>
+     <y>531</y>    </coord>
+    <coord>
+<x>767</x>
+     <y>371</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>test</fromnode-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <tonode-name>incr</tonode-name>
    <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>773</x>
+     <y>251</y>    </coord>
+    <coord>
+<x>774</x>
+     <y>400</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>test</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndSwitch_OneEven</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
    <coord-list/>  </link>
   <link>
 <fromnode-name>control_m3p1</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_test</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>402</x>
+     <y>406</y>    </coord>
+    <coord>
+<x>403</x>
+     <y>4</y>    </coord>
+    <coord>
+<x>1174</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>1175</x>
+     <y>219</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>control_div2</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
+   <coord-list>
+<coord>
+<x>3</x>
+     <y>409</y>    </coord>
+    <coord>
+<x>2</x>
+     <y>671</y>    </coord>
+    <coord>
+<x>1199</x>
+     <y>670</y>    </coord>
+    <coord>
+<x>1198</x>
+     <y>592</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
 <fromnode-name>GraphSyrControlDefault</fromnode-name>
index d2b53c56b9d2e665110ac3b74d1eb13ea777fff4..cf7becd7e3333e87933691025766a916f3e9f430 100644 (file)
@@ -10,50 +10,53 @@ GraphSyrControlGUI.SetComment( 'Syracuse algorithm' )
 GraphSyrControlGUI.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
+
 test_ISEVEN = GraphSyrControlGUI.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 )
+test_ISEVEN.Coords( 288 , 337 )
+
 test_ISONE = GraphSyrControlGUI.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 )
+test_ISONE.Coords( 293 , 130 )
+
 m3p1 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
 m3p1.SetName( 'm3p1' )
 m3p1.SetAuthor( '' )
 m3p1.SetContainer( 'localhost/FactoryServer' )
 m3p1.SetComment( 'C_M3P1 from SyrComponent' )
-m3p1.Coords( 621 , 29 )
+m3p1.Coords( 761 , 19 )
+
 div2 = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
 div2.SetComment( 'C_DIV2 from SyrComponent' )
-div2.Coords( 624 , 391 )
+div2.Coords( 770 , 384 )
+
 incr = GraphSyrControlGUI.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incr.SetName( 'incr' )
 incr.SetAuthor( '' )
 incr.SetContainer( 'localhost/FactoryServer' )
 incr.SetComment( 'C_INCR from SyrComponent' )
-incr.Coords( 623 , 206 )
+incr.Coords( 764 , 179 )
 
 # Creation of InLine Nodes
 Pylabel_begin = []
 Pylabel_begin.append( 'def label_begin( NB , KB ) :' )
 Pylabel_begin.append( '    return NB,KB' )
 label_begin = GraphSyrControlGUI.INode( 'label_begin' , Pylabel_begin )
-label_begin.InPort( 'NB' , 'long' )
-label_begin.InPort( 'KB' , 'long' )
-label_begin.OutPort( 'NT' , 'long' )
-label_begin.OutPort( 'KT' , 'long' )
 label_begin.SetName( 'label_begin' )
 label_begin.SetAuthor( '' )
 label_begin.SetComment( 'Python function' )
-label_begin.Coords( 7 , 216 )
+label_begin.Coords( 58 , 189 )
+label_begin.InPort( 'NB' , 'long' )
+label_begin.InPort( 'KB' , 'long' )
 
 # Creation of Switch Nodes
 Pylabel_test = []
@@ -76,125 +79,128 @@ label_test,EndL_OneEven = GraphSyrControlGUI.SNode( 'L_OneEven' , Pylabel_test )
 EndL_OneEven.SetName( 'EndL_OneEven' )
 EndL_OneEven.SetAuthor( '' )
 EndL_OneEven.SetComment( '' )
-EndL_OneEven.Coords( 1034 , 252 )
+EndL_OneEven.Coords( 1068 , 258 )
 PyEndL_OneEven = []
 EndL_OneEven.SetPyFunction( 'EndL_OneEven' , PyEndL_OneEven )
+label_test.SetName( 'label_test' )
+label_test.SetAuthor( '' )
+label_test.SetComment( '' )
+label_test.Coords( 516 , 175 )
 label_test.InPort( 'ValOne' , 'long' )
 label_test.InPort( 'ValEven' , 'long' )
 label_test.InPort( 'NT' , 'long' )
 label_test.InPort( 'KT' , 'long' )
-label_test.OutPort( 'Finished' , 'long' )
-label_test.OutPort( 'Incr' , 'long' )
-label_test.OutPort( 'Even' , 'long' )
-label_test.OutPort( 'Odd' , 'long' )
-label_test.OutPort( 'N' , 'long' )
-label_test.OutPort( 'K' , 'long' )
-label_test.SetName( 'label_test' )
-label_test.SetAuthor( '' )
-label_test.SetComment( '' )
-label_test.Coords( 399 , 176 )
 
 # Creation of GOTO Nodes
 Pycontrol_m3p1 = []
 Pycontrol_m3p1.append( 'def C_NotOneIsEven( N , K ):' )
 Pycontrol_m3p1.append( '    return 0,1,N,K' )
 control_m3p1 = GraphSyrControlGUI.GNode( 'C_NotOneIsEven' , Pycontrol_m3p1 , 'label_test' )
-control_m3p1.InPort( 'N' , 'long' )
-control_m3p1.InPort( 'K' , 'long' )
-control_m3p1.OutPort( 'ValOne' , 'long' )
-control_m3p1.OutPort( 'ValEven' , 'long' )
-control_m3p1.OutPort( 'NT' , 'long' )
-control_m3p1.OutPort( 'KT' , 'long' )
 control_m3p1.SetName( 'control_m3p1' )
 control_m3p1.SetAuthor( '' )
 control_m3p1.SetComment( '' )
-control_m3p1.Coords( 808 , 29 )
+control_m3p1.Coords( 972 , 64 )
+control_m3p1.InPort( 'N' , 'long' )
+control_m3p1.InPort( 'K' , 'long' )
+
 Pycontrol_div2 = []
 Pycontrol_div2.append( 'def control_div2( N , K ) :' )
 Pycontrol_div2.append( '    return N,K' )
 control_div2 = GraphSyrControlGUI.GNode( 'control_div2' , Pycontrol_div2 , 'label_begin' )
-control_div2.InPort( 'N' , 'long' )
-control_div2.InPort( 'K' , 'long' )
-control_div2.OutPort( 'NB' , 'long' )
-control_div2.OutPort( 'KB' , 'long' )
 control_div2.SetName( 'control_div2' )
 control_div2.SetAuthor( '' )
 control_div2.SetComment( '' )
-control_div2.Coords( 812 , 357 )
+control_div2.Coords( 972 , 430 )
+control_div2.InPort( 'N' , 'long' )
+control_div2.InPort( 'K' , 'long' )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
 label_testValEven = GraphSyrControlGUI.Link( test_ISEVENBoolEven , label_test.Port( 'ValEven' ) )
-label_testValEven.AddCoord( 1 , 385 , 358 )
-label_testValEven.AddCoord( 2 , 385 , 490 )
+label_testValEven.AddCoord( 1 , 493 , 238 )
+label_testValEven.AddCoord( 2 , 493 , 418 )
+
 test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
 label_testValOne = GraphSyrControlGUI.Link( test_ISONEBoolOne , label_test.Port( 'ValOne' ) )
-label_testValOne.AddCoord( 1 , 385 , 328 )
-label_testValOne.AddCoord( 2 , 385 , 283 )
+
 m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
 control_m3p1N = GraphSyrControlGUI.Link( m3p1anEvenInteger , control_m3p1.Port( 'N' ) )
-control_m3p1N.AddCoord( 1 , 786 , 181 )
-control_m3p1N.AddCoord( 2 , 786 , 182 )
+
 div2anInteger = div2.Port( 'anInteger' )
 control_div2N = GraphSyrControlGUI.Link( div2anInteger , control_div2.Port( 'N' ) )
-control_div2N.AddCoord( 1 , 799 , 509 )
-control_div2N.AddCoord( 2 , 799 , 543 )
+
 incraNewCount = incr.Port( 'aNewCount' )
 control_div2K = GraphSyrControlGUI.Link( incraNewCount , control_div2.Port( 'K' ) )
-control_div2K.AddCoord( 1 , 787 , 539 )
-control_div2K.AddCoord( 2 , 787 , 359 )
+control_div2K.AddCoord( 1 , 954 , 494 )
+control_div2K.AddCoord( 2 , 954 , 259 )
+
 control_m3p1K = GraphSyrControlGUI.Link( incraNewCount , control_m3p1.Port( 'K' ) )
-control_m3p1K.AddCoord( 1 , 790 , 211 )
-control_m3p1K.AddCoord( 2 , 790 , 358 )
+control_m3p1K.AddCoord( 1 , 955 , 128 )
+control_m3p1K.AddCoord( 2 , 954 , 258 )
+
 label_beginNT = label_begin.Port( 'NT' )
 test_ISONEanInteger = GraphSyrControlGUI.Link( label_beginNT , test_ISONE.Port( 'anInteger' ) )
-test_ISONEanInteger.AddCoord( 1 , 175 , 283 )
-test_ISONEanInteger.AddCoord( 2 , 175 , 368 )
+test_ISONEanInteger.AddCoord( 1 , 275 , 211 )
+test_ISONEanInteger.AddCoord( 2 , 275 , 270 )
+
 label_testNT = GraphSyrControlGUI.Link( label_beginNT , label_test.Port( 'NT' ) )
-label_testNT.AddCoord( 1 , 367 , 388 )
-label_testNT.AddCoord( 2 , 367 , 319 )
-label_testNT.AddCoord( 3 , 175 , 321 )
-label_testNT.AddCoord( 4 , 175 , 368 )
+
 test_ISEVENanInteger = GraphSyrControlGUI.Link( label_beginNT , test_ISEVEN.Port( 'anInteger' ) )
-test_ISEVENanInteger.AddCoord( 1 , 183 , 486 )
-test_ISEVENanInteger.AddCoord( 2 , 183 , 368 )
+test_ISEVENanInteger.AddCoord( 1 , 274 , 417 )
+test_ISEVENanInteger.AddCoord( 2 , 275 , 270 )
+
 label_beginKT = label_begin.Port( 'KT' )
 label_testKT = GraphSyrControlGUI.Link( label_beginKT , label_test.Port( 'KT' ) )
-label_testKT.AddCoord( 1 , 373 , 418 )
-label_testKT.AddCoord( 2 , 373 , 518 )
-label_testKT.AddCoord( 3 , 176 , 519 )
-label_testKT.AddCoord( 4 , 176 , 398 )
-label_testDefault = label_test.Port( 'Default' )
-EndL_OneEvenDefault = GraphSyrControlGUI.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
+label_testKT.AddCoord( 1 , 476 , 294 )
+label_testKT.AddCoord( 2 , 475 , 515 )
+label_testKT.AddCoord( 3 , 260 , 515 )
+label_testKT.AddCoord( 4 , 260 , 298 )
+
 label_testIncr = label_test.Port( 'Incr' )
 incrInGate = GraphSyrControlGUI.Link( label_testIncr , incr.Port( 'InGate' ) )
-incrInGate.AddCoord( 1 , 578 , 328 )
-incrInGate.AddCoord( 2 , 578 , 358 )
+incrInGate.AddCoord( 1 , 712 , 292 )
+incrInGate.AddCoord( 2 , 711 , 238 )
+
 label_testEven = label_test.Port( 'Even' )
 div2InGate = GraphSyrControlGUI.Link( label_testEven , div2.Port( 'InGate' ) )
-div2InGate.AddCoord( 1 , 578 , 513 )
-div2InGate.AddCoord( 2 , 578 , 388 )
+div2InGate.AddCoord( 1 , 724 , 498 )
+div2InGate.AddCoord( 2 , 723 , 268 )
+
 label_testOdd = label_test.Port( 'Odd' )
 m3p1InGate = GraphSyrControlGUI.Link( label_testOdd , m3p1.Port( 'InGate' ) )
-m3p1InGate.AddCoord( 1 , 565 , 151 )
-m3p1InGate.AddCoord( 2 , 565 , 418 )
+m3p1InGate.AddCoord( 1 , 698 , 132 )
+m3p1InGate.AddCoord( 2 , 697 , 297 )
+
 label_testN = label_test.Port( 'N' )
 m3p1anOddInteger = GraphSyrControlGUI.Link( label_testN , m3p1.Port( 'anOddInteger' ) )
-m3p1anOddInteger.AddCoord( 1 , 609 , 181 )
-m3p1anOddInteger.AddCoord( 2 , 609 , 448 )
+m3p1anOddInteger.AddCoord( 1 , 748 , 100 )
+m3p1anOddInteger.AddCoord( 2 , 747 , 325 )
+
 div2anEvenInteger = GraphSyrControlGUI.Link( label_testN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 612 , 543 )
-div2anEvenInteger.AddCoord( 2 , 612 , 448 )
+div2anEvenInteger.AddCoord( 1 , 746 , 463 )
+div2anEvenInteger.AddCoord( 2 , 747 , 327 )
+
 label_testK = label_test.Port( 'K' )
 incraCount = GraphSyrControlGUI.Link( label_testK , incr.Port( 'aCount' ) )
-incraCount.AddCoord( 1 , 594 , 358 )
-incraCount.AddCoord( 2 , 594 , 478 )
+incraCount.AddCoord( 1 , 732 , 260 )
+incraCount.AddCoord( 2 , 732 , 354 )
+
+label_testDefault = label_test.Port( 'Default' )
+EndL_OneEvenDefault = GraphSyrControlGUI.Link( label_testDefault , EndL_OneEven.Port( 'Default' ) )
+
 control_m3p1OutGate = control_m3p1.Port( 'OutGate' )
 label_testInGate = GraphSyrControlGUI.Link( control_m3p1OutGate , label_test.Port( 'InGate' ) )
+label_testInGate.AddCoord( 1 , 503 , 388 )
+label_testInGate.AddCoord( 2 , 505 , 5 )
+label_testInGate.AddCoord( 3 , 1149 , 5 )
+label_testInGate.AddCoord( 4 , 1150 , 219 )
 
-# Creation of intermediate Output variables and of Loop Links
 control_div2OutGate = control_div2.Port( 'OutGate' )
 label_beginInGate = GraphSyrControlGUI.Link( control_div2OutGate , label_begin.Port( 'InGate' ) )
+label_beginInGate.AddCoord( 1 , 34 , 332 )
+label_beginInGate.AddCoord( 2 , 34 , 592 )
+label_beginInGate.AddCoord( 3 , 1145 , 586 )
+label_beginInGate.AddCoord( 4 , 1144 , 527 )
 
 # Creation of Input datas
 label_beginNB = label_begin.Input( 'NB' , 7)
@@ -202,12 +208,3 @@ label_beginKB = label_begin.Input( 'KB' , 0)
 
 # Creation of Output variables
 label_testFinished = label_test.Port( 'Finished' )
-
-GraphSyrControlGUI.Run( 7 )
-
-GraphSyrControlGUI.DoneW()
-
-GraphSyrControlGUI.State()
-
-GraphSyrControlGUI.PrintPorts()
-
index 3acb92f77948dc1c840dd60d4e7ce5392317ad77..14986c932defc4c405d42fe3504e17d749f1e6a8 100644 (file)
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>label_test\Finished</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
    <creation-date>11/3/2003 - 18:28:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>JR</author>
    <container>?</container>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>BoolEven</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</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>
+   <x-position>288</x-position>
+   <y-position>337</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>BoolOne</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</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>
+   <x-position>293</x-position>
+   <y-position>130</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>anEvenInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_M3P1 from SyrComponent</comment>
-   <x-position>621</x-position>
-   <y-position>29</y-position>  </node>
+   <x-position>761</x-position>
+   <y-position>19</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>anInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_DIV2 from SyrComponent</comment>
-   <x-position>624</x-position>
-   <y-position>391</y-position>  </node>
+   <x-position>770</x-position>
+   <y-position>384</y-position>  </node>
   <node>
 <component-name>SyrComponent</component-name>
    <interface-name>SyrComponent</interface-name>
 <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>aNewCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list/>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
    <comment>C_INCR from SyrComponent</comment>
-   <x-position>623</x-position>
-   <y-position>206</y-position>  </node>
+   <x-position>764</x-position>
+   <y-position>179</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>label_begin</FuncName>
      <PyFunc><![CDATA[def label_begin( NB , KB ) :]]></PyFunc>
      <PyFunc><![CDATA[    return NB,KB]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>Python function</comment>
-   <x-position>7</x-position>
-   <y-position>216</y-position>  </node>
+   <x-position>58</x-position>
+   <y-position>189</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>L_OneEven</FuncName>
      <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>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>399</x-position>
-   <y-position>176</y-position>  </node>
+   <x-position>516</x-position>
+   <y-position>175</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
 <service-name>EndL_OneEven</service-name>
     <inParameter-list/>
     <outParameter-list/>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
-<PyFunction/>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>1034</x-position>
-   <y-position>252</y-position>  </node>
+   <x-position>1068</x-position>
+   <y-position>258</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KT</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>C_NotOneIsEven</FuncName>
      <PyFunc><![CDATA[def C_NotOneIsEven( N , K ):]]></PyFunc>
      <PyFunc><![CDATA[    return 0,1,N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>808</x-position>
-   <y-position>29</y-position>  </node>
+   <x-position>972</x-position>
+   <y-position>64</y-position>  </node>
   <node>
 <component-name>?</component-name>
    <interface-name>?</interface-name>
      <outParameter>
 <outParameter-type>long</outParameter-type>
       <outParameter-name>KB</outParameter-name>     </outParameter>    </outParameter-list>   </service>
-   <Parameter-list/>
+   <DataStream-list/>
    <PyFunction-list>
 <PyFunction>
 <FuncName>control_div2</FuncName>
      <PyFunc><![CDATA[def control_div2( N , K ) :]]></PyFunc>
      <PyFunc><![CDATA[    return N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
-   <creation-date>25/3/2003 - 17:42:48</creation-date>
-   <lastmodification-date>25/3/2003 - 17:42:48</lastmodification-date>
+   <creation-date>18/3/2004 - 14:22:38</creation-date>
+   <lastmodification-date>18/3/2004 - 14:22:38</lastmodification-date>
    <editor-release>1.04</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
-   <x-position>812</x-position>
-   <y-position>357</y-position>  </node> </node-list>
+   <x-position>972</x-position>
+   <y-position>430</y-position>  </node> </node-list>
  <link-list>
 <link>
 <fromnode-name>test_ISEVEN</fromnode-name>
    <toserviceparameter-name>ValEven</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>385</x>
-     <y>358</y>    </coord>
+<x>493</x>
+     <y>238</y>    </coord>
     <coord>
-<x>385</x>
-     <y>490</y>    </coord>   </coord-list>  </link>
+<x>493</x>
+     <y>418</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>385</x>
-     <y>328</y>    </coord>
-    <coord>
-<x>385</x>
-     <y>283</y>    </coord>   </coord-list>  </link>
+   <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>786</x>
-     <y>181</y>    </coord>
-    <coord>
-<x>786</x>
-     <y>182</y>    </coord>   </coord-list>  </link>
+   <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>799</x>
-     <y>509</y>    </coord>
-    <coord>
-<x>799</x>
-     <y>543</y>    </coord>   </coord-list>  </link>
+   <coord-list/>  </link>
   <link>
 <fromnode-name>incr</fromnode-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <toserviceparameter-name>K</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>787</x>
-     <y>539</y>    </coord>
+<x>954</x>
+     <y>494</y>    </coord>
     <coord>
-<x>787</x>
-     <y>359</y>    </coord>   </coord-list>  </link>
+<x>954</x>
+     <y>259</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>incr</fromnode-name>
    <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
    <toserviceparameter-name>K</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>790</x>
-     <y>211</y>    </coord>
+<x>955</x>
+     <y>128</y>    </coord>
     <coord>
-<x>790</x>
-     <y>358</y>    </coord>   </coord-list>  </link>
+<x>954</x>
+     <y>258</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>175</x>
-     <y>283</y>    </coord>
+<x>275</x>
+     <y>211</y>    </coord>
     <coord>
-<x>175</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+<x>275</x>
+     <y>270</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>
-<coord>
-<x>367</x>
-     <y>388</y>    </coord>
-    <coord>
-<x>367</x>
-     <y>319</y>    </coord>
-    <coord>
-<x>175</x>
-     <y>321</y>    </coord>
-    <coord>
-<x>175</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+   <coord-list/>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>NT</fromserviceparameter-name>
    <toserviceparameter-name>anInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>183</x>
-     <y>486</y>    </coord>
+<x>274</x>
+     <y>417</y>    </coord>
     <coord>
-<x>183</x>
-     <y>368</y>    </coord>   </coord-list>  </link>
+<x>275</x>
+     <y>270</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_begin</fromnode-name>
    <fromserviceparameter-name>KT</fromserviceparameter-name>
    <toserviceparameter-name>KT</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>373</x>
-     <y>418</y>    </coord>
+<x>476</x>
+     <y>294</y>    </coord>
     <coord>
-<x>373</x>
-     <y>518</y>    </coord>
+<x>475</x>
+     <y>515</y>    </coord>
     <coord>
-<x>176</x>
-     <y>519</y>    </coord>
+<x>260</x>
+     <y>515</y>    </coord>
     <coord>
-<x>176</x>
-     <y>398</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>
+<x>260</x>
+     <y>298</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>Incr</fromserviceparameter-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>578</x>
-     <y>328</y>    </coord>
+<x>712</x>
+     <y>292</y>    </coord>
     <coord>
-<x>578</x>
-     <y>358</y>    </coord>   </coord-list>  </link>
+<x>711</x>
+     <y>238</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>Even</fromserviceparameter-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>578</x>
-     <y>513</y>    </coord>
+<x>724</x>
+     <y>498</y>    </coord>
     <coord>
-<x>578</x>
-     <y>388</y>    </coord>   </coord-list>  </link>
+<x>723</x>
+     <y>268</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>Odd</fromserviceparameter-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>565</x>
-     <y>151</y>    </coord>
+<x>698</x>
+     <y>132</y>    </coord>
     <coord>
-<x>565</x>
-     <y>418</y>    </coord>   </coord-list>  </link>
+<x>697</x>
+     <y>297</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>N</fromserviceparameter-name>
    <toserviceparameter-name>anOddInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>609</x>
-     <y>181</y>    </coord>
+<x>748</x>
+     <y>100</y>    </coord>
     <coord>
-<x>609</x>
-     <y>448</y>    </coord>   </coord-list>  </link>
+<x>747</x>
+     <y>325</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>N</fromserviceparameter-name>
    <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>612</x>
-     <y>543</y>    </coord>
+<x>746</x>
+     <y>463</y>    </coord>
     <coord>
-<x>612</x>
-     <y>448</y>    </coord>   </coord-list>  </link>
+<x>747</x>
+     <y>327</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>label_test</fromnode-name>
    <fromserviceparameter-name>K</fromserviceparameter-name>
    <toserviceparameter-name>aCount</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>594</x>
-     <y>358</y>    </coord>
+<x>732</x>
+     <y>260</y>    </coord>
     <coord>
-<x>594</x>
-     <y>478</y>    </coord>   </coord-list>  </link>
+<x>732</x>
+     <y>354</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>OutGate</fromserviceparameter-name>
    <tonode-name>label_test</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link>
+   <coord-list>
+<coord>
+<x>503</x>
+     <y>388</y>    </coord>
+    <coord>
+<x>505</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>1149</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>1150</x>
+     <y>219</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>control_div2</fromnode-name>
    <fromserviceparameter-name>OutGate</fromserviceparameter-name>
    <tonode-name>label_begin</tonode-name>
    <toserviceparameter-name>InGate</toserviceparameter-name>
-   <coord-list/>  </link> </link-list>
+   <coord-list>
+<coord>
+<x>34</x>
+     <y>332</y>    </coord>
+    <coord>
+<x>34</x>
+     <y>592</y>    </coord>
+    <coord>
+<x>1145</x>
+     <y>586</y>    </coord>
+    <coord>
+<x>1144</x>
+     <y>527</y>    </coord>   </coord-list>  </link> </link-list>
  <data-list>
 <data>
 <fromnode-name>GraphSyrControlGUI</fromnode-name>
index efe30b44952420f78c784311d9afa64bd8ff7013..296d36ac35ad5832d60a54ee3fb8a132013aa863 100644 (file)
@@ -1,5 +1,26 @@
-
-# Generated python file of Graph GraphSyracuseC
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : GraphSyracuseC.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 # Graph creation 
index 7706242f666134433c7b69574ffa3e950a0995e6..2ee258e140def199ed59bf29a264b7cd58a7217c 100644 (file)
@@ -1,5 +1,26 @@
-
-# Generated python file of Graph GraphSyracuseCEv
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : GraphSyracuseCEv.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 import SUPERV
index 4034379ba65ba25005ce6e78e01b0425e96892c2..24931807fb1ab5d6647ac7e3a9d901b8d9208110 100644 (file)
@@ -1,5 +1,9 @@
-
-# Generated python file of Graph GraphSyracuseC_Gate
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : GraphSyracuseC_Gate.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 # Graph creation 
@@ -9,68 +13,67 @@ GraphSyracuseC_Gate.SetAuthor( 'JR' )
 GraphSyracuseC_Gate.SetComment( 'Syracuse algorithm' )
 GraphSyracuseC_Gate.Coords( 0 , 0 )
 
-# Creation of Computing Nodes
-test_ISEVEN = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+# Creation of Factory Nodes
+test_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
 test_ISEVEN.SetName( 'test_ISEVEN' )
 test_ISEVEN.SetAuthor( '' )
 test_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-test_ISEVEN.SetComment( '' )
+test_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
 test_ISEVEN.Coords( 5 , 416 )
-test_ISONE = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+test_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
 test_ISONE.SetName( 'test_ISONE' )
 test_ISONE.SetAuthor( '' )
 test_ISONE.SetContainer( 'localhost/FactoryServer' )
-test_ISONE.SetComment( '' )
+test_ISONE.SetComment( 'C_ISONE from SyrComponent' )
 test_ISONE.Coords( 7 , 232 )
-m3p1 = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
+m3p1 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3P1' )
 m3p1.SetName( 'm3p1' )
 m3p1.SetAuthor( '' )
 m3p1.SetContainer( 'localhost/FactoryServer' )
-m3p1.SetComment( '' )
+m3p1.SetComment( 'C_M3P1 from SyrComponent' )
 m3p1.Coords( 180 , 417 )
-div2 = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
+div2 = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( '' )
+div2.SetComment( 'C_DIV2 from SyrComponent' )
 div2.Coords( 435 , 7 )
-div2_ISEVEN = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
+div2_ISEVEN = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISEVEN' )
 div2_ISEVEN.SetName( 'div2_ISEVEN' )
 div2_ISEVEN.SetAuthor( '' )
 div2_ISEVEN.SetContainer( 'localhost/FactoryServer' )
-div2_ISEVEN.SetComment( '' )
-div2_ISEVEN.Coords( 619 , 191 )
-div2_ISONE = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
+div2_ISEVEN.SetComment( 'C_ISEVEN from SyrComponent' )
+div2_ISEVEN.Coords( 663 , 193 )
+div2_ISONE = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_ISONE' )
 div2_ISONE.SetName( 'div2_ISONE' )
 div2_ISONE.SetAuthor( '' )
 div2_ISONE.SetContainer( 'localhost/FactoryServer' )
-div2_ISONE.SetComment( '' )
-div2_ISONE.Coords( 616 , 6 )
-incr = GraphSyracuseC_Gate.Node( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
+div2_ISONE.SetComment( 'C_ISONE from SyrComponent' )
+div2_ISONE.Coords( 651 , 6 )
+incr = GraphSyracuseC_Gate.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incr.SetName( 'incr' )
 incr.SetAuthor( '' )
 incr.SetContainer( 'localhost/FactoryServer' )
-incr.SetComment( '' )
+incr.SetComment( 'C_INCR from SyrComponent' )
 incr.Coords( 434 , 193 )
 
-# Creation of intermediate Output variables and of Computing Links
+# Creation of intermediate Output variables and of Control Links
 test_ISEVENOutGate = test_ISEVEN.Port( 'OutGate' )
 m3p1InGate = GraphSyracuseC_Gate.Link( test_ISEVENOutGate , m3p1.Port( 'InGate' ) )
 m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
 div2anEvenInteger = GraphSyracuseC_Gate.Link( m3p1anEvenInteger , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 368 , 158 )
-div2anEvenInteger.AddCoord( 2 , 369 , 568 )
+div2anEvenInteger.AddCoord( 1 , 373 , 117 )
+div2anEvenInteger.AddCoord( 2 , 373 , 528 )
 div2anInteger = div2.Port( 'anInteger' )
 div2_ISONEanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISONE.Port( 'anInteger' ) )
 div2_ISEVENanInteger = GraphSyracuseC_Gate.Link( div2anInteger , div2_ISEVEN.Port( 'anInteger' ) )
-div2_ISEVENanInteger.AddCoord( 1 , 603 , 342 )
-div2_ISEVENanInteger.AddCoord( 2 , 603 , 158 )
+div2_ISEVENanInteger.AddCoord( 1 , 626 , 302 )
+div2_ISEVENanInteger.AddCoord( 2 , 626 , 116 )
 
 # Creation of Input datas
-curM3P1 = m3p1.Input( 'anOddInteger' , 31)
-curtestISEVEN = test_ISEVEN.Input( 'anInteger' , curM3P1.ToAny() )
-curtestISONE = test_ISONE.Input( 'anInteger' , curM3P1.ToAny() )
-div2InanEvenInteger = div2.Port( 'anEvenInteger' )
+test_ISEVENanInteger = test_ISEVEN.Input( 'anInteger' , 31)
+test_ISONEanInteger = test_ISONE.Input( 'anInteger' , 31)
+m3p1anOddInteger = m3p1.Input( 'anOddInteger' , 31)
 incraCount = incr.Input( 'aCount' , 0)
 
 # Creation of Output variables
@@ -80,35 +83,11 @@ div2_ISEVENBoolEven = div2_ISEVEN.Port( 'BoolEven' )
 div2_ISONEBoolOne = div2_ISONE.Port( 'BoolOne' )
 incraNewCount = incr.Port( 'aNewCount' )
 
-GraphSyracuseC_Gate.IsValid()
-
-GraphSyracuseC_Gate.ThreadsMax()
-
-GraphSyracuseC_Gate.LevelMax()
-
-GraphSyracuseC_Gate.GraphsNumber()
-
-GraphSyracuseC_Gate.IsExecutable()
-
-exec GraphSyracuseC_Gate.ListNodes()
-
-curM3P1 = m3p1.Port( 'anOddInteger' )
-m3p1anEvenInteger = m3p1.Port( 'anEvenInteger' )
-curtestISEVEN = test_ISEVEN.Port( 'anInteger' )
-curtestISONE = test_ISONE.Port( 'anInteger' )
-div2anEvenInteger = div2.Port( 'anEvenInteger' )
-div2anInteger = div2.Port( 'anInteger' )
-incraCount = incr.Port( 'aCount' )
-
-# Creation of Output variables
-test_ISEVENBoolEven = test_ISEVEN.Port( 'BoolEven' )
-test_ISONEBoolOne = test_ISONE.Port( 'BoolOne' )
-div2_ISEVENBoolEven = div2_ISEVEN.Port( 'BoolEven' )
-div2_ISONEBoolOne = div2_ISONE.Port( 'BoolOne' )
-incraNewCount = incr.Port( 'aNewCount' )
 
 GraphSyracuseC_Gate.Start()
 
+div2InanInteger = div2.Port( 'anEvenInteger' )
+
 m3p1.Suspend()
 
 div2_ISEVEN.SuspendDone()
@@ -133,30 +112,83 @@ BoolEven = int( test_ISEVENBoolEven.ToString() )
 while BoolOne == 0 :
     if BoolEven == 0 :
         sts = div2_ISONE.ReRunAt('m3p1')
+        if sts == 0 :
+            print 'div2_ISONE.ReRunAt error'
+            break
         sts = incr.ReRun()
+        if sts == 0 :
+            print 'incr.ReRun error'
+            break
         sts = m3p1.DoneW()
+        if sts == 0 :
+            print 'm3p1.DoneW error'
+            break
         sts = incr.DoneW()
+        if sts == 0 :
+            print 'incr.DoneW error'
+            break
         sts = incraCount.Input( int( incraNewCount.ToString() ) + 1 )
+        if sts == 0 :
+            print 'incraCount.Input error'
+            break
         BoolEven = 1 
         BoolOne = 0
         Current = int( m3p1anEvenInteger.ToString() )
         print incraNewCount.ToString(),"m3p1",Current,BoolEven
+        if Current <= 0 :
+            break
+    if Current <= 0 :
+        break
     while BoolEven == 1 :
         sts = incr.ReRun()
+        if sts == 0 :
+            print 'incr.ReRun error'
+            break
         sts = div2.DoneW()
+        if sts == 0 :
+            print 'div2.DoneW error'
+            break
         sts = div2_ISEVEN.DoneW()
+        if sts == 0 :
+            print 'div2_ISEVEN.DoneW error'
+            break
         sts = div2_ISONE.DoneW()
+        if sts == 0 :
+            print 'div2_ISONE.DoneW error'
+            break
         sts = incr.DoneW()
+        if sts == 0 :
+            print 'incr.DoneW error'
+            break
         sts = incraCount.Input( incraNewCount.ToString() )
+        if sts == 0 :
+            print 'incraCount.Input error'
+            break
         BoolOne = int( div2_ISONEBoolOne.ToString() )
         BoolEven = int( div2_ISEVENBoolEven.ToString() )
         Current = int( div2anInteger.ToString() )
         print incraNewCount.ToString(),"div2",Current,BoolEven,BoolOne
+        if Current <= 0 :
+            break
         if BoolEven == 1 :
-            sts = div2InanEvenInteger.Input( Current )
+            sts = div2InanInteger.Input( Current )
+            if sts == 0 :
+                print 'div2InanInteger.Input error'
+                break
             sts = div2_ISONE.ReRunAt('div2')
-    sts = curM3P1.Input( Current )
+            if sts == 0 :
+                print 'div2_ISONE.ReRunAt error'
+                break
+    if Current <= 0 :
+        break
+    sts = m3p1anOddInteger.Input( Current )
+    if sts == 0 :
+        print 'm3p1anOddInteger.Input error'
+        break
     sts = m3p1InGate.InPort().Input( 1 )
+    if sts == 0 :
+        print 'm3p1InGate.InPort error'
+        break
 
 
 GraphSyracuseC_Gate.PrintThreads()
index 17f32dfc2c72060429cb7809b4ca79d7abbf00e6..8b87cf7e26e08ab9fe47a0afc1194b1d19b42319 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphSyracuseC_Gate</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>GraphSyracuseC_Gate</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>test_ISEVEN\anInteger</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>test_ISONE\anInteger</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>m3p1\anOddInteger</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>incr\aCount</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>test_ISEVEN\BoolEven</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>test_ISONE\BoolOne</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>div2_ISEVEN\BoolEven</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>div2_ISONE\BoolOne</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>incr\aNewCount</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:38</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>5</x-position>
-                       <y-position>416</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>7</x-position>
-                       <y-position>232</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>180</x-position>
-                       <y-position>417</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>435</x-position>
-                       <y-position>7</y-position>
-               </node>
-               <node>
-                       <component-name>SyrComponent</component-name>
-                       <interface-name>SyrComponent</interface-name>
-                       <node-name>div2_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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>619</x-position>
-                       <y-position>191</y-position>
-               </node>
-               <node>
-                       <component-name>SyrComponent</component-name>
-                       <interface-name>SyrComponent</interface-name>
-                       <node-name>div2_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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:34</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:34</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>616</x-position>
-                       <y-position>6</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 16:25:35</creation-date>
-                       <lastmodification-date>11/3/2003 - 16:25:35</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>434</x-position>
-                       <y-position>193</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>test_ISEVEN</fromnode-name>
-                       <fromserviceparameter-name>OutGate</fromserviceparameter-name>
-                       <tonode-name>m3p1</tonode-name>
-                       <toserviceparameter-name>InGate</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>m3p1</fromnode-name>
-                       <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
-                       <tonode-name>div2</tonode-name>
-                       <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>368</x>
-                                       <y>158</y>
-                               </coord>
-                               <coord>
-                                       <x>369</x>
-                                       <y>568</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>div2</fromnode-name>
-                       <fromserviceparameter-name>anInteger</fromserviceparameter-name>
-                       <tonode-name>div2_ISONE</tonode-name>
-                       <toserviceparameter-name>anInteger</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>div2</fromnode-name>
-                       <fromserviceparameter-name>anInteger</fromserviceparameter-name>
-                       <tonode-name>div2_ISEVEN</tonode-name>
-                       <toserviceparameter-name>anInteger</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>603</x>
-                                       <y>342</y>
-                               </coord>
-                               <coord>
-                                       <x>603</x>
-                                       <y>158</y>
-                               </coord>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphSyracuseC_Gate</fromnode-name>
-                       <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
-                       <tonode-name>test_ISEVEN</tonode-name>
-                       <toserviceparameter-name>anInteger</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>31</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphSyracuseC_Gate</fromnode-name>
-                       <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
-                       <tonode-name>test_ISONE</tonode-name>
-                       <toserviceparameter-name>anInteger</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>31</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphSyracuseC_Gate</fromnode-name>
-                       <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
-                       <tonode-name>m3p1</tonode-name>
-                       <toserviceparameter-name>anOddInteger</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>31</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphSyracuseC_Gate</fromnode-name>
-                       <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
-                       <tonode-name>incr</tonode-name>
-                       <toserviceparameter-name>aCount</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphSyracuseC_Gate</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphSyracuseC_Gate</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>test_ISEVEN\anInteger</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>test_ISONE\anInteger</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>m3p1\anOddInteger</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>incr\aCount</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>test_ISEVEN\BoolEven</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>test_ISONE\BoolOne</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>div2_ISEVEN\BoolEven</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>div2_ISONE\BoolOne</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>incr\aNewCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 16:25:34</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:11</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:10</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISEVEN from SyrComponent</comment>
+   <x-position>5</x-position>
+   <y-position>416</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:10</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISONE from SyrComponent</comment>
+   <x-position>7</x-position>
+   <y-position>232</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:10</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_M3P1 from SyrComponent</comment>
+   <x-position>180</x-position>
+   <y-position>417</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:10</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_DIV2 from SyrComponent</comment>
+   <x-position>435</x-position>
+   <y-position>7</y-position>  </node>
+  <node>
+<component-name>SyrComponent</component-name>
+   <interface-name>SyrComponent</interface-name>
+   <node-name>div2_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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:11</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISEVEN from SyrComponent</comment>
+   <x-position>663</x-position>
+   <y-position>193</y-position>  </node>
+  <node>
+<component-name>SyrComponent</component-name>
+   <interface-name>SyrComponent</interface-name>
+   <node-name>div2_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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:11</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_ISONE from SyrComponent</comment>
+   <x-position>651</x-position>
+   <y-position>6</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/6/2003 - 16:1:11</creation-date>
+   <lastmodification-date>11/6/2003 - 16:1:11</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>434</x-position>
+   <y-position>193</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>test_ISEVEN</fromnode-name>
+   <fromserviceparameter-name>OutGate</fromserviceparameter-name>
+   <tonode-name>m3p1</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>m3p1</fromnode-name>
+   <fromserviceparameter-name>anEvenInteger</fromserviceparameter-name>
+   <tonode-name>div2</tonode-name>
+   <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>373</x>
+     <y>117</y>    </coord>
+    <coord>
+<x>373</x>
+     <y>528</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>div2</fromnode-name>
+   <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+   <tonode-name>div2_ISONE</tonode-name>
+   <toserviceparameter-name>anInteger</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>div2</fromnode-name>
+   <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+   <tonode-name>div2_ISEVEN</tonode-name>
+   <toserviceparameter-name>anInteger</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>626</x>
+     <y>302</y>    </coord>
+    <coord>
+<x>626</x>
+     <y>116</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
+   <fromserviceparameter-name>test_ISEVEN\anInteger</fromserviceparameter-name>
+   <tonode-name>test_ISEVEN</tonode-name>
+   <toserviceparameter-name>anInteger</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>31</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
+   <fromserviceparameter-name>test_ISONE\anInteger</fromserviceparameter-name>
+   <tonode-name>test_ISONE</tonode-name>
+   <toserviceparameter-name>anInteger</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>31</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
+   <fromserviceparameter-name>m3p1\anOddInteger</fromserviceparameter-name>
+   <tonode-name>m3p1</tonode-name>
+   <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>31</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphSyracuseC_Gate</fromnode-name>
+   <fromserviceparameter-name>incr\aCount</fromserviceparameter-name>
+   <tonode-name>incr</tonode-name>
+   <toserviceparameter-name>aCount</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 8bac3a21114718233e1901fa97dbc30629e9969b..fba4f9278c8d15123a5557541f067d18e2aae5dc 100644 (file)
@@ -1,5 +1,26 @@
-
-# Generated python file of Graph GraphSyracuseCpp
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : GraphSyracuseCpp.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 # Graph creation 
diff --git a/examples/GraphTypesCheck.py b/examples/GraphTypesCheck.py
new file mode 100755 (executable)
index 0000000..034e86a
--- /dev/null
@@ -0,0 +1,125 @@
+
+# Generated python file of Graph GraphTypesCheck
+
+from SuperV import *
+# Graph creation 
+GraphTypesCheck = Graph( 'GraphTypesCheck' )
+GraphTypesCheck.SetName( 'GraphTypesCheck' )
+GraphTypesCheck.SetAuthor( 'JR' )
+GraphTypesCheck.SetComment( '' )
+GraphTypesCheck.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+BoolCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'BoolCheck' )
+BoolCheck.SetName( 'BoolCheck' )
+BoolCheck.SetAuthor( '' )
+BoolCheck.SetContainer( 'localhost/FactoryServer' )
+BoolCheck.SetComment( 'BoolCheck from TypesCheck' )
+BoolCheck.Coords( 202 , 108 )
+
+CharCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'CharCheck' )
+CharCheck.SetName( 'CharCheck' )
+CharCheck.SetAuthor( '' )
+CharCheck.SetContainer( 'localhost/FactoryServer' )
+CharCheck.SetComment( 'CharCheck from TypesCheck' )
+CharCheck.Coords( 13 , 166 )
+
+ShortCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'ShortCheck' )
+ShortCheck.SetName( 'ShortCheck' )
+ShortCheck.SetAuthor( '' )
+ShortCheck.SetContainer( 'localhost/FactoryServer' )
+ShortCheck.SetComment( 'ShortCheck from TypesCheck' )
+ShortCheck.Coords( 205 , 258 )
+
+FloatCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'FloatCheck' )
+FloatCheck.SetName( 'FloatCheck' )
+FloatCheck.SetAuthor( '' )
+FloatCheck.SetContainer( 'localhost/FactoryServer' )
+FloatCheck.SetComment( 'FloatCheck from TypesCheck' )
+FloatCheck.Coords( 204 , 409 )
+
+Addition = GraphTypesCheck.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+Addition.SetName( 'Addition' )
+Addition.SetAuthor( '' )
+Addition.SetContainer( 'localhost/FactoryServer' )
+Addition.SetComment( 'Addition from AddComponent' )
+Addition.Coords( 16 , 459 )
+
+LongCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'LongCheck' )
+LongCheck.SetName( 'LongCheck' )
+LongCheck.SetAuthor( '' )
+LongCheck.SetContainer( 'localhost/FactoryServer' )
+LongCheck.SetComment( 'LongCheck from TypesCheck' )
+LongCheck.Coords( 17 , 318 )
+
+MiscTypes = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'MiscTypes' )
+MiscTypes.SetName( 'MiscTypes' )
+MiscTypes.SetAuthor( '' )
+MiscTypes.SetContainer( 'localhost/FactoryServer' )
+MiscTypes.SetComment( 'MiscTypes from TypesCheck' )
+MiscTypes.Coords( 431 , 170 )
+
+StringCheck = GraphTypesCheck.FNode( 'TypesCheck' , 'TypesCheck' , 'StringCheck' )
+StringCheck.SetName( 'StringCheck' )
+StringCheck.SetAuthor( '' )
+StringCheck.SetContainer( 'localhost/FactoryServer' )
+StringCheck.SetComment( 'StringCheck from TypesCheck' )
+StringCheck.Coords( 13 , 10 )
+
+# Creation of Links
+BoolCheckOutBool = BoolCheck.Port( 'OutBool' )
+MiscTypesInBool = GraphTypesCheck.Link( BoolCheckOutBool , MiscTypes.Port( 'InBool' ) )
+MiscTypesInBool.AddCoord( 1 , 402 , 280 )
+MiscTypesInBool.AddCoord( 2 , 401 , 188 )
+
+CharCheckOutChar = CharCheck.Port( 'OutChar' )
+MiscTypesInChar = GraphTypesCheck.Link( CharCheckOutChar , MiscTypes.Port( 'InChar' ) )
+MiscTypesInChar.AddCoord( 1 , 382 , 307 )
+MiscTypesInChar.AddCoord( 2 , 382 , 247 )
+
+ShortCheckOutShort = ShortCheck.Port( 'OutShort' )
+MiscTypesInShort = GraphTypesCheck.Link( ShortCheckOutShort , MiscTypes.Port( 'InShort' ) )
+
+FloatCheckOutFloat = FloatCheck.Port( 'OutFloat' )
+MiscTypesInFloat = GraphTypesCheck.Link( FloatCheckOutFloat , MiscTypes.Port( 'InFloat' ) )
+MiscTypesInFloat.AddCoord( 1 , 400 , 395 )
+MiscTypesInFloat.AddCoord( 2 , 399 , 490 )
+
+AdditionAdder = Addition.Port( 'Adder' )
+MiscTypesInObjRef = GraphTypesCheck.Link( AdditionAdder , MiscTypes.Port( 'InObjRef' ) )
+MiscTypesInObjRef.AddCoord( 1 , 415 , 453 )
+MiscTypesInObjRef.AddCoord( 2 , 415 , 540 )
+
+LongCheckOutLong = LongCheck.Port( 'OutLong' )
+MiscTypesInLong = GraphTypesCheck.Link( LongCheckOutLong , MiscTypes.Port( 'InLong' ) )
+MiscTypesInLong.AddCoord( 1 , 383 , 367 )
+MiscTypesInLong.AddCoord( 2 , 383 , 399 )
+
+StringCheckOutString = StringCheck.Port( 'OutString' )
+MiscTypesInString = GraphTypesCheck.Link( StringCheckOutString , MiscTypes.Port( 'InString' ) )
+MiscTypesInString.AddCoord( 1 , 412 , 251 )
+MiscTypesInString.AddCoord( 2 , 411 , 91 )
+
+# Creation of Input datas
+BoolCheckInBool = BoolCheck.Input( 'InBool' , 1)
+CharCheckInChar = CharCheck.Input( 'InChar' , 255)
+ShortCheckInShort = ShortCheck.Input( 'InShort' , 16383)
+FloatCheckInFloat = FloatCheck.Input( 'InFloat' , 3.14159)
+LongCheckInLong = LongCheck.Input( 'InLong' , 2147483647)
+MiscTypesInDouble = MiscTypes.Input( 'InDouble' , 3.14159)
+StringCheckInString = StringCheck.Input( 'InString' , 'aString')
+
+# Creation of Output variables
+MiscTypesOutString = MiscTypes.Port( 'OutString' )
+MiscTypesOutBool = MiscTypes.Port( 'OutBool' )
+MiscTypesOutChar = MiscTypes.Port( 'OutChar' )
+MiscTypesOutShort = MiscTypes.Port( 'OutShort' )
+MiscTypesOutLong = MiscTypes.Port( 'OutLong' )
+MiscTypesOutFloat = MiscTypes.Port( 'OutFloat' )
+MiscTypesOutDouble = MiscTypes.Port( 'OutDouble' )
+MiscTypesOutObjRef = MiscTypes.Port( 'OutObjRef' )
+
+GraphTypesCheck.Run()
+GraphTypesCheck.DoneW()
+GraphTypesCheck.PrintPorts()
diff --git a/examples/GraphTypesCheck.xml b/examples/GraphTypesCheck.xml
new file mode 100755 (executable)
index 0000000..bcb67c9
--- /dev/null
@@ -0,0 +1,459 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphTypesCheck</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphTypesCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>BoolCheck\InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>CharCheck\InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>ShortCheck\InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>FloatCheck\InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>LongCheck\InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MiscTypes\InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>StringCheck\InString</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>MiscTypes\OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>MiscTypes\OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>MiscTypes\OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>MiscTypes\OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>MiscTypes\OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>MiscTypes\OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>MiscTypes\OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>MiscTypes\OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 10:53:21</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:54</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>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>BoolCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>BoolCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>BoolCheck from TypesCheck</comment>
+   <x-position>202</x-position>
+   <y-position>108</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>CharCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>CharCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>CharCheck from TypesCheck</comment>
+   <x-position>13</x-position>
+   <y-position>166</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>ShortCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ShortCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>ShortCheck from TypesCheck</comment>
+   <x-position>205</x-position>
+   <y-position>258</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>FloatCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>FloatCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>FloatCheck from TypesCheck</comment>
+   <x-position>204</x-position>
+   <y-position>409</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>16</x-position>
+   <y-position>459</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>LongCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LongCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>LongCheck from TypesCheck</comment>
+   <x-position>17</x-position>
+   <y-position>318</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>MiscTypes</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MiscTypes</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>boolean</inParameter-type>
+      <inParameter-name>InBool</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>char</inParameter-type>
+      <inParameter-name>InChar</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>short</inParameter-type>
+      <inParameter-name>InShort</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InLong</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>float</inParameter-type>
+      <inParameter-name>InFloat</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InDouble</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>SuperVisionTest::Adder</inParameter-type>
+      <inParameter-name>InObjRef</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>boolean</outParameter-type>
+      <outParameter-name>OutBool</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>char</outParameter-type>
+      <outParameter-name>OutChar</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>short</outParameter-type>
+      <outParameter-name>OutShort</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>OutLong</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>float</outParameter-type>
+      <outParameter-name>OutFloat</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>OutDouble</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>SuperVisionTest::Adder</outParameter-type>
+      <outParameter-name>OutObjRef</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MiscTypes from TypesCheck</comment>
+   <x-position>431</x-position>
+   <y-position>170</y-position>  </node>
+  <node>
+<component-name>TypesCheck</component-name>
+   <interface-name>TypesCheck</interface-name>
+   <node-name>StringCheck</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StringCheck</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InString</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>string</outParameter-type>
+      <outParameter-name>OutString</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/9/2003 - 14:45:53</creation-date>
+   <lastmodification-date>11/9/2003 - 14:45:53</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>StringCheck from TypesCheck</comment>
+   <x-position>13</x-position>
+   <y-position>10</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>BoolCheck</fromnode-name>
+   <fromserviceparameter-name>OutBool</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>402</x>
+     <y>280</y>    </coord>
+    <coord>
+<x>401</x>
+     <y>188</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>CharCheck</fromnode-name>
+   <fromserviceparameter-name>OutChar</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>382</x>
+     <y>307</y>    </coord>
+    <coord>
+<x>382</x>
+     <y>247</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ShortCheck</fromnode-name>
+   <fromserviceparameter-name>OutShort</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>FloatCheck</fromnode-name>
+   <fromserviceparameter-name>OutFloat</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>400</x>
+     <y>395</y>    </coord>
+    <coord>
+<x>399</x>
+     <y>490</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InObjRef</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>415</x>
+     <y>453</y>    </coord>
+    <coord>
+<x>415</x>
+     <y>540</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LongCheck</fromnode-name>
+   <fromserviceparameter-name>OutLong</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>383</x>
+     <y>367</y>    </coord>
+    <coord>
+<x>383</x>
+     <y>399</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>StringCheck</fromnode-name>
+   <fromserviceparameter-name>OutString</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>412</x>
+     <y>251</y>    </coord>
+    <coord>
+<x>411</x>
+     <y>91</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>BoolCheck\InBool</fromserviceparameter-name>
+   <tonode-name>BoolCheck</tonode-name>
+   <toserviceparameter-name>InBool</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>CharCheck\InChar</fromserviceparameter-name>
+   <tonode-name>CharCheck</tonode-name>
+   <toserviceparameter-name>InChar</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>255</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>ShortCheck\InShort</fromserviceparameter-name>
+   <tonode-name>ShortCheck</tonode-name>
+   <toserviceparameter-name>InShort</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>16383</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>FloatCheck\InFloat</fromserviceparameter-name>
+   <tonode-name>FloatCheck</tonode-name>
+   <toserviceparameter-name>InFloat</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3.14159</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>LongCheck\InLong</fromserviceparameter-name>
+   <tonode-name>LongCheck</tonode-name>
+   <toserviceparameter-name>InLong</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>2147483647</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>MiscTypes\InDouble</fromserviceparameter-name>
+   <tonode-name>MiscTypes</tonode-name>
+   <toserviceparameter-name>InDouble</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3.14159</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphTypesCheck</fromnode-name>
+   <fromserviceparameter-name>StringCheck\InString</fromserviceparameter-name>
+   <tonode-name>StringCheck</tonode-name>
+   <toserviceparameter-name>InString</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>aString</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/GraphUnValid.py b/examples/GraphUnValid.py
new file mode 100755 (executable)
index 0000000..0c113e9
--- /dev/null
@@ -0,0 +1,86 @@
+
+# Generated python file of Graph GraphEssai
+
+from SuperV import *
+# Graph creation 
+GraphUnValid = Graph( 'GraphUnValid' )
+GraphUnValid.SetName( 'GraphUnValid' )
+GraphUnValid.SetAuthor( '' )
+GraphUnValid.SetComment( '' )
+GraphUnValid.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Add = GraphUnValid.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 8 , 62 )
+
+Sub = GraphUnValid.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 203 , 4 )
+
+Mul = GraphUnValid.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 390 , 62 )
+
+Div = GraphUnValid.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 575 , 11 )
+
+# Creation of Links
+Addz = Add.Port( 'z' )
+Muly = GraphUnValid.Link( Addz , Mul.Port( 'y' ) )
+
+Suby = GraphUnValid.Link( Addz , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 182 , 113 )
+Suby.AddCoord( 2 , 183 , 170 )
+
+Subz = Sub.Port( 'z' )
+Divx = GraphUnValid.Link( Subz , Div.Port( 'x' ) )
+Divx.AddCoord( 1 , 566 , 91 )
+Divx.AddCoord( 2 , 566 , 49 )
+Divx.AddCoord( 3 , 380 , 49 )
+Divx.AddCoord( 4 , 379 , 84 )
+
+Mulx = GraphUnValid.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 379 , 141 )
+Mulx.AddCoord( 2 , 378 , 85 )
+
+Mulz = Mul.Port( 'z' )
+Divy = GraphUnValid.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 565 , 120 )
+Divy.AddCoord( 2 , 565 , 141 )
+
+Subx = GraphUnValid.Link( Mulz , Sub.Port( 'x' ) )
+Subx.AddCoord( 1 , 194 , 84 )
+Subx.AddCoord( 2 , 195 , 252 )
+Subx.AddCoord( 3 , 566 , 252 )
+Subx.AddCoord( 4 , 565 , 141 )
+
+# Creation of Output variables
+AddFuncValue = Add.Port( 'FuncValue' )
+Divz = Div.Port( 'z' )
+
+GraphInLinesUnValid.IsValid()
+
+# Creation of Output variables
+GraphUnValid.Run()
+
+GraphUnValid.IsDone()
+
+GraphUnValid.State()
+
+GraphUnValid.PrintPorts()
+
diff --git a/examples/GraphUnValid.xml b/examples/GraphUnValid.xml
new file mode 100755 (executable)
index 0000000..243fc6f
--- /dev/null
@@ -0,0 +1,253 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphEssai</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphEssai</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 9:58:58</creation-date>
+   <lastmodification-date>8/8/2003 - 15:33:21</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>8/8/2003 - 15:32:31</creation-date>
+   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>8</x-position>
+   <y-position>62</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>8/8/2003 - 15:32:31</creation-date>
+   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>203</x-position>
+   <y-position>4</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>8/8/2003 - 15:32:31</creation-date>
+   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>390</x-position>
+   <y-position>62</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>8/8/2003 - 15:32:31</creation-date>
+   <lastmodification-date>8/8/2003 - 15:32:31</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>575</x-position>
+   <y-position>11</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>182</x>
+     <y>113</y>    </coord>
+    <coord>
+<x>183</x>
+     <y>170</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>566</x>
+     <y>91</y>    </coord>
+    <coord>
+<x>566</x>
+     <y>49</y>    </coord>
+    <coord>
+<x>380</x>
+     <y>49</y>    </coord>
+    <coord>
+<x>379</x>
+     <y>84</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>379</x>
+     <y>141</y>    </coord>
+    <coord>
+<x>378</x>
+     <y>85</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>565</x>
+     <y>120</y>    </coord>
+    <coord>
+<x>565</x>
+     <y>141</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>194</x>
+     <y>84</y>    </coord>
+    <coord>
+<x>195</x>
+     <y>252</y>    </coord>
+    <coord>
+<x>566</x>
+     <y>252</y>    </coord>
+    <coord>
+<x>565</x>
+     <y>141</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphEssai</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphEssai</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4.5</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index 07912167b7914ac9956bd209c0dfc9ef4dcd32ea..a961ca558fcba53827ed7842cdb3d3fe84da6fe4 100644 (file)
 from SuperV import *
 # Graph creation 
 Graphs = Graph( 'Graphs' )
+Graphs.SetName( 'Graphs' )
 Graphs.SetAuthor( '' )
 Graphs.SetComment( '' )
 Graphs.Coords( 0 , 0 )
 
-# Creation of Nodes
-Add = Graphs.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+# Creation of Factory Nodes
+
+Add = Graphs.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'localhost/FactoryServer' )
-Add.SetComment( '' )
-Add.Coords( 32 , 26 )
-Sub = Graphs.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 30 , 8 )
+
+Sub = Graphs.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'localhost/FactoryServer' )
-Sub.SetComment( '' )
+Sub.SetComment( 'Sub from SubComponent' )
 Sub.Coords( 241 , 38 )
-Mul = Graphs.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+
+Mul = Graphs.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'localhost/FactoryServer' )
-Mul.SetComment( '' )
-Mul.Coords( 445 , 0 )
-Div = Graphs.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 439 , 39 )
+
+Div = Graphs.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'localhost/FactoryServer' )
-Div.SetComment( '' )
-Div.Coords( 624 , 0 )
-Add_1 = Graphs.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 633 , 120 )
+
+Add_1 = Graphs.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add_1.SetName( 'Add_1' )
 Add_1.SetAuthor( '' )
 Add_1.SetContainer( 'localhost/FactoryServer' )
-Add_1.SetComment( '' )
+Add_1.SetComment( 'Add from AddComponent' )
 Add_1.Coords( 13 , 297 )
-Sub_1 = Graphs.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+
+Sub_1 = Graphs.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub_1.SetName( 'Sub_1' )
 Sub_1.SetAuthor( '' )
 Sub_1.SetContainer( 'localhost/FactoryServer' )
-Sub_1.SetComment( '' )
+Sub_1.SetComment( 'Sub from SubComponent' )
 Sub_1.Coords( 235 , 217 )
-Mul_1 = Graphs.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+
+Mul_1 = Graphs.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul_1.SetName( 'Mul_1' )
 Mul_1.SetAuthor( '' )
 Mul_1.SetContainer( 'localhost/FactoryServer' )
-Mul_1.SetComment( '' )
-Mul_1.Coords( 423 , 303 )
-Div_1 = Graphs.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul_1.SetComment( 'Mul from MulComponent' )
+Mul_1.Coords( 423 , 375 )
+
+Div_1 = Graphs.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div_1.SetName( 'Div_1' )
 Div_1.SetAuthor( '' )
 Div_1.SetContainer( 'localhost/FactoryServer' )
-Div_1.SetComment( '' )
-Div_1.Coords( 618 , 297 )
+Div_1.SetComment( 'Div from DivComponent' )
+Div_1.Coords( 630 , 284 )
 
-# Creation of intermediate Output variables and of links
+# Creation of Links
 Addz = Add.Port( 'z' )
 Subx = Graphs.Link( Addz , Sub.Port( 'x' ) )
+
 Subz = Sub.Port( 'z' )
-Mulx = Graphs.Link( Subz , Mul.Port( 'x' ) )
 Divx = Graphs.Link( Subz , Div.Port( 'x' ) )
+Divx.AddCoord( 1 , 426 , 201 )
+Divx.AddCoord( 2 , 425 , 119 )
+
+Mulx = Graphs.Link( Subz , Mul.Port( 'x' ) )
+
 Mulz = Mul.Port( 'z' )
 Divy = Graphs.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 619 , 230 )
+Divy.AddCoord( 2 , 620 , 120 )
+
 Add_1FuncValue = Add_1.Port( 'FuncValue' )
 Mul_1x = Graphs.Link( Add_1FuncValue , Mul_1.Port( 'x' ) )
+Mul_1x.AddCoord( 1 , 396 , 455 )
+Mul_1x.AddCoord( 2 , 395 , 378 )
+
+Sub_1x = Graphs.Link( Add_1FuncValue , Sub_1.Port( 'x' ) )
+Sub_1x.AddCoord( 1 , 215 , 297 )
+Sub_1x.AddCoord( 2 , 215 , 378 )
+
 Add_1z = Add_1.Port( 'z' )
-Sub_1x = Graphs.Link( Add_1z , Sub_1.Port( 'x' ) )
+Sub_1y = Graphs.Link( Add_1z , Sub_1.Port( 'y' ) )
+Sub_1y.AddCoord( 1 , 197 , 327 )
+Sub_1y.AddCoord( 2 , 196 , 406 )
+
 Sub_1z = Sub_1.Port( 'z' )
 Div_1x = Graphs.Link( Sub_1z , Div_1.Port( 'x' ) )
+Div_1x.AddCoord( 1 , 604 , 364 )
+Div_1x.AddCoord( 2 , 603 , 297 )
+
 Mul_1z = Mul_1.Port( 'z' )
 Div_1y = Graphs.Link( Mul_1z , Div_1.Port( 'y' ) )
+Div_1y.AddCoord( 1 , 610 , 394 )
+Div_1y.AddCoord( 2 , 610 , 455 )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 3)
@@ -74,11 +114,8 @@ Suby = Sub.Input( 'y' , 7)
 Muly = Mul.Input( 'y' , 11)
 Add_1x = Add_1.Input( 'x' , 1)
 Add_1y = Add_1.Input( 'y' , 2)
-Sub_1y = Sub_1.Input( 'y' , 3)
 Mul_1y = Mul_1.Input( 'y' , 4)
 
-# Missing Input datas
-
 # Creation of Output variables
 AddFuncValue = Add.Port( 'FuncValue' )
 Divz = Div.Port( 'z' )
index 33bed41e25dafb5e722daf938fe585efd21b146d..7c24b20873ead0424e0125d2a060e689ac37d48b 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>Graphs</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Graphs</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Mul\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add_1\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add_1\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub_1\y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Mul_1\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Add\FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div\z</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div_1\z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>32</x-position>
-                       <y-position>26</y-position>
-               </node>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>241</x-position>
-                       <y-position>38</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>445</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>624</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add_1</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>13</x-position>
-                       <y-position>297</y-position>
-               </node>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub_1</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>235</x-position>
-                       <y-position>217</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul_1</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>423</x-position>
-                       <y-position>303</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div_1</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>11/3/2003 - 15:3:57</creation-date>
-                       <lastmodification-date>11/3/2003 - 15:3:57</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>618</x-position>
-                       <y-position>297</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add_1</fromnode-name>
-                       <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
-                       <tonode-name>Mul_1</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add_1</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Sub_1</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub_1</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div_1</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul_1</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div_1</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>7</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>11</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Add_1\x</fromserviceparameter-name>
-                       <tonode-name>Add_1</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Add_1\y</fromserviceparameter-name>
-                       <tonode-name>Add_1</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>2</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Sub_1\y</fromserviceparameter-name>
-                       <tonode-name>Sub_1</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>Graphs</fromnode-name>
-                       <fromserviceparameter-name>Mul_1\y</fromserviceparameter-name>
-                       <tonode-name>Mul_1</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>4</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Graphs</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Graphs</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add_1\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add_1\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Mul_1\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div_1\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>11/3/2003 - 15:3:57</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:32</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>30</x-position>
+   <y-position>8</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>241</x-position>
+   <y-position>38</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>439</x-position>
+   <y-position>39</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>633</x-position>
+   <y-position>120</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>13</x-position>
+   <y-position>297</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>235</x-position>
+   <y-position>217</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>423</x-position>
+   <y-position>375</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:18:1</creation-date>
+   <lastmodification-date>19/9/2003 - 15:18:1</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>630</x-position>
+   <y-position>284</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>426</x>
+     <y>201</y>    </coord>
+    <coord>
+<x>425</x>
+     <y>119</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>619</x>
+     <y>230</y>    </coord>
+    <coord>
+<x>620</x>
+     <y>120</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Mul_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>396</x>
+     <y>455</y>    </coord>
+    <coord>
+<x>395</x>
+     <y>378</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>215</x>
+     <y>297</y>    </coord>
+    <coord>
+<x>215</x>
+     <y>378</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Sub_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>197</x>
+     <y>327</y>    </coord>
+    <coord>
+<x>196</x>
+     <y>406</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Sub_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>604</x>
+     <y>364</y>    </coord>
+    <coord>
+<x>603</x>
+     <y>297</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul_1</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>610</x>
+     <y>394</y>    </coord>
+    <coord>
+<x>610</x>
+     <y>455</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Sub\y</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>7</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Mul\y</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>11</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Add_1\x</fromserviceparameter-name>
+   <tonode-name>Add_1</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Add_1\y</fromserviceparameter-name>
+   <tonode-name>Add_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>Graphs</fromnode-name>
+   <fromserviceparameter-name>Mul_1\y</fromserviceparameter-name>
+   <tonode-name>Mul_1</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/Loop.xml b/examples/Loop.xml
new file mode 100755 (executable)
index 0000000..10776dd
--- /dev/null
@@ -0,0 +1,306 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>test_superv_basic_loop</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>test_superv_basic_loop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Add\incr</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/5/2003 - 13:43:38</creation-date>
+   <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>incr</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Sum</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>incr</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Sum</FuncName>
+     <PyFunc><![CDATA[def Sum(sum,incr): ]]></PyFunc>
+     <PyFunc><![CDATA[ result = sum+incr     ]]></PyFunc>
+     <PyFunc><![CDATA[ return result,incr     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/12/2003 - 9:26:10</creation-date>
+   <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>220</x-position>
+   <y-position>40</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>fori</node-name>
+   <kind>4</kind>
+   <coupled-node>Endfori</coupled-node>
+   <service>
+<service-name>fori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ if max > min :   ]]></PyFunc>
+     <PyFunc><![CDATA[         index = min   ]]></PyFunc>
+     <PyFunc><![CDATA[ else :   ]]></PyFunc>
+     <PyFunc><![CDATA[         index = max   ]]></PyFunc>
+     <PyFunc><![CDATA[ #print index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return index,min,max,sum   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ OutLoop = 0  ]]></PyFunc>
+     <PyFunc><![CDATA[ if max > index :   ]]></PyFunc>
+     <PyFunc><![CDATA[         OutLoop = 1  ]]></PyFunc>
+     <PyFunc><![CDATA[ #print OutLoop,index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return OutLoop,index,min,max,sum   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ index = index + 1   ]]></PyFunc>
+     <PyFunc><![CDATA[ #print index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return index,min,max,sum   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/12/2003 - 9:26:10</creation-date>
+   <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>12</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Endfori</node-name>
+   <kind>5</kind>
+   <coupled-node>fori</coupled-node>
+   <service>
+<service-name>Endfori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/12/2003 - 9:26:10</creation-date>
+   <lastmodification-date>2/12/2003 - 9:26:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>432</x-position>
+   <y-position>0</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>Sum</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>incr</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>186</x>
+     <y>150</y>    </coord>
+    <coord>
+<x>187</x>
+     <y>34</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>sum</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Endfori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>8</x>
+     <y>215</y>    </coord>
+    <coord>
+<x>7</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>747</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>748</x>
+     <y>214</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\index</fromserviceparameter-name>
+   <tonode-name>fori</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>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\min</fromserviceparameter-name>
+   <tonode-name>fori</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>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\max</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1001</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\sum</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index fdb68f60f63bd3e1d26c00c5998298bbb767fb21..4a10f26b186a91345a7b71ca87c4a754e7b70491 100644 (file)
@@ -3,65 +3,94 @@
 
 from SuperV import *
 # Graph creation 
-GraphEssai = Graph( 'GraphEssai' )
-print GraphEssai.SetAuthor( '' )
-print GraphEssai.SetComment( '' )
-GraphEssai.Coords( 0 , 0 )
-
-# Creation of Nodes
-Sub = GraphEssai.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
-print Sub.SetAuthor( '' )
-print Sub.SetContainer( 'SubDivServer' )
-print Sub.SetComment( '' )
-Sub.Coords( 379 , 41 )
-Mul = GraphEssai.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
-print Mul.SetAuthor( '' )
-print Mul.SetContainer( 'MulServer' )
-print Mul.SetComment( '' )
-Mul.Coords( 553 , 275 )
-Div = GraphEssai.Node( 'DivComponent' , 'DivComponent' , 'Div' )
-print Div.SetAuthor( '' )
-print Div.SetContainer( 'SubDivServer' )
-print Div.SetComment( '' )
-Div.Coords( 608 , 42 )
-Addition = GraphEssai.Node( 'AddComponent' , 'AddComponent' , 'Addition' )
-print Addition.SetAuthor( '' )
-print Addition.SetContainer( 'localhost/AddServer' )
-print Addition.SetComment( '' )
-Addition.Coords( 14 , 270 )
-Add = GraphEssai.Node( 'AddComponent' , 'Adder' , 'Add' )
-print Add.SetAuthor( '' )
-print Add.SetContainer( 'localhost/AddServer' )
-print Add.SetComment( '' )
-Add.Coords( 204 , 237 )
-
-# Creation of intermediate Output variables and of links
+NewGraphEssai = Graph( 'NewGraphEssai' )
+NewGraphEssai.SetName( 'NewGraphEssai' )
+NewGraphEssai.SetAuthor( '' )
+NewGraphEssai.SetComment( '' )
+NewGraphEssai.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Sub = NewGraphEssai.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'SubDivServer' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 413 , 74 )
+
+Mul = NewGraphEssai.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'MulServer' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 617 , 268 )
+
+Div = NewGraphEssai.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'SubDivServer' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 823 , 74 )
+
+Addition = NewGraphEssai.FNode( 'AddComponent' , 'AddComponent' , 'Addition' )
+Addition.SetName( 'Addition' )
+Addition.SetAuthor( '' )
+Addition.SetContainer( 'localhost/AddServer' )
+Addition.SetComment( 'Addition from AddComponent' )
+Addition.Coords( 11 , 268 )
+
+# Creation of Computing Nodes
+Add_ServiceinParameter = []
+Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'Adder' , 'Adder' ) )
+Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'x' ) )
+Add_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'y' ) )
+Add_ServiceoutParameter = []
+Add_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'FuncValue' ) )
+Add_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'double' , 'z' ) )
+Add_Service = SALOME_ModuleCatalog.Service( 'Add' , Add_ServiceinParameter , Add_ServiceoutParameter , 0 )
+Add = NewGraphEssai.CNode( Add_Service )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetComment( 'Compute Node' )
+Add.Coords( 215 , 268 )
+
+# Creation of Links
 Subz = Sub.Port( 'z' )
-Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
-Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
+Divx = NewGraphEssai.Link( Subz , Div.Port( 'x' ) )
+
+Mulx = NewGraphEssai.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 595 , 348 )
+Mulx.AddCoord( 2 , 595 , 154 )
+
 Mulz = Mul.Port( 'z' )
-Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
+Divy = NewGraphEssai.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 805 , 183 )
+Divy.AddCoord( 2 , 806 , 348 )
+
 AdditionAdder = Addition.Port( 'Adder' )
-AddAdder = GraphEssai.Link( AdditionAdder , Add.Port( 'Adder' ) )
+AddAdder = NewGraphEssai.Link( AdditionAdder , Add.Port( 'Adder' ) )
+
 AddFuncValue = Add.Port( 'FuncValue' )
-Suby = GraphEssai.Link( AddFuncValue , Sub.Port( 'y' ) )
+Suby = NewGraphEssai.Link( AddFuncValue , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 395 , 183 )
+Suby.AddCoord( 2 , 395 , 349 )
+
 Addz = Add.Port( 'z' )
-Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
+Muly = NewGraphEssai.Link( Addz , Mul.Port( 'y' ) )
 
 # Creation of Input datas
 Subx = Sub.Input( 'x' , 4.5)
 Addx = Add.Input( 'x' , 1.5)
 Addy = Add.Input( 'y' , 3)
 
-# Missing Input datas
-
 # Creation of Output variables
 Divz = Div.Port( 'z' )
 
-GraphEssai.Run()
+NewGraphEssai.Run()
+
+NewGraphEssai.DoneW()
 
-GraphEssai.DoneW()
+NewGraphEssai.State()
 
-GraphEssai.State()
+NewGraphEssai.PrintPorts()
 
-GraphEssai.PrintPorts()
index 4cf7c286c3f2142447bf9b9a773b77a5dfebf90b..8659695a2b9032f9ce114adff806680622a7b57b 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>GraphEssai</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphEssai</node-name>
-                       <kind>1</kind>
-                       <service>
-                               <service-name>GraphEssai</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Sub\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Div\z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>21/11/2001 - 17:17:23</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:20:10</lastmodification-date>
-                       <editor-release>1.00</editor-release>
-                       <author>?</author>
-                       <container>SuperVisionContainer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>SubComponent</component-name>
-                       <interface-name>SubComponent</interface-name>
-                       <node-name>Sub</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Sub</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>27/3/2002 - 9:16:4</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:16:4</lastmodification-date>
-                       <editor-release>1.00</editor-release>
-                       <author>?</author>
-                       <container>SubDivServer</container>
-                       <comment>?</comment>
-                       <x-position>379</x-position>
-                       <y-position>41</y-position>
-               </node>
-               <node>
-                       <component-name>MulComponent</component-name>
-                       <interface-name>MulComponent</interface-name>
-                       <node-name>Mul</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Mul</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>27/3/2002 - 9:16:4</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:16:4</lastmodification-date>
-                       <editor-release>1.00</editor-release>
-                       <author>?</author>
-                       <container>MulServer</container>
-                       <comment>?</comment>
-                       <x-position>553</x-position>
-                       <y-position>275</y-position>
-               </node>
-               <node>
-                       <component-name>DivComponent</component-name>
-                       <interface-name>DivComponent</interface-name>
-                       <node-name>Div</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Div</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>27/3/2002 - 9:16:4</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:16:4</lastmodification-date>
-                       <editor-release>1.00</editor-release>
-                       <author>?</author>
-                       <container>SubDivServer</container>
-                       <comment>?</comment>
-                       <x-position>608</x-position>
-                       <y-position>42</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Addition</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Addition</service-name>
-                               <inParameter-list>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Adder</outParameter-type>
-                                               <outParameter-name>Adder</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>27/3/2002 - 9:16:4</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:16:4</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/AddServer</container>
-                       <comment>?</comment>
-                       <x-position>14</x-position>
-                       <y-position>270</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>Adder</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>Adder</inParameter-type>
-                                               <inParameter-name>Adder</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>27/3/2002 - 9:16:4</creation-date>
-                       <lastmodification-date>27/3/2002 - 9:16:4</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/AddServer</container>
-                       <comment>?</comment>
-                       <x-position>204</x-position>
-                       <y-position>237</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Sub</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Mul</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Div</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Addition</fromnode-name>
-                       <fromserviceparameter-name>Adder</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>Adder</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Mul</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
-                       <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
-                       <tonode-name>Sub</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>4.5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>1.5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>NewGraphEssai</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>NewGraphEssai</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>21/11/2001 - 17:17:23</creation-date>
+   <lastmodification-date>19/9/2003 - 15:23:10</lastmodification-date>
+   <editor-release>1.00</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:20:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
+   <editor-release>1.00</editor-release>
+   <author>?</author>
+   <container>SubDivServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>413</x-position>
+   <y-position>74</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:20:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
+   <editor-release>1.00</editor-release>
+   <author>?</author>
+   <container>MulServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>617</x-position>
+   <y-position>268</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:20:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
+   <editor-release>1.00</editor-release>
+   <author>?</author>
+   <container>SubDivServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>823</x-position>
+   <y-position>74</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Addition</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Addition</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Adder</outParameter-type>
+      <outParameter-name>Adder</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:20:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/AddServer</container>
+   <comment>Addition from AddComponent</comment>
+   <x-position>11</x-position>
+   <y-position>268</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>2</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Adder</inParameter-type>
+      <inParameter-name>Adder</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:20:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:20:52</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>215</x-position>
+   <y-position>268</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Sub</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>595</x>
+     <y>348</y>    </coord>
+    <coord>
+<x>595</x>
+     <y>154</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Div</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>805</x>
+     <y>183</y>    </coord>
+    <coord>
+<x>806</x>
+     <y>348</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Addition</fromnode-name>
+   <fromserviceparameter-name>Adder</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>Adder</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>FuncValue</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>395</x>
+     <y>183</y>    </coord>
+    <coord>
+<x>395</x>
+     <y>349</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>NewGraphEssai</fromnode-name>
+   <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
+   <tonode-name>Sub</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>4.5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>NewGraphEssai</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1.5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>NewGraphEssai</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index d8f8888080b3e5c3343391407bb6446ec3e4ea4d..ca8ef7aa369263bcf498c64fa89e575bbc206b92 100644 (file)
@@ -1,30 +1,51 @@
-
-# Generated python file of Graph GraphGeom2Essai
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : NewGraphGeomEssai.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 # Graph creation 
-GraphGeom2Essai = Graph( 'GraphGeom2Essai' )
-print GraphGeom2Essai.SetAuthor( '' )
-print GraphGeom2Essai.SetComment( '' )
-GraphGeom2Essai.Coords( 0 , 0 )
+NewGraphGeomEssai = Graph( 'NewGraphGeomEssai' )
+print NewGraphGeomEssai.SetAuthor( '' )
+print NewGraphGeomEssai.SetComment( '' )
+NewGraphGeomEssai.Coords( 0 , 0 )
 
 # Creation of Nodes
-MakeSphere = GraphGeom2Essai.Node( 'GEOM' , 'GEOM' , 'MakeSphere' )
+MakeSphere = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeSphere' )
 print MakeSphere.SetAuthor( '' )
 print MakeSphere.SetContainer( 'FactoryServer' )
 print MakeSphere.SetComment( '' )
 MakeSphere.Coords( 17 , 75 )
-MakeCopy = GraphGeom2Essai.Node( 'GEOM' , 'GEOM' , 'MakeCopy' )
+MakeCopy = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeCopy' )
 print MakeCopy.SetAuthor( '' )
 print MakeCopy.SetContainer( 'FactoryServer' )
 print MakeCopy.SetComment( '' )
 MakeCopy.Coords( 219 , 12 )
-MakeTranslation = GraphGeom2Essai.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
+MakeTranslation = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
 print MakeTranslation.SetAuthor( '' )
 print MakeTranslation.SetContainer( 'FactoryServer' )
 print MakeTranslation.SetComment( '' )
 MakeTranslation.Coords( 221 , 209 )
-MakeFuse = GraphGeom2Essai.Node( 'GEOM' , 'GEOM' , 'MakeFuse' )
+MakeFuse = NewGraphGeomEssai.Node( 'GEOM' , 'GEOM' , 'MakeFuse' )
 print MakeFuse.SetAuthor( '' )
 print MakeFuse.SetContainer( 'FactoryServer' )
 print MakeFuse.SetComment( '' )
@@ -32,12 +53,12 @@ MakeFuse.Coords( 465 , 106 )
 
 # Creation of intermediate Output variables and of links
 MakeSpheresphere = MakeSphere.Port( 'shape' )
-MakeCopyshape = GraphGeom2Essai.Link( MakeSpheresphere , MakeCopy.Port( 'shape1' ) )
-MakeTranslationshape = GraphGeom2Essai.Link( MakeSpheresphere , MakeTranslation.Port( 'shape1' ) )
+MakeCopyshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeCopy.Port( 'shape1' ) )
+MakeTranslationshape = NewGraphGeomEssai.Link( MakeSpheresphere , MakeTranslation.Port( 'shape1' ) )
 MakeCopycopy = MakeCopy.Port( 'shape' )
-MakeFuseshape1 = GraphGeom2Essai.Link( MakeCopycopy , MakeFuse.Port( 'shape1' ) )
+MakeFuseshape1 = NewGraphGeomEssai.Link( MakeCopycopy , MakeFuse.Port( 'shape1' ) )
 MakeTranslationtranslation = MakeTranslation.Port( 'shape' )
-MakeFuseshape2 = GraphGeom2Essai.Link( MakeTranslationtranslation , MakeFuse.Port( 'shape2' ) )
+MakeFuseshape2 = NewGraphGeomEssai.Link( MakeTranslationtranslation , MakeFuse.Port( 'shape2' ) )
 
 # Creation of Input datas
 MakeSpherex1 = MakeSphere.Input( 'x1' , 0)
@@ -52,3 +73,12 @@ MakeTranslationz1 = MakeTranslation.Input( 'z1' , 0)
 
 # Creation of Output variables
 MakeFuseresult = MakeFuse.Port( 'shape' )
+
+NewGraphGeomEssai.Run()
+
+NewGraphGeomEssai.DoneW()
+
+NewGraphGeomEssai.State()
+
+NewGraphGeomEssai.PrintPorts()
+
index 552125d0f6d44996d3e89e8c39c421787c93743e..f0c5583fbb308c0f301d3f446fc8d5459da665b6 100644 (file)
@@ -6,12 +6,12 @@
 <dataflow>
        <info-list>
                <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>GraphGeom2Essai</node-name>
+                       <component-name>NewGraphGeomEssai</component-name>
+                       <interface-name>NewGraphGeomEssai</interface-name>
+                       <node-name>NewGraphGeomEssai</node-name>
                        <kind>1</kind>
                        <service>
-                               <service-name>GraphGeom2Essai</service-name>
+                               <service-name>NewGraphGeomEssai</service-name>
                                <inParameter-list>
                                        <inParameter>
                                                <inParameter-type>double</inParameter-type>
@@ -63,7 +63,7 @@
        <node-list>
                <node>
                        <component-name>GEOM</component-name>
-                       <interface-name>?</interface-name>
+                       <interface-name>GEOM</interface-name>
                        <node-name>MakeSphere</node-name>
                        <kind>0</kind>
                        <service>
                </node>
                <node>
                        <component-name>GEOM</component-name>
-                       <interface-name>?</interface-name>
+                       <interface-name>GEOM</interface-name>
                        <node-name>MakeCopy</node-name>
                        <kind>0</kind>
                        <service>
                </node>
                <node>
                        <component-name>GEOM</component-name>
-                       <interface-name>?</interface-name>
+                       <interface-name>GEOM</interface-name>
                        <node-name>MakeTranslation</node-name>
                        <kind>0</kind>
                        <service>
                </node>
                <node>
                        <component-name>GEOM</component-name>
-                       <interface-name>?</interface-name>
+                       <interface-name>GEOM</interface-name>
                        <node-name>MakeFuse</node-name>
                        <kind>0</kind>
                        <service>
 
        <data-list>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeSphere\x1</fromserviceparameter-name>
                        <tonode-name>MakeSphere</tonode-name>
                        <toserviceparameter-name>x1</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeSphere\y1</fromserviceparameter-name>
                        <tonode-name>MakeSphere</tonode-name>
                        <toserviceparameter-name>y1</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeSphere\z1</fromserviceparameter-name>
                        <tonode-name>MakeSphere</tonode-name>
                        <toserviceparameter-name>z1</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeSphere\radius</fromserviceparameter-name>
                        <tonode-name>MakeSphere</tonode-name>
                        <toserviceparameter-name>radius</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
                        <tonode-name>MakeTranslation</tonode-name>
                        <toserviceparameter-name>x1</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeTranslation\y1</fromserviceparameter-name>
                        <tonode-name>MakeTranslation</tonode-name>
                        <toserviceparameter-name>y1</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphGeom2Essai</fromnode-name>
+                       <fromnode-name>NewGraphGeomEssai</fromnode-name>
                        <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
                        <tonode-name>MakeTranslation</tonode-name>
                        <toserviceparameter-name>z1</toserviceparameter-name>
index b537746d1ca14fc734ed05a59d865a39c6b03856..65c720f5e3e53716d621aca0f86fe3dc94605dc3 100755 (executable)
 from SuperV import *
 # Graph creation 
 aNewDataFlow = Graph( 'aNewDataFlow' )
-print aNewDataFlow.SetName( 'aNewDataFlow' )
-print aNewDataFlow.SetAuthor( '' )
-print aNewDataFlow.SetComment( '' )
+aNewDataFlow.SetName( 'aNewDataFlow' )
+aNewDataFlow.SetAuthor( '' )
+aNewDataFlow.SetComment( '' )
 aNewDataFlow.Coords( 0 , 0 )
 
-# Creation of Nodes
-InitCL = aNewDataFlow.Node( 'CLRheolef' , 'CLRheolef' , 'InitCL' )
-print InitCL.SetName( 'InitCL' )
-print InitCL.SetAuthor( '' )
-print InitCL.SetContainer( 'localhost/FactoryServer' )
-print InitCL.SetComment( '' )
-InitCL.Coords( 340 , 327 )
-MakeBox = aNewDataFlow.Node( 'GEOM' , 'GEOM' , 'MakeBox' )
-print MakeBox.SetName( 'MakeBox' )
-print MakeBox.SetAuthor( '' )
-print MakeBox.SetContainer( 'localhost/FactoryServer' )
-print MakeBox.SetComment( '' )
-MakeBox.Coords( 0 , 0 )
-MeshGeomShapeSup = aNewDataFlow.Node( 'QMG' , 'QMG' , 'MeshGeomShapeSup' )
-print MeshGeomShapeSup.SetName( 'MeshGeomShapeSup' )
-print MeshGeomShapeSup.SetAuthor( '' )
-print MeshGeomShapeSup.SetContainer( 'localhost/FactoryServer' )
-print MeshGeomShapeSup.SetComment( '' )
-MeshGeomShapeSup.Coords( 339 , 0 )
-SolveSup = aNewDataFlow.Node( 'Rheolef' , 'Rheolef' , 'SolveSup' )
-print SolveSup.SetName( 'SolveSup' )
-print SolveSup.SetAuthor( '' )
-print SolveSup.SetContainer( 'localhost/FactoryServer' )
-print SolveSup.SetComment( '' )
-SolveSup.Coords( 862 , 298 )
-ModifyCL = aNewDataFlow.Node( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-print ModifyCL.SetName( 'ModifyCL' )
-print ModifyCL.SetAuthor( '' )
-print ModifyCL.SetContainer( 'localhost/FactoryServer' )
-print ModifyCL.SetComment( '' )
-ModifyCL.Coords( 509 , 328 )
-MakeBoolean = aNewDataFlow.Node( 'GEOM' , 'GEOM' , 'MakeBoolean' )
-print MakeBoolean.SetName( 'MakeBoolean' )
-print MakeBoolean.SetAuthor( '' )
-print MakeBoolean.SetContainer( 'localhost/FactoryServer' )
-print MakeBoolean.SetComment( '' )
-MakeBoolean.Coords( 171 , 0 )
-MakeBox_1 = aNewDataFlow.Node( 'GEOM' , 'GEOM' , 'MakeBox' )
-print MakeBox_1.SetName( 'MakeBox_1' )
-print MakeBox_1.SetAuthor( '' )
-print MakeBox_1.SetContainer( 'localhost/FactoryServer' )
-print MakeBox_1.SetComment( '' )
+# Creation of Factory Nodes
+
+InitCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'InitCL' )
+InitCL.SetName( 'InitCL' )
+InitCL.SetAuthor( '' )
+InitCL.SetContainer( 'localhost/FactoryServer' )
+InitCL.SetComment( 'InitCL from CLRheolef' )
+InitCL.Coords( 414 , 334 )
+
+MakeBox = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
+MakeBox.SetName( 'MakeBox' )
+MakeBox.SetAuthor( '' )
+MakeBox.SetContainer( 'localhost/FactoryServer' )
+MakeBox.SetComment( 'MakeBox from Geometry' )
+MakeBox.Coords( 7 , 29 )
+
+MeshGeomShapeSup = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'MeshGeomShapeSup' )
+MeshGeomShapeSup.SetName( 'MeshGeomShapeSup' )
+MeshGeomShapeSup.SetAuthor( '' )
+MeshGeomShapeSup.SetContainer( 'localhost/FactoryServer' )
+MeshGeomShapeSup.SetComment( 'MeshGeomShapeSup from QMG' )
+MeshGeomShapeSup.Coords( 372 , 0 )
+
+SolveSup = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'SolveSup' )
+SolveSup.SetName( 'SolveSup' )
+SolveSup.SetAuthor( '' )
+SolveSup.SetContainer( 'localhost/FactoryServer' )
+SolveSup.SetComment( 'SolveSup from Rheolef' )
+SolveSup.Coords( 1030 , 304 )
+
+ModifyCL = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
+ModifyCL.SetName( 'ModifyCL' )
+ModifyCL.SetAuthor( '' )
+ModifyCL.SetContainer( 'localhost/FactoryServer' )
+ModifyCL.SetComment( 'ModifyCL from CLRheolef' )
+ModifyCL.Coords( 602 , 335 )
+
+MakeBoolean = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBoolean' )
+MakeBoolean.SetName( 'MakeBoolean' )
+MakeBoolean.SetAuthor( '' )
+MakeBoolean.SetContainer( 'localhost/FactoryServer' )
+MakeBoolean.SetComment( 'MakeBoolean from Geometry' )
+MakeBoolean.Coords( 188 , 30 )
+
+MakeBox_1 = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeBox' )
+MakeBox_1.SetName( 'MakeBox_1' )
+MakeBox_1.SetAuthor( '' )
+MakeBox_1.SetContainer( 'localhost/FactoryServer' )
+MakeBox_1.SetComment( 'MakeBox from Geometry' )
 MakeBox_1.Coords( 0 , 325 )
-MakeTranslation = aNewDataFlow.Node( 'GEOM' , 'GEOM' , 'MakeTranslation' )
-print MakeTranslation.SetName( 'MakeTranslation' )
-print MakeTranslation.SetAuthor( '' )
-print MakeTranslation.SetContainer( 'localhost/FactoryServer' )
-print MakeTranslation.SetComment( '' )
-MakeTranslation.Coords( 165 , 325 )
-FindNode = aNewDataFlow.Node( 'QMG' , 'QMG' , 'FindNode' )
-print FindNode.SetName( 'FindNode' )
-print FindNode.SetAuthor( '' )
-print FindNode.SetContainer( 'localhost/FactoryServer' )
-print FindNode.SetComment( '' )
-FindNode.Coords( 510 , 0 )
-ValueOf = aNewDataFlow.Node( 'Rheolef' , 'Rheolef' , 'ValueOf' )
-print ValueOf.SetName( 'ValueOf' )
-print ValueOf.SetAuthor( '' )
-print ValueOf.SetContainer( 'localhost/FactoryServer' )
-print ValueOf.SetComment( '' )
-ValueOf.Coords( 692 , 43 )
-ModifyCL_1 = aNewDataFlow.Node( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
-print ModifyCL_1.SetName( 'ModifyCL_1' )
-print ModifyCL_1.SetAuthor( '' )
-print ModifyCL_1.SetContainer( 'localhost/FactoryServer' )
-print ModifyCL_1.SetComment( '' )
-ModifyCL_1.Coords( 674 , 328 )
-Plot = aNewDataFlow.Node( 'Rheolef' , 'Rheolef' , 'Plot' )
-print Plot.SetName( 'Plot' )
-print Plot.SetAuthor( '' )
-print Plot.SetContainer( 'localhost/FactoryServer' )
-print Plot.SetComment( '' )
-Plot.Coords( 860 , 43 )
-Add = aNewDataFlow.Node( 'AddComponent' , 'AddComponent' , 'Add' )
-print Add.SetName( 'Add' )
-print Add.SetAuthor( '' )
-print Add.SetContainer( 'localhost/FactoryServer' )
-print Add.SetComment( '' )
-Add.Coords( 0 , 650 )
-
-# Creation of intermediate Output variables and of links
+
+MakeTranslation = aNewDataFlow.FNode( 'Geometry' , 'Geometry' , 'MakeTranslation' )
+MakeTranslation.SetName( 'MakeTranslation' )
+MakeTranslation.SetAuthor( '' )
+MakeTranslation.SetContainer( 'localhost/FactoryServer' )
+MakeTranslation.SetComment( 'MakeTranslation from Geometry' )
+MakeTranslation.Coords( 190 , 325 )
+
+FindNode = aNewDataFlow.FNode( 'QMG' , 'QMG' , 'FindNode' )
+FindNode.SetName( 'FindNode' )
+FindNode.SetAuthor( '' )
+FindNode.SetContainer( 'localhost/FactoryServer' )
+FindNode.SetComment( 'FindNode from QMG' )
+FindNode.Coords( 621 , 0 )
+
+ValueOf = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'ValueOf' )
+ValueOf.SetName( 'ValueOf' )
+ValueOf.SetAuthor( '' )
+ValueOf.SetContainer( 'localhost/FactoryServer' )
+ValueOf.SetComment( 'ValueOf from Rheolef' )
+ValueOf.Coords( 832 , 42 )
+
+ModifyCL_1 = aNewDataFlow.FNode( 'CLRheolef' , 'CLRheolef' , 'ModifyCL' )
+ModifyCL_1.SetName( 'ModifyCL_1' )
+ModifyCL_1.SetAuthor( '' )
+ModifyCL_1.SetContainer( 'localhost/FactoryServer' )
+ModifyCL_1.SetComment( 'ModifyCL from CLRheolef' )
+ModifyCL_1.Coords( 800 , 334 )
+
+Plot = aNewDataFlow.FNode( 'Rheolef' , 'Rheolef' , 'Plot' )
+Plot.SetName( 'Plot' )
+Plot.SetAuthor( '' )
+Plot.SetContainer( 'localhost/FactoryServer' )
+Plot.SetComment( 'Plot from Rheolef' )
+Plot.Coords( 1029 , 41 )
+
+Add = aNewDataFlow.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'localhost/FactoryServer' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 0 , 610 )
+
+# Creation of Links
 InitCLreturn = InitCL.Port( 'return' )
 ModifyCLmyRheolefData = aNewDataFlow.Link( InitCLreturn , ModifyCL.Port( 'myRheolefData' ) )
+
 MakeBoxshape = MakeBox.Port( 'shape' )
 MakeBooleanshape1 = aNewDataFlow.Link( MakeBoxshape , MakeBoolean.Port( 'shape1' ) )
+
 MeshGeomShapeSupreturn = MeshGeomShapeSup.Port( 'return' )
 SolveSupmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , SolveSup.Port( 'myMesh' ) )
-print SolveSupmyMesh.AddCoord( 1 , 836 , 509 )
-print SolveSupmyMesh.AddCoord( 2 , 835 , 320 )
-print SolveSupmyMesh.AddCoord( 3 , 499 , 321 )
-print SolveSupmyMesh.AddCoord( 4 , 498 , 152 )
+SolveSupmyMesh.AddCoord( 1 , 985 , 442 )
+SolveSupmyMesh.AddCoord( 2 , 984 , 301 )
+SolveSupmyMesh.AddCoord( 3 , 561 , 300 )
+SolveSupmyMesh.AddCoord( 4 , 561 , 83 )
+
 InitCLmyMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , InitCL.Port( 'myMesh' ) )
-print InitCLmyMesh.AddCoord( 1 , 333 , 570 )
-print InitCLmyMesh.AddCoord( 2 , 332 , 321 )
-print InitCLmyMesh.AddCoord( 3 , 499 , 321 )
-print InitCLmyMesh.AddCoord( 4 , 499 , 151 )
+InitCLmyMesh.AddCoord( 1 , 385 , 502 )
+InitCLmyMesh.AddCoord( 2 , 384 , 301 )
+InitCLmyMesh.AddCoord( 3 , 561 , 300 )
+InitCLmyMesh.AddCoord( 4 , 561 , 81 )
+
 FindNodeaMesh = aNewDataFlow.Link( MeshGeomShapeSupreturn , FindNode.Port( 'aMesh' ) )
-print FindNodeaMesh.AddCoord( 1 , 498 , 152 )
+
 SolveSupreturn = SolveSup.Port( 'return' )
 ValueOfaField = aNewDataFlow.Link( SolveSupreturn , ValueOf.Port( 'aField' ) )
-print ValueOfaField.AddCoord( 1 , 683 , 194 )
-print ValueOfaField.AddCoord( 2 , 682 , 16 )
-print ValueOfaField.AddCoord( 3 , 1000 , 17 )
-print ValueOfaField.AddCoord( 4 , 1001 , 450 )
+ValueOfaField.AddCoord( 1 , 818 , 122 )
+ValueOfaField.AddCoord( 2 , 817 , 26 )
+ValueOfaField.AddCoord( 3 , 1216 , 26 )
+ValueOfaField.AddCoord( 4 , 1218 , 385 )
+
 ModifyCLreturn = ModifyCL.Port( 'return' )
 ModifyCL_1myRheolefData = aNewDataFlow.Link( ModifyCLreturn , ModifyCL_1.Port( 'myRheolefData' ) )
+
 MakeBooleanshape = MakeBoolean.Port( 'shape' )
 MeshGeomShapeSupshape = aNewDataFlow.Link( MakeBooleanshape , MeshGeomShapeSup.Port( 'shape' ) )
-print MeshGeomShapeSupshape.AddCoord( 1 , 333 , 182 )
-print MeshGeomShapeSupshape.AddCoord( 2 , 332 , 153 )
+
 MakeBox_1shape = MakeBox_1.Port( 'shape' )
 MakeTranslationshape1 = aNewDataFlow.Link( MakeBox_1shape , MakeTranslation.Port( 'shape1' ) )
+
 MakeTranslationshape = MakeTranslation.Port( 'shape' )
 MakeBooleanshape2 = aNewDataFlow.Link( MakeTranslationshape , MakeBoolean.Port( 'shape2' ) )
-print MakeBooleanshape2.AddCoord( 1 , 163 , 182 )
-print MakeBooleanshape2.AddCoord( 2 , 163 , 321 )
-print MakeBooleanshape2.AddCoord( 3 , 326 , 321 )
-print MakeBooleanshape2.AddCoord( 4 , 327 , 477 )
+MakeBooleanshape2.AddCoord( 1 , 182 , 140 )
+MakeBooleanshape2.AddCoord( 2 , 181 , 261 )
+MakeBooleanshape2.AddCoord( 3 , 363 , 260 )
+MakeBooleanshape2.AddCoord( 4 , 363 , 411 )
+MakeBooleanshape2.AddCoord( 5 , 327 , 408 )
+
 FindNodereturn = FindNode.Port( 'return' )
 ValueOfnumberOfNode = aNewDataFlow.Link( FindNodereturn , ValueOf.Port( 'numberOfNode' ) )
-print ValueOfnumberOfNode.AddCoord( 1 , 673 , 224 )
-print ValueOfnumberOfNode.AddCoord( 2 , 672 , 151 )
+ValueOfnumberOfNode.AddCoord( 1 , 799 , 152 )
+ValueOfnumberOfNode.AddCoord( 2 , 798 , 81 )
+
 ValueOfreturn = ValueOf.Port( 'return' )
 PlotValue = aNewDataFlow.Link( ValueOfreturn , Plot.Port( 'Value' ) )
+
 ModifyCL_1return = ModifyCL_1.Port( 'return' )
 SolveSupmyRheolefData = aNewDataFlow.Link( ModifyCL_1return , SolveSup.Port( 'myRheolefData' ) )
+
 Addz = Add.Port( 'z' )
 MakeTranslationy1 = aNewDataFlow.Link( Addz , MakeTranslation.Port( 'y1' ) )
-print MakeTranslationy1.AddCoord( 1 , 161 , 537 )
-print MakeTranslationy1.AddCoord( 2 , 162 , 831 )
+MakeTranslationy1.AddCoord( 1 , 181 , 464 )
+MakeTranslationy1.AddCoord( 2 , 182 , 720 )
+
 FindNodey = aNewDataFlow.Link( Addz , FindNode.Port( 'y' ) )
-print FindNodey.AddCoord( 1 , 504 , 209 )
-print FindNodey.AddCoord( 2 , 503 , 832 )
+FindNodey.AddCoord( 1 , 592 , 139 )
+FindNodey.AddCoord( 2 , 593 , 720 )
+
 PlotPosition = aNewDataFlow.Link( Addz , Plot.Port( 'Position' ) )
-print PlotPosition.AddCoord( 1 , 854 , 228 )
-print PlotPosition.AddCoord( 2 , 855 , 832 )
+PlotPosition.AddCoord( 1 , 1010 , 150 )
+PlotPosition.AddCoord( 2 , 1011 , 720 )
 
 # Creation of Input datas
 InitCLstudyId = InitCL.Input( 'studyId' , 1)
@@ -183,7 +209,5 @@ PlotFilename = Plot.Input( 'Filename' , 'Result.plt')
 Addx = Add.Input( 'x' , 0)
 Addy = Add.Input( 'y' , 10)
 
-# Missing Input datas
-
 # Creation of Output variables
 AddFuncValue = Add.Port( 'FuncValue' )
index aa75195e5ab24a620403bf29c842fa17c506adaf..02034030aceeaef59010ac0e6d79ae4debdd28ba 100755 (executable)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>aNewDataFlow</node-name>
-                       <kind>1</kind>
-                       <service>
-                               <service-name>aNewDataFlow</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>InitCL\studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>InitCL\dataName</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>InitCL\source</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\x2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\y2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox\z2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>MeshGeomShapeSup\studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MeshGeomShapeSup\sizeControl</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MeshGeomShapeSup\curveControl</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MeshGeomShapeSup\tolmesh</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MeshGeomShapeSup\tolskin</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>SolveSup\studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>ModifyCL\faceToModify</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>ModifyCL\newFaceCLtype</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>ModifyCL\newFaceValue</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>MakeBoolean\operation</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\x2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\y2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeBox_1\z2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeTranslation\x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>MakeTranslation\z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>FindNode\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>FindNode\z</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>ModifyCL_1\faceToModify</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>ModifyCL_1\newFaceCLtype</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>ModifyCL_1\newFaceValue</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>Plot\Filename</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Add\y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>Add\FuncValue</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>14/7/2002 - 21:1:52</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:38:51</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </info-list>
-
-       <node-list>
-               <node>
-                       <component-name>CLRheolef</component-name>
-                       <interface-name>CLRheolef</interface-name>
-                       <node-name>InitCL</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>InitCL</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>dataName</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>source</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>QMG_Mesh</inParameter-type>
-                                               <inParameter-name>myMesh</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Rheolef_Data</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>340</x-position>
-                       <y-position>327</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeBox</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeBox</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z2</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>QMG</component-name>
-                       <interface-name>QMG</interface-name>
-                       <node-name>MeshGeomShapeSup</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MeshGeomShapeSup</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>sizeControl</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>curveControl</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>tolmesh</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>tolskin</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>QMG_Mesh</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>339</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>Rheolef</component-name>
-                       <interface-name>Rheolef</interface-name>
-                       <node-name>SolveSup</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>SolveSup</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>studyId</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>Rheolef_Data</inParameter-type>
-                                               <inParameter-name>myRheolefData</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>QMG_Mesh</inParameter-type>
-                                               <inParameter-name>myMesh</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Rheolef_Field</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>862</x-position>
-                       <y-position>298</y-position>
-               </node>
-               <node>
-                       <component-name>CLRheolef</component-name>
-                       <interface-name>CLRheolef</interface-name>
-                       <node-name>ModifyCL</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>ModifyCL</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>Rheolef_Data</inParameter-type>
-                                               <inParameter-name>myRheolefData</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>faceToModify</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>newFaceCLtype</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>newFaceValue</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Rheolef_Data</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>509</x-position>
-                       <y-position>328</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeBoolean</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeBoolean</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>operation</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>171</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeBox_1</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeBox</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y2</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z2</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>325</y-position>
-               </node>
-               <node>
-                       <component-name>GEOM</component-name>
-                       <interface-name>GEOM</interface-name>
-                       <node-name>MakeTranslation</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>MakeTranslation</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>GEOM_Shape</inParameter-type>
-                                               <inParameter-name>shape1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y1</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z1</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>GEOM_Shape</outParameter-type>
-                                               <outParameter-name>shape</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>165</x-position>
-                       <y-position>325</y-position>
-               </node>
-               <node>
-                       <component-name>QMG</component-name>
-                       <interface-name>QMG</interface-name>
-                       <node-name>FindNode</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>FindNode</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>QMG_Mesh</inParameter-type>
-                                               <inParameter-name>aMesh</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>z</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>510</x-position>
-                       <y-position>0</y-position>
-               </node>
-               <node>
-                       <component-name>Rheolef</component-name>
-                       <interface-name>Rheolef</interface-name>
-                       <node-name>ValueOf</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>ValueOf</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>Rheolef_Field</inParameter-type>
-                                               <inParameter-name>aField</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>numberOfNode</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>692</x-position>
-                       <y-position>43</y-position>
-               </node>
-               <node>
-                       <component-name>CLRheolef</component-name>
-                       <interface-name>CLRheolef</interface-name>
-                       <node-name>ModifyCL_1</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>ModifyCL</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>Rheolef_Data</inParameter-type>
-                                               <inParameter-name>myRheolefData</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>faceToModify</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>newFaceCLtype</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>newFaceValue</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>Rheolef_Data</outParameter-type>
-                                               <outParameter-name>return</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>674</x-position>
-                       <y-position>328</y-position>
-               </node>
-               <node>
-                       <component-name>Rheolef</component-name>
-                       <interface-name>Rheolef</interface-name>
-                       <node-name>Plot</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Plot</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Value</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>Position</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>Filename</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:30</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:30</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>860</x-position>
-                       <y-position>43</y-position>
-               </node>
-               <node>
-                       <component-name>AddComponent</component-name>
-                       <interface-name>AddComponent</interface-name>
-                       <node-name>Add</node-name>
-                       <kind>0</kind>
-                       <service>
-                               <service-name>Add</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>x</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>double</inParameter-type>
-                                               <inParameter-name>y</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>FuncValue</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>double</outParameter-type>
-                                               <outParameter-name>z</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <creation-date>18/7/2002 - 9:35:55</creation-date>
-                       <lastmodification-date>18/7/2002 - 9:35:55</lastmodification-date>
-                       <editor-release>1.03</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>650</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>InitCL</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>ModifyCL</tonode-name>
-                       <toserviceparameter-name>myRheolefData</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeBox</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeBoolean</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MeshGeomShapeSup</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>SolveSup</tonode-name>
-                       <toserviceparameter-name>myMesh</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>836</x>
-                                       <y>509</y>
-                               </coord>
-                               <coord>
-                                       <x>835</x>
-                                       <y>320</y>
-                               </coord>
-                               <coord>
-                                       <x>499</x>
-                                       <y>321</y>
-                               </coord>
-                               <coord>
-                                       <x>498</x>
-                                       <y>152</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MeshGeomShapeSup</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>InitCL</tonode-name>
-                       <toserviceparameter-name>myMesh</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>333</x>
-                                       <y>570</y>
-                               </coord>
-                               <coord>
-                                       <x>332</x>
-                                       <y>321</y>
-                               </coord>
-                               <coord>
-                                       <x>499</x>
-                                       <y>321</y>
-                               </coord>
-                               <coord>
-                                       <x>499</x>
-                                       <y>151</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MeshGeomShapeSup</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>FindNode</tonode-name>
-                       <toserviceparameter-name>aMesh</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>498</x>
-                                       <y>152</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>SolveSup</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>ValueOf</tonode-name>
-                       <toserviceparameter-name>aField</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>683</x>
-                                       <y>194</y>
-                               </coord>
-                               <coord>
-                                       <x>682</x>
-                                       <y>16</y>
-                               </coord>
-                               <coord>
-                                       <x>1000</x>
-                                       <y>17</y>
-                               </coord>
-                               <coord>
-                                       <x>1001</x>
-                                       <y>450</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ModifyCL</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>ModifyCL_1</tonode-name>
-                       <toserviceparameter-name>myRheolefData</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeBoolean</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>shape</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>333</x>
-                                       <y>182</y>
-                               </coord>
-                               <coord>
-                                       <x>332</x>
-                                       <y>153</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeBox_1</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>shape1</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>MakeTranslation</fromnode-name>
-                       <fromserviceparameter-name>shape</fromserviceparameter-name>
-                       <tonode-name>MakeBoolean</tonode-name>
-                       <toserviceparameter-name>shape2</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>163</x>
-                                       <y>182</y>
-                               </coord>
-                               <coord>
-                                       <x>163</x>
-                                       <y>321</y>
-                               </coord>
-                               <coord>
-                                       <x>326</x>
-                                       <y>321</y>
-                               </coord>
-                               <coord>
-                                       <x>327</x>
-                                       <y>477</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>FindNode</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>ValueOf</tonode-name>
-                       <toserviceparameter-name>numberOfNode</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>673</x>
-                                       <y>224</y>
-                               </coord>
-                               <coord>
-                                       <x>672</x>
-                                       <y>151</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ValueOf</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>Plot</tonode-name>
-                       <toserviceparameter-name>Value</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ModifyCL_1</fromnode-name>
-                       <fromserviceparameter-name>return</fromserviceparameter-name>
-                       <tonode-name>SolveSup</tonode-name>
-                       <toserviceparameter-name>myRheolefData</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>y1</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>161</x>
-                                       <y>537</y>
-                               </coord>
-                               <coord>
-                                       <x>162</x>
-                                       <y>831</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>FindNode</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>504</x>
-                                       <y>209</y>
-                               </coord>
-                               <coord>
-                                       <x>503</x>
-                                       <y>832</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>Add</fromnode-name>
-                       <fromserviceparameter-name>z</fromserviceparameter-name>
-                       <tonode-name>Plot</tonode-name>
-                       <toserviceparameter-name>Position</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>854</x>
-                                       <y>228</y>
-                               </coord>
-                               <coord>
-                                       <x>855</x>
-                                       <y>832</y>
-                               </coord>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>InitCL\studyId</fromserviceparameter-name>
-                       <tonode-name>InitCL</tonode-name>
-                       <toserviceparameter-name>studyId</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>InitCL\dataName</fromserviceparameter-name>
-                       <tonode-name>InitCL</tonode-name>
-                       <toserviceparameter-name>dataName</toserviceparameter-name>
-                       <data-value>
-                               <value-type>18</value-type>
-                               <value>BoxData</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>InitCL\source</fromserviceparameter-name>
-                       <tonode-name>InitCL</tonode-name>
-                       <toserviceparameter-name>source</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>x1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>y1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>z1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>x2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>100</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>y2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>500</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
-                       <tonode-name>MakeBox</tonode-name>
-                       <toserviceparameter-name>z2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>50</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MeshGeomShapeSup\studyId</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>studyId</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MeshGeomShapeSup\sizeControl</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>sizeControl</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>999999</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MeshGeomShapeSup\curveControl</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>curveControl</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>0.5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MeshGeomShapeSup\tolmesh</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>tolmesh</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>1e-05</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MeshGeomShapeSup\tolskin</fromserviceparameter-name>
-                       <tonode-name>MeshGeomShapeSup</tonode-name>
-                       <toserviceparameter-name>tolskin</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>SolveSup\studyId</fromserviceparameter-name>
-                       <tonode-name>SolveSup</tonode-name>
-                       <toserviceparameter-name>studyId</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL\faceToModify</fromserviceparameter-name>
-                       <tonode-name>ModifyCL</tonode-name>
-                       <toserviceparameter-name>faceToModify</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>3</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL\newFaceCLtype</fromserviceparameter-name>
-                       <tonode-name>ModifyCL</tonode-name>
-                       <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL\newFaceValue</fromserviceparameter-name>
-                       <tonode-name>ModifyCL</tonode-name>
-                       <toserviceparameter-name>newFaceValue</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBoolean\operation</fromserviceparameter-name>
-                       <tonode-name>MakeBoolean</tonode-name>
-                       <toserviceparameter-name>operation</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>2</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\x1</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>x1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\y1</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>y1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\z1</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>z1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\x2</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>x2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>40</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\y2</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>y2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>40</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeBox_1\z2</fromserviceparameter-name>
-                       <tonode-name>MakeBox_1</tonode-name>
-                       <toserviceparameter-name>z2</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>70</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>x1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>30</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
-                       <tonode-name>MakeTranslation</tonode-name>
-                       <toserviceparameter-name>z1</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>-10</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>FindNode\x</fromserviceparameter-name>
-                       <tonode-name>FindNode</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>50</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>FindNode\z</fromserviceparameter-name>
-                       <tonode-name>FindNode</tonode-name>
-                       <toserviceparameter-name>z</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>25</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL_1\faceToModify</fromserviceparameter-name>
-                       <tonode-name>ModifyCL_1</tonode-name>
-                       <toserviceparameter-name>faceToModify</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL_1\newFaceCLtype</fromserviceparameter-name>
-                       <tonode-name>ModifyCL_1</tonode-name>
-                       <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>ModifyCL_1\newFaceValue</fromserviceparameter-name>
-                       <tonode-name>ModifyCL_1</tonode-name>
-                       <toserviceparameter-name>newFaceValue</toserviceparameter-name>
-                       <data-value>
-                               <value-type>7</value-type>
-                               <value>1</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>Plot\Filename</fromserviceparameter-name>
-                       <tonode-name>Plot</tonode-name>
-                       <toserviceparameter-name>Filename</toserviceparameter-name>
-                       <data-value>
-                               <value-type>18</value-type>
-                               <value>Result.plt</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>Add\x</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>x</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>aNewDataFlow</fromnode-name>
-                       <fromserviceparameter-name>Add\y</fromserviceparameter-name>
-                       <tonode-name>Add</tonode-name>
-                       <toserviceparameter-name>y</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>10</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>aNewDataFlow</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>aNewDataFlow</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>InitCL\studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>InitCL\dataName</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>InitCL\source</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\x2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\y2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox\z2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>MeshGeomShapeSup\studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MeshGeomShapeSup\sizeControl</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MeshGeomShapeSup\curveControl</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MeshGeomShapeSup\tolmesh</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MeshGeomShapeSup\tolskin</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>SolveSup\studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>ModifyCL\faceToModify</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>ModifyCL\newFaceCLtype</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>ModifyCL\newFaceValue</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>MakeBoolean\operation</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\x2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\y2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeBox_1\z2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeTranslation\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>MakeTranslation\z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>FindNode\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>FindNode\z</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>ModifyCL_1\faceToModify</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>ModifyCL_1\newFaceCLtype</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>ModifyCL_1\newFaceValue</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>Plot\Filename</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>14/7/2002 - 21:1:52</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>CLRheolef</component-name>
+   <interface-name>CLRheolef</interface-name>
+   <node-name>InitCL</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>InitCL</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>dataName</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>source</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>QMG_Mesh</inParameter-type>
+      <inParameter-name>myMesh</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Rheolef_Data</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>InitCL from CLRheolef</comment>
+   <x-position>414</x-position>
+   <y-position>334</y-position>  </node>
+  <node>
+<component-name>Geometry</component-name>
+   <interface-name>Geometry</interface-name>
+   <node-name>MakeBox</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeBox</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeBox from Geometry</comment>
+   <x-position>7</x-position>
+   <y-position>29</y-position>  </node>
+  <node>
+<component-name>QMG</component-name>
+   <interface-name>QMG</interface-name>
+   <node-name>MeshGeomShapeSup</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MeshGeomShapeSup</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>sizeControl</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>curveControl</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>tolmesh</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>tolskin</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>QMG_Mesh</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MeshGeomShapeSup from QMG</comment>
+   <x-position>372</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>Rheolef</component-name>
+   <interface-name>Rheolef</interface-name>
+   <node-name>SolveSup</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SolveSup</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>studyId</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>Rheolef_Data</inParameter-type>
+      <inParameter-name>myRheolefData</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>QMG_Mesh</inParameter-type>
+      <inParameter-name>myMesh</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Rheolef_Field</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>SolveSup from Rheolef</comment>
+   <x-position>1030</x-position>
+   <y-position>304</y-position>  </node>
+  <node>
+<component-name>CLRheolef</component-name>
+   <interface-name>CLRheolef</interface-name>
+   <node-name>ModifyCL</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ModifyCL</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Rheolef_Data</inParameter-type>
+      <inParameter-name>myRheolefData</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>faceToModify</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>newFaceCLtype</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>newFaceValue</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Rheolef_Data</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>ModifyCL from CLRheolef</comment>
+   <x-position>602</x-position>
+   <y-position>335</y-position>  </node>
+  <node>
+<component-name>Geometry</component-name>
+   <interface-name>Geometry</interface-name>
+   <node-name>MakeBoolean</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeBoolean</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>operation</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeBoolean from Geometry</comment>
+   <x-position>188</x-position>
+   <y-position>30</y-position>  </node>
+  <node>
+<component-name>Geometry</component-name>
+   <interface-name>Geometry</interface-name>
+   <node-name>MakeBox_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeBox</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y2</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z2</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeBox from Geometry</comment>
+   <x-position>0</x-position>
+   <y-position>325</y-position>  </node>
+  <node>
+<component-name>Geometry</component-name>
+   <interface-name>Geometry</interface-name>
+   <node-name>MakeTranslation</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>MakeTranslation</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>GEOM_Shape</inParameter-type>
+      <inParameter-name>shape1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>GEOM_Shape</outParameter-type>
+      <outParameter-name>shape</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>MakeTranslation from Geometry</comment>
+   <x-position>190</x-position>
+   <y-position>325</y-position>  </node>
+  <node>
+<component-name>QMG</component-name>
+   <interface-name>QMG</interface-name>
+   <node-name>FindNode</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>FindNode</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>QMG_Mesh</inParameter-type>
+      <inParameter-name>aMesh</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>z</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>FindNode from QMG</comment>
+   <x-position>621</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>Rheolef</component-name>
+   <interface-name>Rheolef</interface-name>
+   <node-name>ValueOf</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ValueOf</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Rheolef_Field</inParameter-type>
+      <inParameter-name>aField</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>numberOfNode</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>ValueOf from Rheolef</comment>
+   <x-position>832</x-position>
+   <y-position>42</y-position>  </node>
+  <node>
+<component-name>CLRheolef</component-name>
+   <interface-name>CLRheolef</interface-name>
+   <node-name>ModifyCL_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>ModifyCL</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>Rheolef_Data</inParameter-type>
+      <inParameter-name>myRheolefData</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>faceToModify</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>newFaceCLtype</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>newFaceValue</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>Rheolef_Data</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>ModifyCL from CLRheolef</comment>
+   <x-position>800</x-position>
+   <y-position>334</y-position>  </node>
+  <node>
+<component-name>Rheolef</component-name>
+   <interface-name>Rheolef</interface-name>
+   <node-name>Plot</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Plot</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Value</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Position</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>Filename</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list/>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Plot from Rheolef</comment>
+   <x-position>1029</x-position>
+   <y-position>41</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 15:24:7</creation-date>
+   <lastmodification-date>19/9/2003 - 15:24:7</lastmodification-date>
+   <editor-release>1.03</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>0</x-position>
+   <y-position>610</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>InitCL</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>ModifyCL</tonode-name>
+   <toserviceparameter-name>myRheolefData</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MakeBox</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeBoolean</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MeshGeomShapeSup</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>SolveSup</tonode-name>
+   <toserviceparameter-name>myMesh</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>985</x>
+     <y>442</y>    </coord>
+    <coord>
+<x>984</x>
+     <y>301</y>    </coord>
+    <coord>
+<x>561</x>
+     <y>300</y>    </coord>
+    <coord>
+<x>561</x>
+     <y>83</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>MeshGeomShapeSup</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>InitCL</tonode-name>
+   <toserviceparameter-name>myMesh</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>385</x>
+     <y>502</y>    </coord>
+    <coord>
+<x>384</x>
+     <y>301</y>    </coord>
+    <coord>
+<x>561</x>
+     <y>300</y>    </coord>
+    <coord>
+<x>561</x>
+     <y>81</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>MeshGeomShapeSup</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>FindNode</tonode-name>
+   <toserviceparameter-name>aMesh</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>SolveSup</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>ValueOf</tonode-name>
+   <toserviceparameter-name>aField</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>818</x>
+     <y>122</y>    </coord>
+    <coord>
+<x>817</x>
+     <y>26</y>    </coord>
+    <coord>
+<x>1216</x>
+     <y>26</y>    </coord>
+    <coord>
+<x>1218</x>
+     <y>385</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ModifyCL</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>ModifyCL_1</tonode-name>
+   <toserviceparameter-name>myRheolefData</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MakeBoolean</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>shape</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MakeBox_1</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>shape1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>MakeTranslation</fromnode-name>
+   <fromserviceparameter-name>shape</fromserviceparameter-name>
+   <tonode-name>MakeBoolean</tonode-name>
+   <toserviceparameter-name>shape2</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>182</x>
+     <y>140</y>    </coord>
+    <coord>
+<x>181</x>
+     <y>261</y>    </coord>
+    <coord>
+<x>363</x>
+     <y>260</y>    </coord>
+    <coord>
+<x>363</x>
+     <y>411</y>    </coord>
+    <coord>
+<x>327</x>
+     <y>408</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>FindNode</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>ValueOf</tonode-name>
+   <toserviceparameter-name>numberOfNode</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>799</x>
+     <y>152</y>    </coord>
+    <coord>
+<x>798</x>
+     <y>81</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ValueOf</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>Plot</tonode-name>
+   <toserviceparameter-name>Value</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ModifyCL_1</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>SolveSup</tonode-name>
+   <toserviceparameter-name>myRheolefData</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>y1</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>181</x>
+     <y>464</y>    </coord>
+    <coord>
+<x>182</x>
+     <y>720</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>FindNode</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>592</x>
+     <y>139</y>    </coord>
+    <coord>
+<x>593</x>
+     <y>720</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>z</fromserviceparameter-name>
+   <tonode-name>Plot</tonode-name>
+   <toserviceparameter-name>Position</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1010</x>
+     <y>150</y>    </coord>
+    <coord>
+<x>1011</x>
+     <y>720</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>InitCL\studyId</fromserviceparameter-name>
+   <tonode-name>InitCL</tonode-name>
+   <toserviceparameter-name>studyId</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>InitCL\dataName</fromserviceparameter-name>
+   <tonode-name>InitCL</tonode-name>
+   <toserviceparameter-name>dataName</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>BoxData</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>InitCL\source</fromserviceparameter-name>
+   <tonode-name>InitCL</tonode-name>
+   <toserviceparameter-name>source</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\x1</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\y1</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>y1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\z1</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>z1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\x2</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>x2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\y2</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>y2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>500</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox\z2</fromserviceparameter-name>
+   <tonode-name>MakeBox</tonode-name>
+   <toserviceparameter-name>z2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>50</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MeshGeomShapeSup\studyId</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>studyId</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MeshGeomShapeSup\sizeControl</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>sizeControl</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>999999</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MeshGeomShapeSup\curveControl</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>curveControl</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0.5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MeshGeomShapeSup\tolmesh</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>tolmesh</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1e-05</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MeshGeomShapeSup\tolskin</fromserviceparameter-name>
+   <tonode-name>MeshGeomShapeSup</tonode-name>
+   <toserviceparameter-name>tolskin</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>SolveSup\studyId</fromserviceparameter-name>
+   <tonode-name>SolveSup</tonode-name>
+   <toserviceparameter-name>studyId</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL\faceToModify</fromserviceparameter-name>
+   <tonode-name>ModifyCL</tonode-name>
+   <toserviceparameter-name>faceToModify</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>3</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL\newFaceCLtype</fromserviceparameter-name>
+   <tonode-name>ModifyCL</tonode-name>
+   <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL\newFaceValue</fromserviceparameter-name>
+   <tonode-name>ModifyCL</tonode-name>
+   <toserviceparameter-name>newFaceValue</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBoolean\operation</fromserviceparameter-name>
+   <tonode-name>MakeBoolean</tonode-name>
+   <toserviceparameter-name>operation</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\x1</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\y1</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>y1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\z1</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>z1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\x2</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>x2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>40</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\y2</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>y2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>40</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeBox_1\z2</fromserviceparameter-name>
+   <tonode-name>MakeBox_1</tonode-name>
+   <toserviceparameter-name>z2</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>70</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeTranslation\x1</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>30</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>MakeTranslation\z1</fromserviceparameter-name>
+   <tonode-name>MakeTranslation</tonode-name>
+   <toserviceparameter-name>z1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>-10</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>FindNode\x</fromserviceparameter-name>
+   <tonode-name>FindNode</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>50</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>FindNode\z</fromserviceparameter-name>
+   <tonode-name>FindNode</tonode-name>
+   <toserviceparameter-name>z</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>25</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL_1\faceToModify</fromserviceparameter-name>
+   <tonode-name>ModifyCL_1</tonode-name>
+   <toserviceparameter-name>faceToModify</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>5</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL_1\newFaceCLtype</fromserviceparameter-name>
+   <tonode-name>ModifyCL_1</tonode-name>
+   <toserviceparameter-name>newFaceCLtype</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>ModifyCL_1\newFaceValue</fromserviceparameter-name>
+   <tonode-name>ModifyCL_1</tonode-name>
+   <toserviceparameter-name>newFaceValue</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Plot\Filename</fromserviceparameter-name>
+   <tonode-name>Plot</tonode-name>
+   <toserviceparameter-name>Filename</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>Result.plt</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Add\x</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Add\y</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index cf52c775f9ba5976c2d21cff4d09ecf26d84361f..18091029a2dcdb66d8cbf3fc2bc4c4106e595e67 100644 (file)
@@ -10,63 +10,88 @@ SyrStruct.SetComment( 'Syracuse algorithm' )
 SyrStruct.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
+
 m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
 m3.SetName( 'm3' )
 m3.SetAuthor( '' )
 m3.SetContainer( 'localhost/FactoryServer' )
-m3.SetComment( '' )
-m3.Coords( 678 , 11 )
+m3.SetComment( 'C_M3 from SyrComponent' )
+m3.Coords( 672 , 28 )
+
 m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 m3incr.SetName( 'm3incr' )
 m3incr.SetAuthor( '' )
 m3incr.SetContainer( 'localhost/FactoryServer' )
-m3incr.SetComment( '' )
-m3incr.Coords( 896 , 10 )
+m3incr.SetComment( 'C_INCR from SyrComponent' )
+m3incr.Coords( 898 , 29 )
+
 incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incra.SetName( 'incra' )
 incra.SetAuthor( '' )
 incra.SetContainer( 'localhost/FactoryServer' )
-incra.SetComment( '' )
-incra.Coords( 789 , 201 )
+incra.SetComment( 'C_INCR from SyrComponent' )
+incra.Coords( 803 , 195 )
+
 div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
 div2.SetName( 'div2' )
 div2.SetAuthor( '' )
 div2.SetContainer( 'localhost/FactoryServer' )
-div2.SetComment( '' )
-div2.Coords( 792 , 387 )
+div2.SetComment( 'C_DIV2 from SyrComponent' )
+div2.Coords( 810 , 435 )
+
 incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
 incrb.SetName( 'incrb' )
 incrb.SetAuthor( '' )
 incrb.SetContainer( 'localhost/FactoryServer' )
-incrb.SetComment( '' )
-incrb.Coords( 796 , 577 )
+incrb.SetComment( 'C_INCR from SyrComponent' )
+incrb.Coords( 809 , 574 )
+
+# Creation of InLine Nodes
+PySyrComponent = []
+PySyrComponent.append( 'from LifeCycleCORBA import * ' )
+PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
+PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
+PySyrComponent.append( '    lcc = LifeCycleCORBA(orb) ' )
+PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
+PySyrComponent.append( '    return ComponentRef ' )
+SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent )
+SyrComponent.SetName( 'SyrComponent' )
+SyrComponent.SetAuthor( '' )
+SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
+SyrComponent.Coords( 0 , 0 )
+SyrComponent.InPort( 'aContainer' , 'string' )
+SyrComponent.InPort( 'aComponent' , 'string' )
+SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
 
 # Creation of Loop Nodes
 PyforN = []
-PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) :' )
-PyforN.append( '    N = max' )
-PyforN.append( '    if min > 0 :' )
-PyforN.append( '        if min <= max :' )
-PyforN.append( '            N = min' )
-PyforN.append( '    return N,K,SyrComponent,min,max' )
+PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
+PyforN.append( '    N = max ' )
+PyforN.append( '    if min > 0 : ' )
+PyforN.append( '        if max >= min : ' )
+PyforN.append( '            N = min ' )
+PyforN.append( '    return N,K,SyrComponent,min,max ' )
 PyMoreforN = []
-PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) :' )
-PyMoreforN.append( '    N = 0' )
-PyMoreforN.append( '    OutLoop = 0' )
-PyMoreforN.append( '    if NN < max :' )
-PyMoreforN.append( '        N = NN' )
-PyMoreforN.append( '        OutLoop = 1' )
-PyMoreforN.append( '    return OutLoop,N,0,SyrComponent,min,max' )
+PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
+PyMoreforN.append( '    N = NN ' )
+PyMoreforN.append( '    OutLoop = 0 ' )
+PyMoreforN.append( '    if max > NN : ' )
+PyMoreforN.append( '        OutLoop = 1 ' )
+PyMoreforN.append( '    return OutLoop,N,0,SyrComponent,min,max ' )
 PyNextforN = []
-PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) :' )
-PyNextforN.append( '    N = NN + 1' )
-PyNextforN.append( '    K = KK' )
-PyNextforN.append( '    return N,K,SyrComponent,min,max' )
-forN,endforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
-endforN.SetName( 'endforN' )
-endforN.SetAuthor( '' )
-endforN.SetComment( '' )
-endforN.Coords( 1530 , 332 )
+PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
+PyNextforN.append( '    N = NN + 1 ' )
+PyNextforN.append( '    K = KK ' )
+PyNextforN.append( '    return N,K,SyrComponent,min,max ' )
+forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
+EndOfforN.SetName( 'EndOfforN' )
+EndOfforN.SetAuthor( '' )
+EndOfforN.SetComment( '' )
+EndOfforN.Coords( 1535 , 332 )
+forN.SetName( 'forN' )
+forN.SetAuthor( '' )
+forN.SetComment( 'InitN , MoreN , NextN' )
+forN.Coords( 20 , 302 )
 forN.InPort( 'N' , 'long' )
 forN.InPort( 'K' , 'long' )
 forN.InPort( 'SyrComponent' , 'objref' )
@@ -77,10 +102,7 @@ forN.OutPort( 'K' , 'long' )
 forN.OutPort( 'SyrComponent' , 'objref' )
 forN.OutPort( 'min' , 'long' )
 forN.OutPort( 'max' , 'long' )
-forN.SetName( 'forN' )
-forN.SetAuthor( '' )
-forN.SetComment( '' )
-forN.Coords( 21 , 242 )
+
 PywhileNotOne = []
 PywhileNotOne.append( 'import threading' )
 PywhileNotOne.append( 'import SyrComponent_idl' )
@@ -95,47 +117,49 @@ PyNextwhileNotOne = []
 PyNextwhileNotOne.append( 'import SyrComponent_idl' )
 PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
 PyNextwhileNotOne.append( '    return SyrComponent,N,K' )
-whileNotOne,endwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
-endwhileNotOne.SetName( 'endwhileNotOne' )
-endwhileNotOne.SetAuthor( '' )
-endwhileNotOne.SetComment( '' )
-endwhileNotOne.Coords( 1340 , 332 )
+whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
+EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
+EndOfwhileNotOne.SetAuthor( '' )
+EndOfwhileNotOne.SetComment( '' )
+EndOfwhileNotOne.Coords( 1366 , 303 )
+whileNotOne.SetName( 'whileNotOne' )
+whileNotOne.SetAuthor( '' )
+whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
+whileNotOne.Coords( 212 , 274 )
 whileNotOne.InPort( 'SyrComponent' , 'objref' )
 whileNotOne.InPort( 'N' , 'long' )
 whileNotOne.InPort( 'K' , 'long' )
 whileNotOne.OutPort( 'SyrComponent' , 'objref' )
 whileNotOne.OutPort( 'N' , 'long' )
 whileNotOne.OutPort( 'K' , 'long' )
-whileNotOne.SetName( 'whileNotOne' )
-whileNotOne.SetAuthor( '' )
-whileNotOne.SetComment( '' )
-whileNotOne.Coords( 210 , 297 )
+
 Pyfori = []
 Pyfori.append( 'def Initfori( ii , K ) :' )
 Pyfori.append( '    return 1,0,K' )
 PyMorefori = []
 PyMorefori.append( 'def Morefori( ii , K ) :' )
 PyMorefori.append( '    OutLoop = 0' )
-PyMorefori.append( '    if ii < 2 :' )
+PyMorefori.append( '    if 2 > ii :' )
 PyMorefori.append( '        OutLoop = 1' )
 PyMorefori.append( '    return OutLoop,ii,K' )
 PyNextfori = []
 PyNextfori.append( 'def Nextfori( ii , K ) :' )
 PyNextfori.append( '    ii = ii + 1' )
 PyNextfori.append( '    return ii,K' )
-fori,endfori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
-endfori.SetName( 'endfori' )
-endfori.SetAuthor( '' )
-endfori.SetComment( '' )
-endfori.Coords( 971 , 202 )
+fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
+EndOffori.SetName( 'EndOffori' )
+EndOffori.SetAuthor( '' )
+EndOffori.SetComment( '' )
+EndOffori.Coords( 976 , 212 )
+fori.SetName( 'fori' )
+fori.SetAuthor( '' )
+fori.SetComment( 'Initfori, Morefori, Nextfori' )
+fori.Coords( 635 , 212 )
 fori.InPort( 'i' , 'long' )
 fori.InPort( 'K' , 'long' )
 fori.OutPort( 'i' , 'long' )
 fori.OutPort( 'K' , 'long' )
-fori.SetName( 'fori' )
-fori.SetAuthor( '' )
-fori.SetComment( '' )
-fori.Coords( 605 , 202 )
+
 PywhileEven = []
 PywhileEven.append( 'import SyrComponent_idl' )
 PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
@@ -149,21 +173,21 @@ PyNextwhileEven = []
 PyNextwhileEven.append( 'import SyrComponent_idl' )
 PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
 PyNextwhileEven.append( '    return SyrComponent,N,K' )
-whileEven,endwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
-endwhileEven.SetName( 'endwhileEven' )
-endwhileEven.SetAuthor( '' )
-endwhileEven.SetComment( '' )
-endwhileEven.Coords( 974 , 450 )
+whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
+EndOfwhileEven.SetName( 'EndOfwhileEven' )
+EndOfwhileEven.SetAuthor( '' )
+EndOfwhileEven.SetComment( '' )
+EndOfwhileEven.Coords( 988 , 451 )
+whileEven.SetName( 'whileEven' )
+whileEven.SetAuthor( '' )
+whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
+whileEven.Coords( 632 , 451 )
 whileEven.InPort( 'SyrComponent' , 'objref' )
 whileEven.InPort( 'N' , 'long' )
 whileEven.InPort( 'K' , 'long' )
 whileEven.OutPort( 'SyrComponent' , 'objref' )
 whileEven.OutPort( 'N' , 'long' )
 whileEven.OutPort( 'K' , 'long' )
-whileEven.SetName( 'whileEven' )
-whileEven.SetAuthor( '' )
-whileEven.SetComment( '' )
-whileEven.Coords( 605 , 452 )
 
 # Creation of Switch Nodes
 PyifNotEven = []
@@ -172,17 +196,21 @@ PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
 PyifNotEven.append( '    Even = SyrComponent.C_ISEVEN( N )' )
 PyifNotEven.append( '    Odd = 1 - Even' )
 PyifNotEven.append( '    return Odd,Even,SyrComponent,N,K' )
-ifNotEven,endifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
-endifNotEven.SetName( 'endifNotEven' )
-endifNotEven.SetAuthor( '' )
-endifNotEven.SetComment( '' )
-endifNotEven.Coords( 1155 , 331 )
-PyendifNotEven = []
-endifNotEven.SetPyFunction( 'EndifNotEven' , PyendifNotEven )
-endifNotEven.InPort( 'N' , 'long' )
-endifNotEven.InPort( 'K' , 'long' )
-endifNotEven.OutPort( 'N' , 'long' )
-endifNotEven.OutPort( 'K' , 'long' )
+ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
+EndOfifNotEven.SetName( 'EndOfifNotEven' )
+EndOfifNotEven.SetAuthor( '' )
+EndOfifNotEven.SetComment( '' )
+EndOfifNotEven.Coords( 1205 , 331 )
+PyEndOfifNotEven = []
+EndOfifNotEven.SetPyFunction( 'EndifNotEven' , PyEndOfifNotEven )
+EndOfifNotEven.InPort( 'N' , 'long' )
+EndOfifNotEven.InPort( 'K' , 'long' )
+EndOfifNotEven.OutPort( 'N' , 'long' )
+EndOfifNotEven.OutPort( 'K' , 'long' )
+ifNotEven.SetName( 'ifNotEven' )
+ifNotEven.SetAuthor( '' )
+ifNotEven.SetComment( 'ifNotEven' )
+ifNotEven.Coords( 418 , 274 )
 ifNotEven.InPort( 'SyrComponent' , 'objref' )
 ifNotEven.InPort( 'N' , 'long' )
 ifNotEven.InPort( 'K' , 'long' )
@@ -191,164 +219,185 @@ ifNotEven.OutPort( 'Even' , 'long' )
 ifNotEven.OutPort( 'SyrComponent' , 'objref' )
 ifNotEven.OutPort( 'N' , 'long' )
 ifNotEven.OutPort( 'K' , 'long' )
-ifNotEven.SetName( 'ifNotEven' )
-ifNotEven.SetAuthor( '' )
-ifNotEven.SetComment( '' )
-ifNotEven.Coords( 416 , 286 )
 
-# Creation of intermediate Output variables and of Control Links
+# Creation of Links
 m3anInteger = m3.Port( 'anInteger' )
 m3incraCount = SyrStruct.Link( m3anInteger , m3incr.Port( 'aCount' ) )
+
 m3incraNewCount = m3incr.Port( 'aNewCount' )
-endifNotEvenN = SyrStruct.Link( m3incraNewCount , endifNotEven.Port( 'N' ) )
+EndOfifNotEvenN = SyrStruct.Link( m3incraNewCount , EndOfifNotEven.Port( 'N' ) )
+EndOfifNotEvenN.AddCoord( 1 , 1190 , 366 )
+EndOfifNotEvenN.AddCoord( 2 , 1191 , 109 )
+
 incraaNewCount = incra.Port( 'aNewCount' )
-endforiK = SyrStruct.Link( incraaNewCount , endfori.Port( 'K' ) )
-endforiK.AddCoord( 1 , 953 , 414 )
-endforiK.AddCoord( 2 , 953 , 353 )
+EndOfforiK = SyrStruct.Link( incraaNewCount , EndOffori.Port( 'K' ) )
+
 div2anInteger = div2.Port( 'anInteger' )
-endwhileEvenN = SyrStruct.Link( div2anInteger , endwhileEven.Port( 'N' ) )
-endwhileEvenN.AddCoord( 1 , 960 , 632 )
-endwhileEvenN.AddCoord( 2 , 960 , 539 )
+EndOfwhileEvenN = SyrStruct.Link( div2anInteger , EndOfwhileEven.Port( 'N' ) )
+
 incrbaNewCount = incrb.Port( 'aNewCount' )
-endwhileEvenK = SyrStruct.Link( incrbaNewCount , endwhileEven.Port( 'K' ) )
-endwhileEvenK.AddCoord( 1 , 963 , 662 )
-endwhileEvenK.AddCoord( 2 , 963 , 729 )
-forNDoLoop = forN.Port( 'DoLoop' )
-endforNDoLoop = SyrStruct.Link( forNDoLoop , endforN.Port( 'DoLoop' ) )
+EndOfwhileEvenK = SyrStruct.Link( incrbaNewCount , EndOfwhileEven.Port( 'K' ) )
+EndOfwhileEvenK.AddCoord( 1 , 988 , 543 )
+EndOfwhileEvenK.AddCoord( 2 , 988 , 654 )
+
+SyrComponentSyrComponentobjref = SyrComponent.Port( 'SyrComponentobjref' )
+forNSyrComponent = SyrStruct.Link( SyrComponentSyrComponentobjref , forN.Port( 'SyrComponent' ) )
+forNSyrComponent.AddCoord( 1 , 13 , 394 )
+forNSyrComponent.AddCoord( 2 , 12 , 181 )
+forNSyrComponent.AddCoord( 3 , 196 , 181 )
+forNSyrComponent.AddCoord( 4 , 197 , 81 )
+
 forNN = forN.Port( 'N' )
-endforNN = SyrStruct.Link( forNN , endforN.Port( 'N' ) )
-endforNN.AddCoord( 1 , 1554 , 513 )
-endforNN.AddCoord( 2 , 1523 , 513 )
-endforNN.AddCoord( 3 , 1523 , 806 )
-endforNN.AddCoord( 4 , 202 , 806 )
-endforNN.AddCoord( 5 , 202 , 424 )
 whileNotOneN = SyrStruct.Link( forNN , whileNotOne.Port( 'N' ) )
-whileNotOneN.AddCoord( 1 , 200 , 479 )
-whileNotOneN.AddCoord( 2 , 200 , 424 )
+
+EndOfforNN = SyrStruct.Link( forNN , EndOfforN.Port( 'N' ) )
+
 forNK = forN.Port( 'K' )
 whileNotOneK = SyrStruct.Link( forNK , whileNotOne.Port( 'K' ) )
-whileNotOneK.AddCoord( 1 , 187 , 509 )
-whileNotOneK.AddCoord( 2 , 187 , 454 )
+
 forNSyrComponent = forN.Port( 'SyrComponent' )
-endforNSyrComponent = SyrStruct.Link( forNSyrComponent , endforN.Port( 'SyrComponent' ) )
+EndOfforNSyrComponent = SyrStruct.Link( forNSyrComponent , EndOfforN.Port( 'SyrComponent' ) )
+
 whileNotOneSyrComponent = SyrStruct.Link( forNSyrComponent , whileNotOne.Port( 'SyrComponent' ) )
+whileNotOneSyrComponent.AddCoord( 1 , 192 , 309 )
+whileNotOneSyrComponent.AddCoord( 2 , 191 , 394 )
+
 forNmin = forN.Port( 'min' )
-endforNmin = SyrStruct.Link( forNmin , endforN.Port( 'min' ) )
+EndOfforNmin = SyrStruct.Link( forNmin , EndOfforN.Port( 'min' ) )
+
 forNmax = forN.Port( 'max' )
-endforNmax = SyrStruct.Link( forNmax , endforN.Port( 'max' ) )
-endforNDoLoop = endforN.Port( 'DoLoop' )
-forNInitLoop = SyrStruct.Link( endforNDoLoop , forN.Port( 'InitLoop' ) )
-whileNotOneDoLoop = whileNotOne.Port( 'DoLoop' )
-endwhileNotOneDoLoop = SyrStruct.Link( whileNotOneDoLoop , endwhileNotOne.Port( 'DoLoop' ) )
+EndOfforNmax = SyrStruct.Link( forNmax , EndOfforN.Port( 'max' ) )
+
 whileNotOneSyrComponent = whileNotOne.Port( 'SyrComponent' )
-endwhileNotOneSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , endwhileNotOne.Port( 'SyrComponent' ) )
+EndOfwhileNotOneSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , EndOfwhileNotOne.Port( 'SyrComponent' ) )
+
 ifNotEvenSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , ifNotEven.Port( 'SyrComponent' ) )
+
 whileNotOneN = whileNotOne.Port( 'N' )
 ifNotEvenN = SyrStruct.Link( whileNotOneN , ifNotEven.Port( 'N' ) )
-ifNotEvenN.AddCoord( 1 , 378 , 438 )
-ifNotEvenN.AddCoord( 2 , 378 , 479 )
+
 whileNotOneK = whileNotOne.Port( 'K' )
 ifNotEvenK = SyrStruct.Link( whileNotOneK , ifNotEven.Port( 'K' ) )
-ifNotEvenK.AddCoord( 1 , 395 , 468 )
-ifNotEvenK.AddCoord( 2 , 395 , 509 )
-endwhileNotOneDoLoop = endwhileNotOne.Port( 'DoLoop' )
-whileNotOneInitLoop = SyrStruct.Link( endwhileNotOneDoLoop , whileNotOne.Port( 'InitLoop' ) )
-endwhileNotOneK = endwhileNotOne.Port( 'K' )
-endforNK = SyrStruct.Link( endwhileNotOneK , endforN.Port( 'K' ) )
-foriDoLoop = fori.Port( 'DoLoop' )
-endforiDoLoop = SyrStruct.Link( foriDoLoop , endfori.Port( 'DoLoop' ) )
+
+EndOfwhileNotOneK = EndOfwhileNotOne.Port( 'K' )
+EndOfforNK = SyrStruct.Link( EndOfwhileNotOneK , EndOfforN.Port( 'K' ) )
+
 forii = fori.Port( 'i' )
-endforii = SyrStruct.Link( forii , endfori.Port( 'i' ) )
+EndOfforii = SyrStruct.Link( forii , EndOffori.Port( 'i' ) )
+
 foriK = fori.Port( 'K' )
 incraaCount = SyrStruct.Link( foriK , incra.Port( 'aCount' ) )
-incraaCount.AddCoord( 1 , 783 , 353 )
-incraaCount.AddCoord( 2 , 783 , 414 )
-endforiDoLoop = endfori.Port( 'DoLoop' )
-foriInitLoop = SyrStruct.Link( endforiDoLoop , fori.Port( 'InitLoop' ) )
-endforiK = endfori.Port( 'K' )
-endifNotEvenK = SyrStruct.Link( endforiK , endifNotEven.Port( 'K' ) )
-whileEvenDoLoop = whileEven.Port( 'DoLoop' )
-endwhileEvenDoLoop = SyrStruct.Link( whileEvenDoLoop , endwhileEven.Port( 'DoLoop' ) )
+
+EndOfforiK = EndOffori.Port( 'K' )
+EndOfifNotEvenK = SyrStruct.Link( EndOfforiK , EndOfifNotEven.Port( 'K' ) )
+EndOfifNotEvenK.AddCoord( 1 , 1170 , 396 )
+EndOfifNotEvenK.AddCoord( 2 , 1169 , 275 )
+
 whileEvenSyrComponent = whileEven.Port( 'SyrComponent' )
-endwhileEvenSyrComponent = SyrStruct.Link( whileEvenSyrComponent , endwhileEven.Port( 'SyrComponent' ) )
+EndOfwhileEvenSyrComponent = SyrStruct.Link( whileEvenSyrComponent , EndOfwhileEven.Port( 'SyrComponent' ) )
+
 whileEvenN = whileEven.Port( 'N' )
 div2anEvenInteger = SyrStruct.Link( whileEvenN , div2.Port( 'anEvenInteger' ) )
-div2anEvenInteger.AddCoord( 1 , 779 , 539 )
-div2anEvenInteger.AddCoord( 2 , 779 , 634 )
+
 whileEvenK = whileEven.Port( 'K' )
 incrbaCount = SyrStruct.Link( whileEvenK , incrb.Port( 'aCount' ) )
-incrbaCount.AddCoord( 1 , 777 , 729 )
-incrbaCount.AddCoord( 2 , 777 , 664 )
-endwhileEvenDoLoop = endwhileEven.Port( 'DoLoop' )
-whileEvenInitLoop = SyrStruct.Link( endwhileEvenDoLoop , whileEven.Port( 'InitLoop' ) )
-endwhileEvenN = endwhileEven.Port( 'N' )
-endifNotEvenN = SyrStruct.Link( endwhileEvenN , endifNotEven.Port( 'N' ) )
-endwhileEvenK = endwhileEven.Port( 'K' )
-endifNotEvenK = SyrStruct.Link( endwhileEvenK , endifNotEven.Port( 'K' ) )
-ifNotEvenDefault = ifNotEven.Port( 'Default' )
-endifNotEvenDefault = SyrStruct.Link( ifNotEvenDefault , endifNotEven.Port( 'Default' ) )
+incrbaCount.AddCoord( 1 , 796 , 655 )
+incrbaCount.AddCoord( 2 , 795 , 543 )
+
+EndOfwhileEvenN = EndOfwhileEven.Port( 'N' )
+EndOfifNotEvenN = SyrStruct.Link( EndOfwhileEvenN , EndOfifNotEven.Port( 'N' ) )
+EndOfifNotEvenN.AddCoord( 1 , 1191 , 366 )
+EndOfifNotEvenN.AddCoord( 2 , 1191 , 513 )
+
+EndOfwhileEvenK = EndOfwhileEven.Port( 'K' )
+EndOfifNotEvenK = SyrStruct.Link( EndOfwhileEvenK , EndOfifNotEven.Port( 'K' ) )
+EndOfifNotEvenK.AddCoord( 1 , 1169 , 395 )
+EndOfifNotEvenK.AddCoord( 2 , 1170 , 543 )
+
 ifNotEvenOdd = ifNotEven.Port( 'Odd' )
 m3InGate = SyrStruct.Link( ifNotEvenOdd , m3.Port( 'InGate' ) )
-m3InGate.AddCoord( 1 , 585 , 133 )
-m3InGate.AddCoord( 2 , 585 , 438 )
+m3InGate.AddCoord( 1 , 593 , 141 )
+m3InGate.AddCoord( 2 , 593 , 307 )
+
 foriInGate = SyrStruct.Link( ifNotEvenOdd , fori.Port( 'InGate' ) )
-foriInGate.AddCoord( 1 , 584 , 324 )
-foriInGate.AddCoord( 2 , 584 , 438 )
+
 ifNotEvenEven = ifNotEven.Port( 'Even' )
 whileEvenInGate = SyrStruct.Link( ifNotEvenEven , whileEven.Port( 'InGate' ) )
-whileEvenInGate.AddCoord( 1 , 593 , 574 )
-whileEvenInGate.AddCoord( 2 , 593 , 468 )
+whileEvenInGate.AddCoord( 1 , 593 , 576 )
+whileEvenInGate.AddCoord( 2 , 592 , 339 )
+
 ifNotEvenSyrComponent = ifNotEven.Port( 'SyrComponent' )
 whileEvenSyrComponent = SyrStruct.Link( ifNotEvenSyrComponent , whileEven.Port( 'SyrComponent' ) )
+whileEvenSyrComponent.AddCoord( 1 , 586 , 486 )
+whileEvenSyrComponent.AddCoord( 2 , 587 , 367 )
+
 ifNotEvenN = ifNotEven.Port( 'N' )
 whileEvenN = SyrStruct.Link( ifNotEvenN , whileEven.Port( 'N' ) )
-whileEvenN.AddCoord( 1 , 586 , 634 )
-whileEvenN.AddCoord( 2 , 586 , 498 )
+whileEvenN.AddCoord( 1 , 604 , 513 )
+whileEvenN.AddCoord( 2 , 603 , 397 )
+
 m3anOddInteger = SyrStruct.Link( ifNotEvenN , m3.Port( 'anOddInteger' ) )
-m3anOddInteger.AddCoord( 1 , 579 , 163 )
-m3anOddInteger.AddCoord( 2 , 579 , 498 )
+m3anOddInteger.AddCoord( 1 , 604 , 107 )
+m3anOddInteger.AddCoord( 2 , 604 , 395 )
+
 ifNotEvenK = ifNotEven.Port( 'K' )
 whileEvenK = SyrStruct.Link( ifNotEvenK , whileEven.Port( 'K' ) )
-whileEvenK.AddCoord( 1 , 580 , 664 )
-whileEvenK.AddCoord( 2 , 580 , 528 )
+whileEvenK.AddCoord( 1 , 621 , 544 )
+whileEvenK.AddCoord( 2 , 622 , 426 )
+
 foriK = SyrStruct.Link( ifNotEvenK , fori.Port( 'K' ) )
-foriK.AddCoord( 1 , 599 , 414 )
-foriK.AddCoord( 2 , 599 , 528 )
-endifNotEvenN = endifNotEven.Port( 'N' )
-endwhileNotOneN = SyrStruct.Link( endifNotEvenN , endwhileNotOne.Port( 'N' ) )
-endwhileNotOneN.AddCoord( 1 , 1324 , 514 )
-endwhileNotOneN.AddCoord( 2 , 1324 , 483 )
-endifNotEvenK = endifNotEven.Port( 'K' )
-endwhileNotOneK = SyrStruct.Link( endifNotEvenK , endwhileNotOne.Port( 'K' ) )
-endwhileNotOneK.AddCoord( 1 , 1318 , 544 )
-endwhileNotOneK.AddCoord( 2 , 1318 , 513 )
+foriK.AddCoord( 1 , 622 , 275 )
+foriK.AddCoord( 2 , 622 , 426 )
+
+ifNotEvenDefault = ifNotEven.Port( 'Default' )
+EndOfifNotEvenDefault = SyrStruct.Link( ifNotEvenDefault , EndOfifNotEven.Port( 'Default' ) )
+EndOfifNotEvenDefault.AddCoord( 1 , 1204 , 429 )
+EndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
+EndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
+EndOfifNotEvenDefault.AddCoord( 4 , 581 , 458 )
+
+EndOfifNotEvenN = EndOfifNotEven.Port( 'N' )
+EndOfwhileNotOneN = SyrStruct.Link( EndOfifNotEvenN , EndOfwhileNotOne.Port( 'N' ) )
+
+EndOfifNotEvenK = EndOfifNotEven.Port( 'K' )
+EndOfwhileNotOneK = SyrStruct.Link( EndOfifNotEvenK , EndOfwhileNotOne.Port( 'K' ) )
 
 # Creation of Input datas
+SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer')
+SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent')
 forNN = forN.Input( 'N' , 0)
+
 forNK = forN.Input( 'K' , 0)
-FactoryServerSyrComponent = SyrStruct.ComponentRef( 'FactoryServer' , 'SyrComponent' )
-forNSyrComponent.Input( FactoryServerSyrComponent )
 forNmin = forN.Input( 'min' , 5)
 forNmax = forN.Input( 'max' , 9)
 forii = fori.Input( 'i' , 0)
 
 # Creation of Output variables
-endforNN = endforN.Port( 'N' )
-endforNK = endforN.Port( 'K' )
-endforNSyrComponent = endforN.Port( 'SyrComponent' )
-endforNmin = endforN.Port( 'min' )
-endforNmax = endforN.Port( 'max' )
-endwhileNotOneSyrComponent = endwhileNotOne.Port( 'SyrComponent' )
-endwhileNotOneN = endwhileNotOne.Port( 'N' )
-endforii = endfori.Port( 'i' )
-endwhileEvenSyrComponent = endwhileEven.Port( 'SyrComponent' )
-
+EndOfforNN = EndOfforN.Port( 'N' )
+EndOfforNK = EndOfforN.Port( 'K' )
+EndOfforNSyrComponent = EndOfforN.Port( 'SyrComponent' )
+EndOfforNmin = EndOfforN.Port( 'min' )
+EndOfforNmax = EndOfforN.Port( 'max' )
+EndOfwhileNotOneSyrComponent = EndOfwhileNotOne.Port( 'SyrComponent' )
+EndOfwhileNotOneN = EndOfwhileNotOne.Port( 'N' )
+EndOfforii = EndOffori.Port( 'i' )
+EndOfwhileEvenSyrComponent = EndOfwhileEven.Port( 'SyrComponent' )
 
 SyrStruct.Run()
 
 SyrStruct.DoneW()
 
-SyrStruct.State()
+print SyrStruct.State()
 
 SyrStruct.PrintPorts()
 
+SyrStruct.Export( '/tmp/SyrStruct.xml' )
+
+SyrStruct = Graph( '/tmp/SyrStruct.xml' )
+
+SyrStruct.Run()
+
+SyrStruct.DoneW()
+
+print SyrStruct.State()
+
index ffa89826b58737826d74d6c7e6d08cd6200223f2..f5ca1dc76f3ff390ec3ddcaaffd326b461c8242a 100644 (file)
-<?xml version='1.0' encoding='us-ascii' ?>
-
-<!-- XML Dataflow -->
-
-<!-- Dataflow information -->
+<!DOCTYPE Dataflow>
 <dataflow>
-       <info-list>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>SyrStruct</node-name>
-                       <kind>1</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>SyrStruct</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>forN\N</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>forN\K</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>forN\min</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>forN\max</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>fori\i</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>SyrComponent\aContainer</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>SyrComponent\aComponent</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endforN\N</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endforN\K</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>endforN\SyrComponent</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endforN\min</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endforN\max</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>endwhileNotOne\SyrComponent</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endwhileNotOne\N</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>endfori\i</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>endwhileEven\SyrComponent</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:16:1</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>m3</node-name>
-                       <kind>0</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>C_M3</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>anInteger</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>678</x-position>
-                       <y-position>11</y-position>
-               </node>
-               <node>
-                       <component-name>SyrComponent</component-name>
-                       <interface-name>SyrComponent</interface-name>
-                       <node-name>m3incr</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>896</x-position>
-                       <y-position>10</y-position>
-               </node>
-               <node>
-                       <component-name>SyrComponent</component-name>
-                       <interface-name>SyrComponent</interface-name>
-                       <node-name>incra</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>789</x-position>
-                       <y-position>201</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>792</x-position>
-                       <y-position>387</y-position>
-               </node>
-               <node>
-                       <component-name>SyrComponent</component-name>
-                       <interface-name>SyrComponent</interface-name>
-                       <node-name>incrb</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>localhost/FactoryServer</container>
-                       <comment>?</comment>
-                       <x-position>796</x-position>
-                       <y-position>577</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>forN</node-name>
-                       <kind>4</kind>
-                       <coupled-node>endforN</coupled-node>
-                       <service>
-                               <service-name>InitN</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>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</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>N</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>K</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>InitN</FuncName>
-                                       <PyFunc>def InitN( NN , K , SyrComponent , min , max ) :</PyFunc>
-                                       <PyFunc>    N = max</PyFunc>
-                                       <PyFunc>    if min > 0 :</PyFunc>
-                                       <PyFunc>        if max >= min :</PyFunc>
-                                       <PyFunc>            N = min</PyFunc>
-                                       <PyFunc>    return N,K,SyrComponent,min,max</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>MoreN</FuncName>
-                                       <PyFunc>def MoreN( NN , KK , SyrComponent , min , max ) :</PyFunc>
-                                       <PyFunc>    N = 0</PyFunc>
-                                       <PyFunc>    OutLoop = 0</PyFunc>
-                                       <PyFunc>    if max > NN :</PyFunc>
-                                       <PyFunc>        N = NN</PyFunc>
-                                       <PyFunc>        OutLoop = 1</PyFunc>
-                                       <PyFunc>    return OutLoop,N,0,SyrComponent,min,max</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>NextN</FuncName>
-                                       <PyFunc>def NextN( NN , KK , SyrComponent , min , max ) :</PyFunc>
-                                       <PyFunc>    N = NN + 1</PyFunc>
-                                       <PyFunc>    K = KK</PyFunc>
-                                       <PyFunc>    return N,K,SyrComponent,min,max</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>21</x-position>
-                       <y-position>242</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>endforN</node-name>
-                       <kind>5</kind>
-                       <coupled-node>forN</coupled-node>
-                       <service>
-                               <service-name>EndInitN</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>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</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>N</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>K</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:16</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:16</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>1530</x-position>
-                       <y-position>332</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>whileNotOne</node-name>
-                       <kind>4</kind>
-                       <coupled-node>endwhileNotOne</coupled-node>
-                       <service>
-                               <service-name>InitNotOne</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</inParameter-name>
-                                       </inParameter>
-                                       <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>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>InitNotOne</FuncName>
-                                       <PyFunc>import threading</PyFunc>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def InitNotOne( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    return SyrComponent,N,K</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>MoreNotOne</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def MoreNotOne( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    OutLoop = 1 - SyrComponent.C_ISONE( N )</PyFunc>
-                                       <PyFunc>    return OutLoop,SyrComponent,N,K </PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>NextNotOne</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def NextNotOne( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    return SyrComponent,N,K</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:26</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:26</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>210</x-position>
-                       <y-position>297</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>endwhileNotOne</node-name>
-                       <kind>5</kind>
-                       <coupled-node>whileNotOne</coupled-node>
-                       <service>
-                               <service-name>EndInitNotOn\11</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</inParameter-name>
-                                       </inParameter>
-                                       <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>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:26</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:26</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>1340</x-position>
-                       <y-position>332</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>fori</node-name>
-                       <kind>4</kind>
-                       <coupled-node>endfori</coupled-node>
-                       <service>
-                               <service-name>Initfori</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>i</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>i</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>K</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>Initfori</FuncName>
-                                       <PyFunc>def Initfori( ii , K ) :</PyFunc>
-                                       <PyFunc>    return 1,0,K</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>Morefori</FuncName>
-                                       <PyFunc>def Morefori( ii , K ) :</PyFunc>
-                                       <PyFunc>    OutLoop = 0</PyFunc>
-                                       <PyFunc>    if 2 > ii :</PyFunc>
-                                       <PyFunc>        OutLoop = 1</PyFunc>
-                                       <PyFunc>    return OutLoop,ii,K</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>Nextfori</FuncName>
-                                       <PyFunc>def Nextfori( ii , K ) :</PyFunc>
-                                       <PyFunc>    ii = ii + 1</PyFunc>
-                                       <PyFunc>    return ii,K</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:26</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:26</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>605</x-position>
-                       <y-position>202</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>endfori</node-name>
-                       <kind>5</kind>
-                       <coupled-node>fori</coupled-node>
-                       <service>
-                               <service-name>EndInitfori</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>long</inParameter-type>
-                                               <inParameter-name>i</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>i</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>K</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:26</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:26</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>971</x-position>
-                       <y-position>202</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>whileEven</node-name>
-                       <kind>4</kind>
-                       <coupled-node>endwhileEven</coupled-node>
-                       <service>
-                               <service-name>InitEven</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</inParameter-name>
-                                       </inParameter>
-                                       <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>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>InitEven</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def InitEven( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    return SyrComponent,N,K</PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>MoreEven</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def MoreEven( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    OutLoop = SyrComponent.C_ISEVEN( N )</PyFunc>
-                                       <PyFunc>    return OutLoop,SyrComponent,N,K </PyFunc>
-                               </PyFunction>
-                               <PyFunction>
-                                       <FuncName>NextEven</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def NextEven( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    return SyrComponent,N,K</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:35</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:35</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>605</x-position>
-                       <y-position>452</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>endwhileEven</node-name>
-                       <kind>5</kind>
-                       <coupled-node>whileEven</coupled-node>
-                       <service>
-                               <service-name>EndInitEven</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</inParameter-name>
-                                       </inParameter>
-                                       <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>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:35</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:35</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>974</x-position>
-                       <y-position>450</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>ifNotEven</node-name>
-                       <kind>6</kind>
-                       <coupled-node>endifNotEven</coupled-node>
-                       <service>
-                               <service-name>ifNotEven</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>objref</inParameter-type>
-                                               <inParameter-name>SyrComponent</inParameter-name>
-                                       </inParameter>
-                                       <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>Odd</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>Even</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>SyrComponent</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>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>ifNotEven</FuncName>
-                                       <PyFunc>import SyrComponent_idl</PyFunc>
-                                       <PyFunc>def ifNotEven( SyrComponent , N , K ) :</PyFunc>
-                                       <PyFunc>    Even = SyrComponent.C_ISEVEN( N )</PyFunc>
-                                       <PyFunc>    Odd = 1 - Even</PyFunc>
-                                       <PyFunc>    return Odd,Even,SyrComponent,N,K</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:35</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:35</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>416</x-position>
-                       <y-position>286</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>endifNotEven</node-name>
-                       <kind>7</kind>
-                       <coupled-node>ifNotEven</coupled-node>
-                       <service>
-                               <service-name>EndifNotEven</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>N</outParameter-name>
-                                       </outParameter>
-                                       <outParameter>
-                                               <outParameter-type>long</outParameter-type>
-                                               <outParameter-name>K</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:15:35</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:15:35</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>1155</x-position>
-                       <y-position>331</y-position>
-               </node>
-               <node>
-                       <component-name>?</component-name>
-                       <interface-name>?</interface-name>
-                       <node-name>SyrComponent</node-name>
-                       <kind>3</kind>
-                       <coupled-node>?</coupled-node>
-                       <service>
-                               <service-name>SyrComponent</service-name>
-                               <inParameter-list>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>aContainer</inParameter-name>
-                                       </inParameter>
-                                       <inParameter>
-                                               <inParameter-type>string</inParameter-type>
-                                               <inParameter-name>aComponent</inParameter-name>
-                                       </inParameter>
-                               </inParameter-list>
-                               <outParameter-list>
-                                       <outParameter>
-                                               <outParameter-type>objref</outParameter-type>
-                                               <outParameter-name>SyrComponentobjref</outParameter-name>
-                                       </outParameter>
-                               </outParameter-list>
-                       </service>
-                       <Parameter-list>
-                       </Parameter-list>
-                       <PyFunction-list>
-                               <PyFunction>
-                                       <FuncName>SyrComponent</FuncName>
-                                       <PyFunc>from LifeCycleCORBA import *</PyFunc>
-                                       <PyFunc>def SyrComponent( aContainer , aComponent ) :</PyFunc>
-                                       <PyFunc>    orb = CORBA.ORB_init([], CORBA.ORB_ID)</PyFunc>
-                                       <PyFunc>    lcc = LifeCycleCORBA(orb)</PyFunc>
-                                       <PyFunc>    print "SyrComponent(",aContainer,",",aComponent,")"</PyFunc>
-                                       <PyFunc>    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent )</PyFunc>
-                                       <PyFunc>    print "SyrComponent(",aContainer,",",aComponent,") --> ",ComponentRef</PyFunc>
-                                       <PyFunc>    return ComponentRef</PyFunc>
-                               </PyFunction>
-                       </PyFunction-list>
-                       <creation-date>14/3/2003 - 11:16:1</creation-date>
-                       <lastmodification-date>14/3/2003 - 11:16:1</lastmodification-date>
-                       <editor-release>1.04</editor-release>
-                       <author>?</author>
-                       <container>?</container>
-                       <comment>?</comment>
-                       <x-position>0</x-position>
-                       <y-position>0</y-position>
-               </node>
-       </node-list>
-
-       <link-list>
-               <link>
-                       <fromnode-name>m3</fromnode-name>
-                       <fromserviceparameter-name>anInteger</fromserviceparameter-name>
-                       <tonode-name>m3incr</tonode-name>
-                       <toserviceparameter-name>aCount</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>m3incr</fromnode-name>
-                       <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
-                       <tonode-name>endifNotEven</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>incra</fromnode-name>
-                       <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
-                       <tonode-name>endfori</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>953</x>
-                                       <y>414</y>
-                               </coord>
-                               <coord>
-                                       <x>953</x>
-                                       <y>353</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>div2</fromnode-name>
-                       <fromserviceparameter-name>anInteger</fromserviceparameter-name>
-                       <tonode-name>endwhileEven</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>960</x>
-                                       <y>632</y>
-                               </coord>
-                               <coord>
-                                       <x>960</x>
-                                       <y>539</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>incrb</fromnode-name>
-                       <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
-                       <tonode-name>endwhileEven</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>963</x>
-                                       <y>662</y>
-                               </coord>
-                               <coord>
-                                       <x>963</x>
-                                       <y>729</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>DoLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>1554</x>
-                                       <y>513</y>
-                               </coord>
-                               <coord>
-                                       <x>1523</x>
-                                       <y>513</y>
-                               </coord>
-                               <coord>
-                                       <x>1523</x>
-                                       <y>806</y>
-                               </coord>
-                               <coord>
-                                       <x>202</x>
-                                       <y>806</y>
-                               </coord>
-                               <coord>
-                                       <x>202</x>
-                                       <y>424</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>whileNotOne</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>200</x>
-                                       <y>479</y>
-                               </coord>
-                               <coord>
-                                       <x>200</x>
-                                       <y>424</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>whileNotOne</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>187</x>
-                                       <y>509</y>
-                               </coord>
-                               <coord>
-                                       <x>187</x>
-                                       <y>454</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>whileNotOne</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>min</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>min</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>forN</fromnode-name>
-                       <fromserviceparameter-name>max</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>max</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endforN</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>InitLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileNotOne</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>endwhileNotOne</tonode-name>
-                       <toserviceparameter-name>DoLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileNotOne</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>endwhileNotOne</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileNotOne</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>ifNotEven</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileNotOne</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>ifNotEven</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>378</x>
-                                       <y>438</y>
-                               </coord>
-                               <coord>
-                                       <x>378</x>
-                                       <y>479</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileNotOne</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>ifNotEven</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>395</x>
-                                       <y>468</y>
-                               </coord>
-                               <coord>
-                                       <x>395</x>
-                                       <y>509</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endwhileNotOne</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>whileNotOne</tonode-name>
-                       <toserviceparameter-name>InitLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endwhileNotOne</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>endforN</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>fori</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>endfori</tonode-name>
-                       <toserviceparameter-name>DoLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>fori</fromnode-name>
-                       <fromserviceparameter-name>i</fromserviceparameter-name>
-                       <tonode-name>endfori</tonode-name>
-                       <toserviceparameter-name>i</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>fori</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>incra</tonode-name>
-                       <toserviceparameter-name>aCount</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>783</x>
-                                       <y>353</y>
-                               </coord>
-                               <coord>
-                                       <x>783</x>
-                                       <y>414</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endfori</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>fori</tonode-name>
-                       <toserviceparameter-name>InitLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endfori</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>endifNotEven</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileEven</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>endwhileEven</tonode-name>
-                       <toserviceparameter-name>DoLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileEven</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>endwhileEven</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileEven</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>div2</tonode-name>
-                       <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>779</x>
-                                       <y>539</y>
-                               </coord>
-                               <coord>
-                                       <x>779</x>
-                                       <y>634</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>whileEven</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>incrb</tonode-name>
-                       <toserviceparameter-name>aCount</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>777</x>
-                                       <y>729</y>
-                               </coord>
-                               <coord>
-                                       <x>777</x>
-                                       <y>664</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endwhileEven</fromnode-name>
-                       <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
-                       <tonode-name>whileEven</tonode-name>
-                       <toserviceparameter-name>InitLoop</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endwhileEven</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>endifNotEven</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endwhileEven</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>endifNotEven</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>Default</fromserviceparameter-name>
-                       <tonode-name>endifNotEven</tonode-name>
-                       <toserviceparameter-name>Default</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>Odd</fromserviceparameter-name>
-                       <tonode-name>m3</tonode-name>
-                       <toserviceparameter-name>InGate</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>585</x>
-                                       <y>133</y>
-                               </coord>
-                               <coord>
-                                       <x>585</x>
-                                       <y>438</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>Odd</fromserviceparameter-name>
-                       <tonode-name>fori</tonode-name>
-                       <toserviceparameter-name>InGate</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>584</x>
-                                       <y>324</y>
-                               </coord>
-                               <coord>
-                                       <x>584</x>
-                                       <y>438</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>Even</fromserviceparameter-name>
-                       <tonode-name>whileEven</tonode-name>
-                       <toserviceparameter-name>InGate</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>593</x>
-                                       <y>574</y>
-                               </coord>
-                               <coord>
-                                       <x>593</x>
-                                       <y>468</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
-                       <tonode-name>whileEven</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>whileEven</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>586</x>
-                                       <y>634</y>
-                               </coord>
-                               <coord>
-                                       <x>586</x>
-                                       <y>498</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>m3</tonode-name>
-                       <toserviceparameter-name>anOddInteger</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>579</x>
-                                       <y>163</y>
-                               </coord>
-                               <coord>
-                                       <x>579</x>
-                                       <y>498</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>whileEven</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>580</x>
-                                       <y>664</y>
-                               </coord>
-                               <coord>
-                                       <x>580</x>
-                                       <y>528</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>ifNotEven</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>fori</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>599</x>
-                                       <y>414</y>
-                               </coord>
-                               <coord>
-                                       <x>599</x>
-                                       <y>528</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endifNotEven</fromnode-name>
-                       <fromserviceparameter-name>N</fromserviceparameter-name>
-                       <tonode-name>endwhileNotOne</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>1324</x>
-                                       <y>514</y>
-                               </coord>
-                               <coord>
-                                       <x>1324</x>
-                                       <y>483</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>endifNotEven</fromnode-name>
-                       <fromserviceparameter-name>K</fromserviceparameter-name>
-                       <tonode-name>endwhileNotOne</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <coord-list>
-                               <coord>
-                                       <x>1318</x>
-                                       <y>544</y>
-                               </coord>
-                               <coord>
-                                       <x>1318</x>
-                                       <y>513</y>
-                               </coord>
-                       </coord-list>
-               </link>
-               <link>
-                       <fromnode-name>SyrComponent</fromnode-name>
-                       <fromserviceparameter-name>SyrComponentobjref</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>SyrComponent</toserviceparameter-name>
-                       <coord-list>
-                       </coord-list>
-               </link>
-       </link-list>
-
-       <data-list>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>forN\N</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>N</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>forN\K</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>K</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>forN\min</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>min</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>5</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>forN\max</fromserviceparameter-name>
-                       <tonode-name>forN</tonode-name>
-                       <toserviceparameter-name>max</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>9</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>fori\i</fromserviceparameter-name>
-                       <tonode-name>fori</tonode-name>
-                       <toserviceparameter-name>i</toserviceparameter-name>
-                       <data-value>
-                               <value-type>3</value-type>
-                               <value>0</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
-                       <tonode-name>SyrComponent</tonode-name>
-                       <toserviceparameter-name>aContainer</toserviceparameter-name>
-                       <data-value>
-                               <value-type>18</value-type>
-                               <value>FactoryServer</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-               <data>
-                       <fromnode-name>SyrStruct</fromnode-name>
-                       <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
-                       <tonode-name>SyrComponent</tonode-name>
-                       <toserviceparameter-name>aComponent</toserviceparameter-name>
-                       <data-value>
-                               <value-type>18</value-type>
-                               <value>SyrComponent</value>
-                       </data-value>
-                       <coord-list>
-                       </coord-list>
-               </data>
-       </data-list>
-
-</dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>SyrStruct</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SyrStruct</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>SyrComponent\aComponent</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>forN\N</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>forN\K</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>forN\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>forN\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\i</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfforN\N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfforN\K</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfforN\SyrComponent</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfforN\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfforN\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfwhileNotOne\SyrComponent</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfwhileNotOne\N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOffori\i</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfwhileEven\SyrComponent</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>4/8/2003 - 17:56:20</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</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>m3</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>C_M3</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>anInteger</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_M3 from SyrComponent</comment>
+   <x-position>672</x-position>
+   <y-position>28</y-position>  </node>
+  <node>
+<component-name>SyrComponent</component-name>
+   <interface-name>SyrComponent</interface-name>
+   <node-name>m3incr</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>898</x-position>
+   <y-position>29</y-position>  </node>
+  <node>
+<component-name>SyrComponent</component-name>
+   <interface-name>SyrComponent</interface-name>
+   <node-name>incra</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>803</x-position>
+   <y-position>195</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_DIV2 from SyrComponent</comment>
+   <x-position>810</x-position>
+   <y-position>435</y-position>  </node>
+  <node>
+<component-name>SyrComponent</component-name>
+   <interface-name>SyrComponent</interface-name>
+   <node-name>incrb</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>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>C_INCR from SyrComponent</comment>
+   <x-position>809</x-position>
+   <y-position>574</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>SyrComponent</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>SyrComponent</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aContainer</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>aComponent</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>SyrComponentobjref</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>SyrComponent</FuncName>
+     <PyFunc><![CDATA[from LifeCycleCORBA import * ]]></PyFunc>
+     <PyFunc><![CDATA[def SyrComponent( aContainer , aComponent ) : ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID) ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb) ]]></PyFunc>
+     <PyFunc><![CDATA[    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ]]></PyFunc>
+     <PyFunc><![CDATA[    return ComponentRef ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>SyrComponent( aContainer , aComponent )</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>forN</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfforN</coupled-node>
+   <service>
+<service-name>forN</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>objref</inParameter-type>
+      <inParameter-name>SyrComponent</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>N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitN</FuncName>
+     <PyFunc><![CDATA[def InitN( NN , K , SyrComponent , min , max ) : ]]></PyFunc>
+     <PyFunc><![CDATA[    N = max ]]></PyFunc>
+     <PyFunc><![CDATA[    if min > 0 : ]]></PyFunc>
+     <PyFunc><![CDATA[        if max >= min : ]]></PyFunc>
+     <PyFunc><![CDATA[            N = min ]]></PyFunc>
+     <PyFunc><![CDATA[    return N,K,SyrComponent,min,max ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreN</FuncName>
+     <PyFunc><![CDATA[def MoreN( NN , KK , SyrComponent , min , max ) : ]]></PyFunc>
+     <PyFunc><![CDATA[    N = NN ]]></PyFunc>
+     <PyFunc><![CDATA[    OutLoop = 0 ]]></PyFunc>
+     <PyFunc><![CDATA[    if max > NN : ]]></PyFunc>
+     <PyFunc><![CDATA[        OutLoop = 1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return OutLoop,N,0,SyrComponent,min,max ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextN</FuncName>
+     <PyFunc><![CDATA[def NextN( NN , KK , SyrComponent , min , max ) : ]]></PyFunc>
+     <PyFunc><![CDATA[    N = NN + 1 ]]></PyFunc>
+     <PyFunc><![CDATA[    K = KK ]]></PyFunc>
+     <PyFunc><![CDATA[    return N,K,SyrComponent,min,max ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InitN , MoreN , NextN</comment>
+   <x-position>20</x-position>
+   <y-position>302</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfforN</node-name>
+   <kind>5</kind>
+   <coupled-node>forN</coupled-node>
+   <service>
+<service-name>EndOfforN</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>objref</inParameter-type>
+      <inParameter-name>SyrComponent</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>N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1535</x-position>
+   <y-position>332</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>whileNotOne</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfwhileNotOne</coupled-node>
+   <service>
+<service-name>whileNotOne</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>SyrComponent</inParameter-name>     </inParameter>
+     <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>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitNotOne</FuncName>
+     <PyFunc><![CDATA[import threading]]></PyFunc>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def InitNotOne( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreNotOne</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def MoreNotOne( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    OutLoop = 1 - SyrComponent.C_ISONE( N )]]></PyFunc>
+     <PyFunc><![CDATA[    return OutLoop,SyrComponent,N,K ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextNotOne</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def NextNotOne( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InitNotOne , MoreNotOne , NextNotOne</comment>
+   <x-position>212</x-position>
+   <y-position>274</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfwhileNotOne</node-name>
+   <kind>5</kind>
+   <coupled-node>whileNotOne</coupled-node>
+   <service>
+<service-name>EndOfwhileNotOne</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>SyrComponent</inParameter-name>     </inParameter>
+     <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>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1366</x-position>
+   <y-position>303</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>fori</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOffori</coupled-node>
+   <service>
+<service-name>fori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>i</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>i</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Initfori</FuncName>
+     <PyFunc><![CDATA[def Initfori( ii , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return 1,0,K]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Morefori</FuncName>
+     <PyFunc><![CDATA[def Morefori( ii , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    OutLoop = 0]]></PyFunc>
+     <PyFunc><![CDATA[    if 2 > ii :]]></PyFunc>
+     <PyFunc><![CDATA[        OutLoop = 1]]></PyFunc>
+     <PyFunc><![CDATA[    return OutLoop,ii,K]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Nextfori</FuncName>
+     <PyFunc><![CDATA[def Nextfori( ii , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    ii = ii + 1]]></PyFunc>
+     <PyFunc><![CDATA[    return ii,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Initfori, Morefori, Nextfori</comment>
+   <x-position>635</x-position>
+   <y-position>212</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOffori</node-name>
+   <kind>5</kind>
+   <coupled-node>fori</coupled-node>
+   <service>
+<service-name>EndOffori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>i</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>i</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>976</x-position>
+   <y-position>212</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>whileEven</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfwhileEven</coupled-node>
+   <service>
+<service-name>whileEven</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>SyrComponent</inParameter-name>     </inParameter>
+     <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>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitEven</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def InitEven( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreEven</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def MoreEven( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    OutLoop = SyrComponent.C_ISEVEN( N )]]></PyFunc>
+     <PyFunc><![CDATA[    return OutLoop,SyrComponent,N,K ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextEven</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def NextEven( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    return SyrComponent,N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>InitEven, MoreEven, NextEven</comment>
+   <x-position>632</x-position>
+   <y-position>451</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfwhileEven</node-name>
+   <kind>5</kind>
+   <coupled-node>whileEven</coupled-node>
+   <service>
+<service-name>EndOfwhileEven</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>SyrComponent</inParameter-name>     </inParameter>
+     <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>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>988</x-position>
+   <y-position>451</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>ifNotEven</node-name>
+   <kind>6</kind>
+   <coupled-node>EndOfifNotEven</coupled-node>
+   <service>
+<service-name>ifNotEven</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>SyrComponent</inParameter-name>     </inParameter>
+     <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>Odd</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Even</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>SyrComponent</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>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>ifNotEven</FuncName>
+     <PyFunc><![CDATA[import SyrComponent_idl]]></PyFunc>
+     <PyFunc><![CDATA[def ifNotEven( SyrComponent , N , K ) :]]></PyFunc>
+     <PyFunc><![CDATA[    Even = SyrComponent.C_ISEVEN( N )]]></PyFunc>
+     <PyFunc><![CDATA[    Odd = 1 - Even]]></PyFunc>
+     <PyFunc><![CDATA[    return Odd,Even,SyrComponent,N,K]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>ifNotEven</comment>
+   <x-position>418</x-position>
+   <y-position>274</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfifNotEven</node-name>
+   <kind>7</kind>
+   <coupled-node>ifNotEven</coupled-node>
+   <service>
+<service-name>EndOfifNotEven</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>N</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>K</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>1/10/2003 - 17:39:29</creation-date>
+   <lastmodification-date>1/10/2003 - 17:39:29</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1205</x-position>
+   <y-position>331</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>m3</fromnode-name>
+   <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+   <tonode-name>m3incr</tonode-name>
+   <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>m3incr</fromnode-name>
+   <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+   <tonode-name>EndOfifNotEven</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1190</x>
+     <y>366</y>    </coord>
+    <coord>
+<x>1191</x>
+     <y>109</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>incra</fromnode-name>
+   <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+   <tonode-name>EndOffori</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>div2</fromnode-name>
+   <fromserviceparameter-name>anInteger</fromserviceparameter-name>
+   <tonode-name>EndOfwhileEven</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>incrb</fromnode-name>
+   <fromserviceparameter-name>aNewCount</fromserviceparameter-name>
+   <tonode-name>EndOfwhileEven</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>988</x>
+     <y>543</y>    </coord>
+    <coord>
+<x>988</x>
+     <y>654</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>SyrComponent</fromnode-name>
+   <fromserviceparameter-name>SyrComponentobjref</fromserviceparameter-name>
+   <tonode-name>forN</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>13</x>
+     <y>394</y>    </coord>
+    <coord>
+<x>12</x>
+     <y>181</y>    </coord>
+    <coord>
+<x>196</x>
+     <y>181</y>    </coord>
+    <coord>
+<x>197</x>
+     <y>81</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>whileNotOne</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>whileNotOne</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>whileNotOne</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>192</x>
+     <y>309</y>    </coord>
+    <coord>
+<x>191</x>
+     <y>394</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>forN</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfforN</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>forN</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileNotOne</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfwhileNotOne</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileNotOne</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>EndOfwhileNotOne</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileNotOne</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>ifNotEven</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileNotOne</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>ifNotEven</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileNotOne</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>ifNotEven</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfwhileNotOne</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>whileNotOne</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfwhileNotOne</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>EndOfforN</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOffori</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>i</fromserviceparameter-name>
+   <tonode-name>EndOffori</tonode-name>
+   <toserviceparameter-name>i</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>incra</tonode-name>
+   <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOffori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOffori</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>EndOfifNotEven</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1170</x>
+     <y>396</y>    </coord>
+    <coord>
+<x>1169</x>
+     <y>275</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>whileEven</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfwhileEven</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileEven</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>EndOfwhileEven</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileEven</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>div2</tonode-name>
+   <toserviceparameter-name>anEvenInteger</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>whileEven</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>incrb</tonode-name>
+   <toserviceparameter-name>aCount</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>796</x>
+     <y>655</y>    </coord>
+    <coord>
+<x>795</x>
+     <y>543</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfwhileEven</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>whileEven</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfwhileEven</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>EndOfifNotEven</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1191</x>
+     <y>366</y>    </coord>
+    <coord>
+<x>1191</x>
+     <y>513</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfwhileEven</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>EndOfifNotEven</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1169</x>
+     <y>395</y>    </coord>
+    <coord>
+<x>1170</x>
+     <y>543</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>m3</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>593</x>
+     <y>141</y>    </coord>
+    <coord>
+<x>593</x>
+     <y>307</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>Odd</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>Even</fromserviceparameter-name>
+   <tonode-name>whileEven</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>593</x>
+     <y>576</y>    </coord>
+    <coord>
+<x>592</x>
+     <y>339</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>SyrComponent</fromserviceparameter-name>
+   <tonode-name>whileEven</tonode-name>
+   <toserviceparameter-name>SyrComponent</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>586</x>
+     <y>486</y>    </coord>
+    <coord>
+<x>587</x>
+     <y>367</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>whileEven</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>604</x>
+     <y>513</y>    </coord>
+    <coord>
+<x>603</x>
+     <y>397</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>m3</tonode-name>
+   <toserviceparameter-name>anOddInteger</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>604</x>
+     <y>107</y>    </coord>
+    <coord>
+<x>604</x>
+     <y>395</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>whileEven</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>621</x>
+     <y>544</y>    </coord>
+    <coord>
+<x>622</x>
+     <y>426</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>622</x>
+     <y>275</y>    </coord>
+    <coord>
+<x>622</x>
+     <y>426</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>ifNotEven</fromnode-name>
+   <fromserviceparameter-name>Default</fromserviceparameter-name>
+   <tonode-name>EndOfifNotEven</tonode-name>
+   <toserviceparameter-name>Default</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>1204</x>
+     <y>429</y>    </coord>
+    <coord>
+<x>1203</x>
+     <y>12</y>    </coord>
+    <coord>
+<x>581</x>
+     <y>13</y>    </coord>
+    <coord>
+<x>581</x>
+     <y>458</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>EndOfifNotEven</fromnode-name>
+   <fromserviceparameter-name>N</fromserviceparameter-name>
+   <tonode-name>EndOfwhileNotOne</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfifNotEven</fromnode-name>
+   <fromserviceparameter-name>K</fromserviceparameter-name>
+   <tonode-name>EndOfwhileNotOne</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aContainer</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aContainer</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>FactoryServer</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>SyrComponent\aComponent</fromserviceparameter-name>
+   <tonode-name>SyrComponent</tonode-name>
+   <toserviceparameter-name>aComponent</toserviceparameter-name>
+   <data-value>
+<value-type>18</value-type>
+    <value>SyrComponent</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>forN\N</fromserviceparameter-name>
+   <tonode-name>forN</tonode-name>
+   <toserviceparameter-name>N</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>forN\K</fromserviceparameter-name>
+   <tonode-name>forN</tonode-name>
+   <toserviceparameter-name>K</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>forN\min</fromserviceparameter-name>
+   <tonode-name>forN</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>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>forN\max</fromserviceparameter-name>
+   <tonode-name>forN</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>9</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>SyrStruct</fromnode-name>
+   <fromserviceparameter-name>fori\i</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>i</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/TestSupervMedfieldLoopFori.py b/examples/TestSupervMedfieldLoopFori.py
new file mode 100755 (executable)
index 0000000..70339b9
--- /dev/null
@@ -0,0 +1,159 @@
+
+# Generated python file of Graph LoopGraph
+
+from SuperV import *
+# Graph creation 
+LoopGraph = Graph( 'LoopGraph' )
+LoopGraph.SetName( 'LoopGraph' )
+LoopGraph.SetAuthor( '' )
+LoopGraph.SetComment( '' )
+LoopGraph.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( 'LD' )
+Mul.SetContainer( 'localhost/FactoryServer' )
+Mul.SetComment( 'Multiply a field by a constant' )
+Mul.Coords( 429 , 46 )
+
+# Creation of InLine Nodes
+PyInitDisplay = []
+PyInitDisplay.append( 'from VISU import *             ' )
+PyInitDisplay.append( 'import SALOMEDS             ' )
+PyInitDisplay.append( 'from LifeCycleCORBA import *      ' )
+PyInitDisplay.append( 'from SALOME_NamingServicePy import *         ' )
+PyInitDisplay.append( 'def InitDisplay():  ' )
+PyInitDisplay.append( '    # initialize the ORB    ' )
+PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ' )
+PyInitDisplay.append( '    # create an LifeCycleCORBA instance       ' )
+PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                 ' )
+PyInitDisplay.append( '    # -----------------------------------------         ' )
+PyInitDisplay.append( '    # Visualization parameters       ' )
+PyInitDisplay.append( '    #create a naming service instance             ' )
+PyInitDisplay.append( '    naming_service = SALOME_NamingServicePy_i(orb)             ' )
+PyInitDisplay.append( '    # get Study Manager reference             ' )
+PyInitDisplay.append( '    obj = naming_service.Resolve("myStudyManager")             ' )
+PyInitDisplay.append( '    myStudyManager = obj._narrow(SALOMEDS.StudyManager)             ' )
+PyInitDisplay.append( '    myStudy = myStudyManager.GetStudyByID(1)             ' )
+PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu")             ' )
+PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu   ' )
+PyInitDisplay.append( '    aVisu.SetCurrentStudy(myStudy);             ' )
+PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()              ' )
+PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager   ' )
+PyInitDisplay.append( '    aView = aViewManager.Create3DView()             ' )
+PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView   ' )
+PyInitDisplay.append( '    return aVisu,aView  ' )
+InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
+InitDisplay.OutPort( 'aVisu' , 'objref' )
+InitDisplay.OutPort( 'aView' , 'objref' )
+InitDisplay.SetName( 'InitDisplay' )
+InitDisplay.SetAuthor( '' )
+InitDisplay.SetComment( 'Compute Node' )
+InitDisplay.Coords( 1 , 105 )
+
+# Creation of Loop Nodes
+PyInit = []
+PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyInit.append( '    if max >= min :  ' )
+PyInit.append( '              index = min  ' )
+PyInit.append( '    else : ' )
+PyInit.append( '        index = max  ' )
+PyInit.append( '    print "Init --> index      = ",index   ' )
+PyInit.append( '    print "         min        = ",min   ' )
+PyInit.append( '    print "         max        = ",max   ' )
+PyInit.append( '    print "         medfield   = ",medfield   ' )
+PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+PyMoreInit = []
+PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyMoreInit.append( '    if max >= index :   ' )
+PyMoreInit.append( '        DoLoop = 1   ' )
+PyMoreInit.append( '    else :   ' )
+PyMoreInit.append( '        DoLoop = 0   ' )
+PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
+PyMoreInit.append( '    print "         index       = ",index   ' )
+PyMoreInit.append( '    print "         min         = ",min   ' )
+PyMoreInit.append( '    print "         max         = ",max   ' )
+PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
+PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
+PyNextInit = []
+PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyNextInit.append( '    index = index + 1  ' )
+PyNextInit.append( '    print "Next --> index      = ",index   ' )
+PyNextInit.append( '    print "         min        = ",min   ' )
+PyNextInit.append( '    print "         max        = ",max   ' )
+PyNextInit.append( '    print "         medfield   = ",medfield   ' )
+PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+EndInit.SetName( 'EndInit' )
+EndInit.SetAuthor( 'LD' )
+EndInit.SetComment( 'no comment' )
+EndInit.Coords( 631 , 5 )
+Init.InPort( 'index' , 'long' )
+Init.InPort( 'min' , 'long' )
+Init.InPort( 'max' , 'long' )
+Init.InPort( 'medfield' , 'objref' )
+Init.InPort( 'x1' , 'double' )
+Init.InPort( 'aVisu' , 'objref' )
+Init.InPort( 'aView' , 'objref' )
+Init.OutPort( 'index' , 'long' )
+Init.OutPort( 'min' , 'long' )
+Init.OutPort( 'max' , 'long' )
+Init.OutPort( 'medfield' , 'objref' )
+Init.OutPort( 'x1' , 'double' )
+Init.OutPort( 'aVisu' , 'objref' )
+Init.OutPort( 'aView' , 'objref' )
+Init.SetName( 'Init' )
+Init.SetAuthor( 'LD' )
+Init.SetComment( 'no comment' )
+Init.Coords( 216 , 5 )
+
+# Creation of Links
+InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
+InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
+
+InitDisplayaView = InitDisplay.Port( 'aView' )
+InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
+
+Initindex = Init.Port( 'index' )
+EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
+
+Initmin = Init.Port( 'min' )
+EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
+
+Initmax = Init.Port( 'max' )
+EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
+
+Initmedfield = Init.Port( 'medfield' )
+Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
+
+Initx1 = Init.Port( 'x1' )
+EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
+
+Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
+
+InitaVisu = Init.Port( 'aVisu' )
+EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
+
+InitaView = Init.Port( 'aView' )
+EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
+
+Mulreturn = Mul.Port( 'return' )
+EndInitmedfield = LoopGraph.Link( Mulreturn , EndInit.Port( 'medfield' ) )
+
+# Creation of Input datas
+Initindex = Init.Input( 'index' , 0)
+Initmin = Init.Input( 'min' , 0)
+Initmax = Init.Input( 'max' , 55)
+Initmedfield = Init.Input( 'medfield' , 'IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021')
+Initx1 = Init.Input( 'x1' , 2)
+
+# Creation of Output variables
+EndInitindex = EndInit.Port( 'index' )
+EndInitmin = EndInit.Port( 'min' )
+EndInitmax = EndInit.Port( 'max' )
+EndInitmedfield = EndInit.Port( 'medfield' )
+EndInitx1 = EndInit.Port( 'x1' )
+EndInitaVisu = EndInit.Port( 'aVisu' )
+EndInitaView = EndInit.Port( 'aView' )
diff --git a/examples/TestSupervMedfieldLoopFori.xml b/examples/TestSupervMedfieldLoopFori.xml
new file mode 100755 (executable)
index 0000000..3641c63
--- /dev/null
@@ -0,0 +1,438 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>LoopGraph</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LoopGraph</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>Init\medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndInit\x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>15/9/2003 - 15:25:24</creation-date>
+   <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitDisplay</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>InitDisplay</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitDisplay</FuncName>
+     <PyFunc><![CDATA[from VISU import *             ]]></PyFunc>
+     <PyFunc><![CDATA[import SALOMEDS             ]]></PyFunc>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *      ]]></PyFunc>
+     <PyFunc><![CDATA[from SALOME_NamingServicePy import *         ]]></PyFunc>
+     <PyFunc><![CDATA[def InitDisplay():  ]]></PyFunc>
+     <PyFunc><![CDATA[    # initialize the ORB    ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ]]></PyFunc>
+     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance       ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                 ]]></PyFunc>
+     <PyFunc><![CDATA[    # -----------------------------------------         ]]></PyFunc>
+     <PyFunc><![CDATA[    # Visualization parameters       ]]></PyFunc>
+     <PyFunc><![CDATA[    #create a naming service instance             ]]></PyFunc>
+     <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)             ]]></PyFunc>
+     <PyFunc><![CDATA[    # get Study Manager reference             ]]></PyFunc>
+     <PyFunc><![CDATA[    obj = naming_service.Resolve("myStudyManager")             ]]></PyFunc>
+     <PyFunc><![CDATA[    myStudyManager = obj._narrow(SALOMEDS.StudyManager)             ]]></PyFunc>
+     <PyFunc><![CDATA[    myStudy = myStudyManager.GetStudyByID(1)             ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer", "Visu")             ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu   ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu.SetCurrentStudy(myStudy);             ]]></PyFunc>
+     <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()              ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager   ]]></PyFunc>
+     <PyFunc><![CDATA[    aView = aViewManager.Create3DView()             ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView   ]]></PyFunc>
+     <PyFunc><![CDATA[    return aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:0:9</creation-date>
+   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>1</x-position>
+   <y-position>105</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
+     <PyFunc><![CDATA[        index = min  ]]></PyFunc>
+     <PyFunc><![CDATA[    else : ]]></PyFunc>
+     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+     <PyFunc><![CDATA[    else :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:0:9</creation-date>
+   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>?</container>
+   <comment>no comment</comment>
+   <x-position>216</x-position>
+   <y-position>5</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:0:9</creation-date>
+   <lastmodification-date>19/9/2003 - 16:0:9</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>?</container>
+   <comment>no comment</comment>
+   <x-position>631</x-position>
+   <y-position>5</y-position>  </node>
+  <node>
+<component-name>Calculator</component-name>
+   <interface-name>Calculator</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>FIELDDOUBLE</inParameter-type>
+      <inParameter-name>field1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>FIELDDOUBLE</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 16:0:10</creation-date>
+   <lastmodification-date>19/9/2003 - 16:0:10</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Multiply a field by a constant</comment>
+   <x-position>429</x-position>
+   <y-position>46</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>medfield</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>field1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>205</x>
+     <y>98</y>    </coord>
+    <coord>
+<x>204</x>
+     <y>21</y>    </coord>
+    <coord>
+<x>936</x>
+     <y>20</y>    </coord>
+    <coord>
+<x>935</x>
+     <y>70</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>medfield</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>55</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\medfield</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>medfield</toserviceparameter-name>
+   <data-value>
+<value-type>14</value-type>
+    <value>IOR:010000001f00000049444c3a53414c4f4d455f4d45442f4649454c44444f55424c453a312e300000010000000000000026000000010100000a0000003132372e302e302e3100ead00e000000fe1948673f000058e60000000021</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/TestSupervMedfieldLoopForiVisu.py b/examples/TestSupervMedfieldLoopForiVisu.py
new file mode 100755 (executable)
index 0000000..2eff10b
--- /dev/null
@@ -0,0 +1,216 @@
+
+# Generated python file of Graph LoopGraph
+
+from SuperV import *
+# Graph creation 
+LoopGraph = Graph( 'LoopGraph' )
+LoopGraph.SetName( 'LoopGraph' )
+LoopGraph.SetAuthor( '' )
+LoopGraph.SetComment( '' )
+LoopGraph.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Mul = LoopGraph.FNode( 'Calculator' , 'Calculator' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( 'LD' )
+Mul.SetContainer( 'localhost/FactoryServer' )
+Mul.SetComment( 'Multiply a field by a constant' )
+Mul.Coords( 387 , 104 )
+
+# Creation of InLine Nodes
+PyInitDisplay = []
+PyInitDisplay.append( 'from LifeCycleCORBA import *  ' )
+PyInitDisplay.append( 'from VISU import *  ' )
+PyInitDisplay.append( 'def InitDisplay():  ' )
+PyInitDisplay.append( '    # initialize the ORB    ' )
+PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ' )
+PyInitDisplay.append( '    # create an LifeCycleCORBA instance       ' )
+PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                 ' )
+PyInitDisplay.append( '    # -----------------------------------------   ' )
+PyInitDisplay.append( '    # loading visu component                      ' )
+PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu")   ' )
+PyInitDisplay.append( '    print "InitDisplay --> aVisu        = ",aVisu   ' )
+PyInitDisplay.append( '    aViewManager = aVisu.GetViewManager()          ' )
+PyInitDisplay.append( '    print "InitDisplay --> aViewManager = ",aViewManager   ' )
+PyInitDisplay.append( '    # aView = aViewManager.GetCurrentView()       ' )
+PyInitDisplay.append( '    aView = aViewManager.Create3DView()            ' )
+PyInitDisplay.append( '    print "InitDisplay --> aView        = ",aView   ' )
+PyInitDisplay.append( '    return aVisu,aView  ' )
+InitDisplay = LoopGraph.INode( 'InitDisplay' , PyInitDisplay )
+InitDisplay.OutPort( 'aVisu' , 'objref' )
+InitDisplay.OutPort( 'aView' , 'objref' )
+InitDisplay.SetName( 'InitDisplay' )
+InitDisplay.SetAuthor( '' )
+InitDisplay.SetComment( 'Compute Node' )
+InitDisplay.Coords( 0 , 163 )
+
+PyDisplayMed = []
+PyDisplayMed.append( 'import os  ' )
+PyDisplayMed.append( 'import SALOME_MED  ' )
+PyDisplayMed.append( 'from VISU import *  ' )
+PyDisplayMed.append( 'from LifeCycleCORBA import *  ' )
+PyDisplayMed.append( 'def DisplayMed(medfield,index,aVisu,aView):     ' )
+PyDisplayMed.append( '    # initialize the ORB                    ' )
+PyDisplayMed.append( '    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                         ' )
+PyDisplayMed.append( '    # create an LifeCycleCORBA instance                   ' )
+PyDisplayMed.append( '    lcc = LifeCycleCORBA(orb)                   ' )
+PyDisplayMed.append( '    print " "  ' )
+PyDisplayMed.append( '    print "***************************************************************"  ' )
+PyDisplayMed.append( '    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ' )
+PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
+PyDisplayMed.append( '    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ' )
+PyDisplayMed.append( '    print "-----> Writing Med field in temporary file : ",medfilename  ' )
+PyDisplayMed.append( '    calc.writeMEDfile(medfield,medfilename)  ' )
+PyDisplayMed.append( '    print "-----> calc  = ",calc  ' )
+PyDisplayMed.append( '    print "***************************************************************"  ' )
+PyDisplayMed.append( '    myResult1   = aVisu.ImportFile(medfilename)  ' )
+PyDisplayMed.append( '    print "-----> myResult1 = ",myResult1  ' )
+PyDisplayMed.append( '    field_name = medfield.getName()  ' )
+PyDisplayMed.append( '    print "-----> field_name = ",field_name  ' )
+PyDisplayMed.append( '    mesh_name = medfield.getSupport().getMesh().getName()  ' )
+PyDisplayMed.append( '    print "-----> mesh_name = ",mesh_name  ' )
+PyDisplayMed.append( '    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ' )
+PyDisplayMed.append( '    print "-----> aMesh1 = ",aMesh1  ' )
+PyDisplayMed.append( '    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ' )
+PyDisplayMed.append( '    print "-----> aScalarMap1 = ",aScalarMap1  ' )
+PyDisplayMed.append( '    aView.DisplayOnly(aScalarMap1)  ' )
+PyDisplayMed.append( '    aView.FitAll()  ' )
+PyDisplayMed.append( '    command = "rm " + medfilename  ' )
+PyDisplayMed.append( '    os.system(command)  ' )
+PyDisplayMed.append( '    print "-----> Delete temporary Med file : ",medfilename  ' )
+PyDisplayMed.append( '    print "***************************************************************"  ' )
+PyDisplayMed.append( '    print " "  ' )
+PyDisplayMed.append( '    return medfield ' )
+DisplayMed = LoopGraph.INode( 'DisplayMed' , PyDisplayMed )
+DisplayMed.InPort( 'INmedfield' , 'objref' )
+DisplayMed.InPort( 'index' , 'long' )
+DisplayMed.InPort( 'aVisu' , 'objref' )
+DisplayMed.InPort( 'aView' , 'objref' )
+DisplayMed.OutPort( 'OUTmedfield' , 'objref' )
+DisplayMed.SetName( 'DisplayMed' )
+DisplayMed.SetAuthor( '' )
+DisplayMed.SetComment( 'Compute Node' )
+DisplayMed.Coords( 594 , 105 )
+
+# Creation of Loop Nodes
+PyInit = []
+PyInit.append( 'def Init(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyInit.append( '    if max >= min :  ' )
+PyInit.append( '              index = min  ' )
+PyInit.append( '    else : ' )
+PyInit.append( '        index = max  ' )
+PyInit.append( '    print "Init --> index      = ",index   ' )
+PyInit.append( '    print "         min        = ",min   ' )
+PyInit.append( '    print "         max        = ",max   ' )
+PyInit.append( '    print "         medfield   = ",medfield   ' )
+PyInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+PyMoreInit = []
+PyMoreInit.append( 'def More(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyMoreInit.append( '    if max >= index :   ' )
+PyMoreInit.append( '        DoLoop = 1   ' )
+PyMoreInit.append( '    else :   ' )
+PyMoreInit.append( '        DoLoop = 0   ' )
+PyMoreInit.append( '    print "More --> DoLoop      = ",DoLoop   ' )
+PyMoreInit.append( '    print "         index       = ",index   ' )
+PyMoreInit.append( '    print "         min         = ",min   ' )
+PyMoreInit.append( '    print "         max         = ",max   ' )
+PyMoreInit.append( '    print "         medfield    = ",medfield   ' )
+PyMoreInit.append( '    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ' )
+PyNextInit = []
+PyNextInit.append( 'def Next(index,min,max,medfield,x1,aVisu,aView):  ' )
+PyNextInit.append( '    index = index + 1  ' )
+PyNextInit.append( '    print "Next --> index      = ",index   ' )
+PyNextInit.append( '    print "         min        = ",min   ' )
+PyNextInit.append( '    print "         max        = ",max   ' )
+PyNextInit.append( '    print "         medfield   = ",medfield   ' )
+PyNextInit.append( '    return index,min,max,medfield,x1,aVisu,aView  ' )
+Init,EndInit = LoopGraph.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+EndInit.SetName( 'EndInit' )
+EndInit.SetAuthor( 'LD' )
+EndInit.SetComment( 'no comment' )
+EndInit.Coords( 776 , 64 )
+Init.InPort( 'index' , 'long' )
+Init.InPort( 'min' , 'long' )
+Init.InPort( 'max' , 'long' )
+Init.InPort( 'medfield' , 'objref' )
+Init.InPort( 'x1' , 'double' )
+Init.InPort( 'aVisu' , 'objref' )
+Init.InPort( 'aView' , 'objref' )
+Init.OutPort( 'index' , 'long' )
+Init.OutPort( 'min' , 'long' )
+Init.OutPort( 'max' , 'long' )
+Init.OutPort( 'medfield' , 'objref' )
+Init.OutPort( 'x1' , 'double' )
+Init.OutPort( 'aVisu' , 'objref' )
+Init.OutPort( 'aView' , 'objref' )
+Init.SetName( 'Init' )
+Init.SetAuthor( 'LD' )
+Init.SetComment( 'no comment' )
+Init.Coords( 205 , 63 )
+
+# Creation of Links
+InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
+InitaVisu = LoopGraph.Link( InitDisplayaVisu , Init.Port( 'aVisu' ) )
+
+InitDisplayaView = InitDisplay.Port( 'aView' )
+InitaView = LoopGraph.Link( InitDisplayaView , Init.Port( 'aView' ) )
+
+Initindex = Init.Port( 'index' )
+EndInitindex = LoopGraph.Link( Initindex , EndInit.Port( 'index' ) )
+
+DisplayMedindex = LoopGraph.Link( Initindex , DisplayMed.Port( 'index' ) )
+DisplayMedindex.AddCoord( 1 , 566 , 215 )
+DisplayMedindex.AddCoord( 2 , 566 , 96 )
+
+Initmin = Init.Port( 'min' )
+EndInitmin = LoopGraph.Link( Initmin , EndInit.Port( 'min' ) )
+
+Initmax = Init.Port( 'max' )
+EndInitmax = LoopGraph.Link( Initmax , EndInit.Port( 'max' ) )
+
+Initmedfield = Init.Port( 'medfield' )
+Mulfield1 = LoopGraph.Link( Initmedfield , Mul.Port( 'field1' ) )
+
+Initx1 = Init.Port( 'x1' )
+EndInitx1 = LoopGraph.Link( Initx1 , EndInit.Port( 'x1' ) )
+
+Mulx1 = LoopGraph.Link( Initx1 , Mul.Port( 'x1' ) )
+
+InitaVisu = Init.Port( 'aVisu' )
+EndInitaVisu = LoopGraph.Link( InitaVisu , EndInit.Port( 'aVisu' ) )
+
+DisplayMedaVisu = LoopGraph.Link( InitaVisu , DisplayMed.Port( 'aVisu' ) )
+DisplayMedaVisu.AddCoord( 1 , 570 , 242 )
+DisplayMedaVisu.AddCoord( 2 , 569 , 263 )
+DisplayMedaVisu.AddCoord( 3 , 377 , 264 )
+DisplayMedaVisu.AddCoord( 4 , 376 , 242 )
+
+InitaView = Init.Port( 'aView' )
+EndInitaView = LoopGraph.Link( InitaView , EndInit.Port( 'aView' ) )
+
+DisplayMedaView = LoopGraph.Link( InitaView , DisplayMed.Port( 'aView' ) )
+
+Mulreturn = Mul.Port( 'return' )
+DisplayMedINmedfield = LoopGraph.Link( Mulreturn , DisplayMed.Port( 'INmedfield' ) )
+
+DisplayMedOUTmedfield = DisplayMed.Port( 'OUTmedfield' )
+EndInitmedfield = LoopGraph.Link( DisplayMedOUTmedfield , EndInit.Port( 'medfield' ) )
+
+# Creation of Input datas
+Initindex = Init.Input( 'index' , 0)
+Initmin = Init.Input( 'min' , 0)
+Initmax = Init.Input( 'max' , 4)
+Initx1 = Init.Input( 'x1' , 2)
+
+# Missing Input datas
+Initmedfield = Init.Port( 'medfield' )
+
+# Creation of Output variables
+EndInitindex = EndInit.Port( 'index' )
+EndInitmin = EndInit.Port( 'min' )
+EndInitmax = EndInit.Port( 'max' )
+EndInitmedfield = EndInit.Port( 'medfield' )
+EndInitx1 = EndInit.Port( 'x1' )
+EndInitaVisu = EndInit.Port( 'aVisu' )
+EndInitaView = EndInit.Port( 'aView' )
diff --git a/examples/TestSupervMedfieldLoopForiVisu.xml b/examples/TestSupervMedfieldLoopForiVisu.xml
new file mode 100755 (executable)
index 0000000..5086e6d
--- /dev/null
@@ -0,0 +1,536 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>LoopGraph</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>LoopGraph</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>Init\medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndInit\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndInit\x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndInit\aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>20/6/2003 - 15:13:42</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitDisplay</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>InitDisplay</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitDisplay</FuncName>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *  ]]></PyFunc>
+     <PyFunc><![CDATA[from VISU import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def InitDisplay():  ]]></PyFunc>
+     <PyFunc><![CDATA[    # initialize the ORB    ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)  ]]></PyFunc>
+     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance       ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                 ]]></PyFunc>
+     <PyFunc><![CDATA[    # -----------------------------------------   ]]></PyFunc>
+     <PyFunc><![CDATA[    # loading visu component                      ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","Visu")   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aVisu        = ",aVisu   ]]></PyFunc>
+     <PyFunc><![CDATA[    aViewManager = aVisu.GetViewManager()          ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager = ",aViewManager   ]]></PyFunc>
+     <PyFunc><![CDATA[    # aView = aViewManager.GetCurrentView()       ]]></PyFunc>
+     <PyFunc><![CDATA[    aView = aViewManager.Create3DView()            ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aView        = ",aView   ]]></PyFunc>
+     <PyFunc><![CDATA[    return aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:10:16</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>0</x-position>
+   <y-position>163</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= min :  ]]></PyFunc>
+     <PyFunc><![CDATA[        index = min  ]]></PyFunc>
+     <PyFunc><![CDATA[    else : ]]></PyFunc>
+     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Init --> index      = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= index :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 1   ]]></PyFunc>
+     <PyFunc><![CDATA[    else :   ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 0   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "More --> DoLoop      = ",DoLoop   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         index       = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min         = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max         = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield    = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return DoLoop,index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,medfield,x1,aVisu,aView):  ]]></PyFunc>
+     <PyFunc><![CDATA[    index = index + 1  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "Next --> index      = ",index   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         min        = ",min   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         max        = ",max   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "         medfield   = ",medfield   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,medfield,x1,aVisu,aView  ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:10:16</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>?</container>
+   <comment>no comment</comment>
+   <x-position>205</x-position>
+   <y-position>63</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>medfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>medfield</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:10:16</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>?</container>
+   <comment>no comment</comment>
+   <x-position>776</x-position>
+   <y-position>64</y-position>  </node>
+  <node>
+<component-name>Calculator</component-name>
+   <interface-name>Calculator</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>field1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>return</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>19/9/2003 - 16:10:16</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>LD</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Multiply a field by a constant</comment>
+   <x-position>387</x-position>
+   <y-position>104</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DisplayMed</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DisplayMed</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>INmedfield</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>OUTmedfield</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DisplayMed</FuncName>
+     <PyFunc><![CDATA[import os  ]]></PyFunc>
+     <PyFunc><![CDATA[import SALOME_MED  ]]></PyFunc>
+     <PyFunc><![CDATA[from VISU import *  ]]></PyFunc>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *  ]]></PyFunc>
+     <PyFunc><![CDATA[def DisplayMed(medfield,index,aVisu,aView):     ]]></PyFunc>
+     <PyFunc><![CDATA[    # initialize the ORB                    ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([''], CORBA.ORB_ID)                         ]]></PyFunc>
+     <PyFunc><![CDATA[    # create an LifeCycleCORBA instance                   ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                   ]]></PyFunc>
+     <PyFunc><![CDATA[    print " "  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+     <PyFunc><![CDATA[    calc = lcc.FindOrLoadComponent("FactoryServer", "Calculator")   ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
+     <PyFunc><![CDATA[    medfilename = "/tmp/LoopGraphFile" + str(index) + ".med"  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> Writing Med field in temporary file : ",medfilename  ]]></PyFunc>
+     <PyFunc><![CDATA[    calc.writeMEDfile(medfield,medfilename)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> calc  = ",calc  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+     <PyFunc><![CDATA[    myResult1   = aVisu.ImportFile(medfilename)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> myResult1 = ",myResult1  ]]></PyFunc>
+     <PyFunc><![CDATA[    field_name = medfield.getName()  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> field_name = ",field_name  ]]></PyFunc>
+     <PyFunc><![CDATA[    mesh_name = medfield.getSupport().getMesh().getName()  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> mesh_name = ",mesh_name  ]]></PyFunc>
+     <PyFunc><![CDATA[    aMesh1      = aVisu.MeshOnEntity(myResult1,mesh_name,CELL)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> aMesh1 = ",aMesh1  ]]></PyFunc>
+     <PyFunc><![CDATA[    aScalarMap1 = aVisu.ScalarMapOnField(myResult1,mesh_name,NODE,field_name,1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> aScalarMap1 = ",aScalarMap1  ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.FitAll()  ]]></PyFunc>
+     <PyFunc><![CDATA[    command = "rm " + medfilename  ]]></PyFunc>
+     <PyFunc><![CDATA[    os.system(command)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "-----> Delete temporary Med file : ",medfilename  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "***************************************************************"  ]]></PyFunc>
+     <PyFunc><![CDATA[    print " "  ]]></PyFunc>
+     <PyFunc><![CDATA[    return medfield ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:10:16</creation-date>
+   <lastmodification-date>19/9/2003 - 16:10:16</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>594</x-position>
+   <y-position>105</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>DisplayMed</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>566</x>
+     <y>215</y>    </coord>
+    <coord>
+<x>566</x>
+     <y>96</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>medfield</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>field1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>Mul</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>DisplayMed</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>570</x>
+     <y>242</y>    </coord>
+    <coord>
+<x>569</x>
+     <y>263</y>    </coord>
+    <coord>
+<x>377</x>
+     <y>264</y>    </coord>
+    <coord>
+<x>376</x>
+     <y>242</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>DisplayMed</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>205</x>
+     <y>233</y>    </coord>
+    <coord>
+<x>204</x>
+     <y>21</y>    </coord>
+    <coord>
+<x>936</x>
+     <y>20</y>    </coord>
+    <coord>
+<x>935</x>
+     <y>235</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Mul</fromnode-name>
+   <fromserviceparameter-name>return</fromserviceparameter-name>
+   <tonode-name>DisplayMed</tonode-name>
+   <toserviceparameter-name>INmedfield</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DisplayMed</fromnode-name>
+   <fromserviceparameter-name>OUTmedfield</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>medfield</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>4</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>LoopGraph</fromnode-name>
+   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>2</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/dataflow_calculator_example.py b/examples/dataflow_calculator_example.py
new file mode 100755 (executable)
index 0000000..d56571f
--- /dev/null
@@ -0,0 +1,211 @@
+#%dataflow_calculator_example.py%
+#==============================================================================
+#  File      : dataflow_calculator_example.py
+#  Created   : 30 sept 2002
+#  Author    : Laurent DADA
+#  Project   : SALOME
+#  Copyright : CEA
+#==============================================================================
+
+#==============================================================================
+#  Example of dataflow with CalculatorComponent services (Add, Mult and Const)
+#  and MED data (mesh and field).
+#
+#  
+#==============================================================================
+
+#==============================================================================
+import batchmode_salome
+import SALOME_MED
+from batchmode_SuperV import *
+#==============================================================================
+datadir = os.getenv("SALOMEPRO_SRC")
+if len(datadir) != 0:
+        datadir=datadir+ "data/"
+input_file  = datadir+'pointe.med'
+print 'dataflow_calculator_example.py',input_file
+str= os.getenv("HOME")
+if str == None:
+        str = "/tmp"
+output_file = str + 'test_dataflow_calculator.med'
+
+export_xmlfile = str + "/my_dataflow_calculator_example.xml"
+
+#==============================================================================
+# Load mesh and field in MED component, register into current study and get
+# a field under the following name : fieldnodedouble 
+#==============================================================================
+from batchmode_MED import *
+
+#==============================================================================
+# Define a function for printing on Salome TUI the" until_index" first values
+# for each component of a field (MED data)
+#==============================================================================
+
+def PrintField(aField,until_index):
+    # check parameter
+    if aField is None:
+        print "PrintField() : aField is None "
+        return
+    name    = aField.getName()
+    desc    = aField.getDescription()
+    nb_comp = aField.getNumberOfComponents()
+    values  = aField.getValue(SALOME_MED.MED_FULL_INTERLACE)
+    support = aField.getSupport()
+    if (support.isOnAllElements()):
+        nb_node = support.getMesh().getNumberOfElements(support.getEntity(),SALOME_MED.MED_ALL_ELEMENTS)
+    else:
+        nb_node = support.getNumberOfElements(SALOME_MED.MED_ALL_ELEMENTS);
+
+    if until_index > nb_node:
+        max_index = nb_node
+    else:
+        max_index = until_index
+    time  = aField.getTime()
+    iter  = aField.getIterationNumber()
+    print "------------------------------------------------"
+    print "Field %s"%(name)
+    print "    Description          : %s"%(desc)
+    print "    Number of components : %d"%(nb_comp)
+    print "    Number of nodes      : %d"%(nb_node)
+    print "    Iteration number     : %d"%(iter)
+    print "    Time                 : %f"%(time)
+    icomp = 0
+    while icomp < nb_comp :
+        icomp = icomp + 1
+        namec = aField.getComponentName(icomp)
+        unit  = aField.getComponentUnit(icomp)
+        print "        Component             : %s"%(namec)
+        print "              Unit            : %s"%(type)
+        print "              first %d values :"%(until_index)
+        index = 0
+        while index < max_index :
+            index = index + 1
+            print "                    component %d index %d :%f"%(icomp,index,values[(index-1)+(icomp-1)*nb_comp])
+    print "------------------------------------------------"
+
+#----------------------------------------------------------------------
+
+med_comp.readStructFileWithFieldType(input_file, studyCurrent)
+
+med_obj = getMedObjectFromStudy()
+
+nbMeshes = med_obj.getNumberOfMeshes()
+
+nbFields = med_obj.getNumberOfFields()
+
+print ""
+print "The med file ",input_file," has ",nbMeshes," Meshe(s) and ",nbFields," Field(s)"
+print ""
+
+mesh = getMeshObjectFromStudy(1)
+
+name = mesh.getName()
+
+nbNodes = mesh.getNumberOfNodes()
+
+spaceDim = mesh.getSpaceDimension()
+
+print "The mesh from the Study is ",name,".It is a ",spaceDim,"-D mesh and it has ",nbNodes,"Nodes"
+print ""
+
+fieldcelldouble = getFieldIntObjectFromStudy(1,1)
+if (fieldcelldouble == None):
+    fieldcelldouble = getFieldDoubleObjectFromStudy(1,1)
+    print "The following field is a float (double) one"
+else:
+    print "The following field is an integer one"
+
+AnalyzeField(fieldcelldouble)
+
+fieldnodedouble = getFieldIntObjectFromStudy(2,1)
+if (fieldnodedouble == None):
+    fieldnodedouble = getFieldDoubleObjectFromStudy(2,1)
+    print "The following field is a float (double) one"
+else:
+    print "The following field is an integer one"
+
+AnalyzeField(fieldnodedouble)
+#----------------------------------------------------------------------
+
+#==============================================================================
+# Building the Dataflow
+#==============================================================================
+
+myGraph = Graph("CalculatorDataflow")
+
+# nodes and links
+# -------------------
+
+scal_field_const = myGraph.Node("Calculator","Calculator","Constant")
+scal_field_mult  = myGraph.Node("Calculator","Calculator","Mul")
+scal_field_add   = myGraph.Node("Calculator","Calculator","Add")
+
+write_initial     = myGraph.Node("Calculator","Calculator","writeMEDfile")
+write_result      = myGraph.Node("Calculator","Calculator","writeMEDfile")
+
+link1 = myGraph.Link( scal_field_const.Port("return") , scal_field_add.Port("field1") )
+link2 = myGraph.Link( scal_field_mult.Port("return") , scal_field_add.Port("field2") )
+link3 = myGraph.Link( scal_field_add.Port("return") , write_result.Port("field1") )
+
+
+# machines ressources
+# -------------------
+
+#myGraph.SetContainer('FactoryServer')
+scal_field_const.SetContainer('FactoryServer')
+scal_field_mult.SetContainer('FactoryServer')
+scal_field_add.SetContainer('FactoryServer')
+write_initial.SetContainer('FactoryServer')
+write_result.SetContainer('FactoryServer')
+
+# validation and exporting (xml format)
+# ---------------------------------
+print myGraph.Export(export_xmlfile)
+
+print myGraph.IsValid()
+
+#==============================================================================
+# Dataflow Input
+#==============================================================================
+
+# Ports Input
+# ----------------------------
+
+scal_const_in2      = scal_field_const.Input( "x1", 10. )
+scal_mult_in2       = scal_field_mult.Input( "x1", -1. )
+result_write        = write_result.Input( "filename", output_file)
+initial_write_in2   = write_initial.Input( "filename", output_file)
+
+# exporting with constant inputs (xml format)
+# -------------------------------------------
+
+print myGraph.Export(export_xmlfile)
+
+# Other ports Input
+# ----------------------------
+
+print "Print fieldnodedouble"
+PrintField(fieldnodedouble,20)
+
+scal_const_in1      = scal_field_const.Input( "field1", fieldnodedouble )
+scal_mult_in1       = scal_field_mult.Input( "field1", fieldnodedouble )
+initial_write_in1   = write_initial.Input( "field1", fieldnodedouble)
+
+print myGraph.IsExecutable()
+
+#==============================================================================
+# Running the Dataflow (asynchronous)
+#==============================================================================
+
+print myGraph.Run()
+
+print myGraph.DoneW()
+
+new_field   = scal_field_add.Port("return").ToAny().value()
+print "Print new_field"
+PrintField(new_field,20)
+
+
+
+
diff --git a/examples/dataflow_calculator_example.xml b/examples/dataflow_calculator_example.xml
new file mode 100755 (executable)
index 0000000..4edd3bf
--- /dev/null
@@ -0,0 +1,306 @@
+<?xml version='1.0' encoding='us-ascii' ?>
+
+<!-- XML Dataflow -->
+
+<!-- Dataflow information -->
+<dataflow>
+        <info-list>
+                <node>
+                        <component-name>?</component-name>
+                        <interface-name>?</interface-name>
+                        <node-name>CalculatorDataflow</node-name>
+                        <kind>1</kind>
+                        <service>
+                                <service-name>CalculatorDataflow</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+
+<inParameter-name>Constant\field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>double</inParameter-type>
+                                                <inParameter-name>Constant\x1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>Mul\field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>double</inParameter-type>
+                                                <inParameter-name>Mul\x1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+
+<inParameter-type>FieldNodeDouble</inParameter-type>
+
+<inParameter-name>writeMEDfile\field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>string</inParameter-type>
+
+<inParameter-name>writeMEDfile\filename</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>string</inParameter-type>
+
+<inParameter-name>writeMEDfile_1\filename</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:38:49</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>0</x-position>
+                        <y-position>0</y-position>
+                </node>
+        </info-list>
+
+        <node-list>
+                <node>
+                        <component-name>Calculator</component-name>
+                        <interface-name>Calculator</interface-name>
+                        <node-name>Constant</node-name>
+                        <kind>0</kind>
+                        <service>
+                                <service-name>Constant</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>double</inParameter-type>
+                                                <inParameter-name>x1</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                        <outParameter>
+                                                <outParameter-type>FIELDDOUBLE</outParameter-type>
+                                                <outParameter-name>return</outParameter-name>
+                                        </outParameter>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:47:14</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>28</x-position>
+                        <y-position>0</y-position>
+                </node>
+                <node>
+                        <component-name>Calculator</component-name>
+                        <interface-name>Calculator</interface-name>
+                        <node-name>Mul</node-name>
+                        <kind>0</kind>
+                        <service>
+                                <service-name>Mul</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>double</inParameter-type>
+                                                <inParameter-name>x1</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                        <outParameter>
+                                                <outParameter-type>FIELDDOUBLE</outParameter-type>
+                                                <outParameter-name>return</outParameter-name>
+                                        </outParameter>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:47:14</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>27</x-position>
+                        <y-position>208</y-position>
+                </node>
+                <node>
+                        <component-name>Calculator</component-name>
+                        <interface-name>Calculator</interface-name>
+                        <node-name>Add</node-name>
+                        <kind>0</kind>
+                        <service>
+                                <service-name>Add</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>field2</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                        <outParameter>
+                                                <outParameter-type>FIELDDOUBLE</outParameter-type>
+                                                <outParameter-name>return</outParameter-name>
+                                        </outParameter>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:47:14</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>398</x-position>
+                        <y-position>54</y-position>
+                </node>
+                <node>
+                        <component-name>Calculator</component-name>
+                        <interface-name>Calculator</interface-name>
+                        <node-name>writeMEDfile</node-name>
+                        <kind>0</kind>
+                        <service>
+                                <service-name>writeMEDfile</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+
+<inParameter-type>FieldNodeDouble</inParameter-type>
+                                                <inParameter-name>field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>string</inParameter-type>
+                                                <inParameter-name>filename</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:47:14</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>212</x-position>
+                        <y-position>392</y-position>
+                </node>
+                <node>
+                        <component-name>Calculator</component-name>
+                        <interface-name>Calculator</interface-name>
+                        <node-name>writeMEDfile_1</node-name>
+                        <kind>0</kind>
+                        <service>
+                                <service-name>writeMEDfile</service-name>
+                                <inParameter-list>
+                                        <inParameter>
+                                                <inParameter-type>FIELDDOUBLE</inParameter-type>
+                                                <inParameter-name>field1</inParameter-name>
+                                        </inParameter>
+                                        <inParameter>
+                                                <inParameter-type>string</inParameter-type>
+                                                <inParameter-name>filename</inParameter-name>
+                                        </inParameter>
+                                </inParameter-list>
+                                <outParameter-list>
+                                </outParameter-list>
+                        </service>
+                        <creation-date>22/11/2002 - 14:47:14</creation-date>
+                        <lastmodification-date>22/11/2002 - 14:47:14</lastmodification-date>
+                        <editor-release>1.03</editor-release>
+                        <author>?</author>
+                        <container>FactoryServer</container>
+                        <comment>?</comment>
+                        <x-position>572</x-position>
+                        <y-position>52</y-position>
+                </node>
+        </node-list>
+
+        <link-list>
+                <link>
+                        <fromnode-name>Constant</fromnode-name>
+                        <fromserviceparameter-name>return</fromserviceparameter-name>
+                        <tonode-name>Add</tonode-name>
+                        <toserviceparameter-name>field1</toserviceparameter-name>
+                        <coord-list>
+                        </coord-list>
+                </link>
+                <link>
+                        <fromnode-name>Mul</fromnode-name>
+                        <fromserviceparameter-name>return</fromserviceparameter-name>
+                        <tonode-name>Add</tonode-name>
+                        <toserviceparameter-name>field2</toserviceparameter-name>
+                        <coord-list>
+                        </coord-list>
+                </link>
+                <link>
+                        <fromnode-name>Add</fromnode-name>
+                        <fromserviceparameter-name>return</fromserviceparameter-name>
+                        <tonode-name>writeMEDfile_1</tonode-name>
+                        <toserviceparameter-name>field1</toserviceparameter-name>
+                        <coord-list>
+                        </coord-list>
+                </link>
+        </link-list>
+
+        <data-list>
+                <data>
+                        <fromnode-name>CalculatorDataflow</fromnode-name>
+                        <fromserviceparameter-name>Constant\x1</fromserviceparameter-name>
+                        <tonode-name>Constant</tonode-name>
+                        <toserviceparameter-name>x1</toserviceparameter-name>
+                        <data-value>
+                                <value-type>7</value-type>
+                                <value>10</value>
+                        </data-value>
+                        <coord-list>
+                        </coord-list>
+                </data>
+                <data>
+                        <fromnode-name>CalculatorDataflow</fromnode-name>
+                        <fromserviceparameter-name>Mul\x1</fromserviceparameter-name>
+                        <tonode-name>Mul</tonode-name>
+                        <toserviceparameter-name>x1</toserviceparameter-name>
+                        <data-value>
+                                <value-type>7</value-type>
+                                <value>-1</value>
+                        </data-value>
+                        <coord-list>
+                        </coord-list>
+                </data>
+                <data>
+                        <fromnode-name>CalculatorDataflow</fromnode-name>
+
+<fromserviceparameter-name>writeMEDfile\filename</fromserviceparameter-name>
+                        <tonode-name>writeMEDfile</tonode-name>
+                        <toserviceparameter-name>filename</toserviceparameter-name>
+                        <data-value>
+                                <value-type>18</value-type>
+                                <value>test_dataflow_calculator.med</value>
+                        </data-value>
+                        <coord-list>
+                        </coord-list>
+                </data>
+                <data>
+                        <fromnode-name>CalculatorDataflow</fromnode-name>
+
+<fromserviceparameter-name>writeMEDfile_1\filename</fromserviceparameter-name>
+                        <tonode-name>writeMEDfile_1</tonode-name>
+                        <toserviceparameter-name>filename</toserviceparameter-name>
+                        <data-value>
+                                <value-type>18</value-type>
+                                <value>test_dataflow_calculator.med</value>
+                        </data-value>
+                        <coord-list>
+                        </coord-list>
+                </data>
+        </data-list>
+
+</dataflow>
+
index e91a577bb3072c1fc8c63ebc351361af20b3a46c..1c57f136146899b1507e8915cc304d1d679beedb 100644 (file)
@@ -1,3 +1,9 @@
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : myFactorialPy.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 
index 79a298695557c69b6d251839dba07e9200ca1585..053065eb4b1a1a82ce4d3c47ad87011d4e82ad72 100644 (file)
@@ -1,34 +1,38 @@
-
-# Generated python file of Graph GraphEssai
+#  Copyright (C) 2003  CEA/DEN, EDF R&D
+#
+#
+#
+#  File   : newsupervisionexample.py
+#  Module : SuperVisionTest
 
 from SuperV import *
 # Graph creation 
-GraphEssai = Graph( 'GraphEssai' )
-GraphEssai.SetName( 'GraphEssai' )
-GraphEssai.SetAuthor( '' )
-GraphEssai.SetComment( '' )
-GraphEssai.Coords( 0 , 0 )
+newsupervisionexample = Graph( 'newsupervisionexample' )
+newsupervisionexample.SetName( 'newsupervisionexample' )
+newsupervisionexample.SetAuthor( '' )
+newsupervisionexample.SetComment( '' )
+newsupervisionexample.Coords( 0 , 0 )
 
 # Creation of Computing Nodes
-Add = GraphEssai.Node( 'AddComponent' , 'AddComponent' , 'Add' )
+Add = newsupervisionexample.Node( 'AddComponent' , 'AddComponent' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'FactoryServer' )
 Add.SetComment( '' )
 Add.Coords( 15 , 241 )
-Sub = GraphEssai.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub = newsupervisionexample.Node( 'SubComponent' , 'SubComponent' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'FactoryServer' )
 Sub.SetComment( '' )
 Sub.Coords( 227 , 99 )
-Mul = GraphEssai.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul = newsupervisionexample.Node( 'MulComponent' , 'MulComponent' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'FactoryServer' )
 Mul.SetComment( '' )
 Mul.Coords( 443 , 278 )
-Div = GraphEssai.Node( 'DivComponent' , 'DivComponent' , 'Div' )
+Div = newsupervisionexample.Node( 'DivComponent' , 'DivComponent' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'FactoryServer' )
@@ -37,13 +41,13 @@ Div.Coords( 634 , 97 )
 
 # Creation of intermediate Output variables and of Computing Links
 Addz = Add.Port( 'z' )
-Suby = GraphEssai.Link( Addz , Sub.Port( 'y' ) )
-Muly = GraphEssai.Link( Addz , Mul.Port( 'y' ) )
+Suby = newsupervisionexample.Link( Addz , Sub.Port( 'y' ) )
+Muly = newsupervisionexample.Link( Addz , Mul.Port( 'y' ) )
 Subz = Sub.Port( 'z' )
-Mulx = GraphEssai.Link( Subz , Mul.Port( 'x' ) )
-Divx = GraphEssai.Link( Subz , Div.Port( 'x' ) )
+Mulx = newsupervisionexample.Link( Subz , Mul.Port( 'x' ) )
+Divx = newsupervisionexample.Link( Subz , Div.Port( 'x' ) )
 Mulz = Mul.Port( 'z' )
-Divy = GraphEssai.Link( Mulz , Div.Port( 'y' ) )
+Divy = newsupervisionexample.Link( Mulz , Div.Port( 'y' ) )
 
 # Creation of Input datas
 Addx = Add.Input( 'x' , 3)
@@ -53,3 +57,12 @@ Subx = Sub.Input( 'x' , 1.5)
 # Creation of Output variables
 AddFuncValue = Add.Port( 'FuncValue' )
 Divz = Div.Port( 'z' )
+
+newsupervisionexample.Run()
+
+newsupervisionexample.DoneW()
+
+newsupervisionexample.State()
+
+newsupervisionexample.PrintPorts()
+
index 9e3ec060f476a359150bfd43b1ca587f8b56c1f2..df28e8fa8e9587e582cc9868c38aea0134f16365 100644 (file)
@@ -6,13 +6,13 @@
 <dataflow>
        <info-list>
                <node>
-                       <component-name>GraphEssai</component-name>
+                       <component-name>newsupervisionexample</component-name>
                        <interface-name>?</interface-name>
-                       <node-name>GraphEssai</node-name>
+                       <node-name>newsupervisionexample</node-name>
                        <kind>1</kind>
                        <coupled-node>?</coupled-node>
                        <service>
-                               <service-name>GraphEssai</service-name>
+                               <service-name>newsupervisionexample</service-name>
                                <inParameter-list>
                                        <inParameter>
                                                <inParameter-type>double</inParameter-type>
 
        <data-list>
                <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
+                       <fromnode-name>newsupervisionexample</fromnode-name>
                        <fromserviceparameter-name>Add\x</fromserviceparameter-name>
                        <tonode-name>Add</tonode-name>
                        <toserviceparameter-name>x</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
+                       <fromnode-name>newsupervisionexample</fromnode-name>
                        <fromserviceparameter-name>Add\y</fromserviceparameter-name>
                        <tonode-name>Add</tonode-name>
                        <toserviceparameter-name>y</toserviceparameter-name>
                        </coord-list>
                </data>
                <data>
-                       <fromnode-name>GraphEssai</fromnode-name>
+                       <fromnode-name>newsupervisionexample</fromnode-name>
                        <fromserviceparameter-name>Sub\x</fromserviceparameter-name>
                        <tonode-name>Sub</tonode-name>
                        <toserviceparameter-name>x</toserviceparameter-name>
diff --git a/examples/test_events.py b/examples/test_events.py
new file mode 100644 (file)
index 0000000..fe394f4
--- /dev/null
@@ -0,0 +1,66 @@
+
+# Generated python file of Graph aNewDataFlow
+
+from SuperV import *
+# Graph creation 
+aNewDataFlow = Graph( 'aNewDataFlow' )
+aNewDataFlow.SetName( 'aNewDataFlow' )
+aNewDataFlow.SetAuthor( '' )
+aNewDataFlow.SetComment( '' )
+aNewDataFlow.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyFunc = []
+PyFunc.append( 'def Func( A ):     ' )
+PyFunc.append( '  import batchmode_visu  ' )
+PyFunc.append( '  batchmode_visu.myVisu.CreateTestView()   ' )
+PyFunc.append( '  batchmode_visu.myVisu.ShowTestObject()   ' )
+PyFunc.append( '  return A     ' )
+Func = aNewDataFlow.INode( 'Func' , PyFunc )
+Func.SetName( 'Func' )
+Func.SetAuthor( '' )
+Func.SetComment( 'Compute Node' )
+Func.Coords( 375 , 162 )
+Func.InPort( 'A' , 'int' )
+Func.OutPort( 'B' , 'int' )
+
+# Creation of Loop Nodes
+PyInit = []
+PyInit.append( 'def Init( A ):   ' )
+PyInit.append( '  return A   ' )
+PyMoreInit = []
+PyMoreInit.append( 'def More( A ):   ' )
+PyMoreInit.append( '  if A < 10:   ' )
+PyMoreInit.append( '    return 1,A   ' )
+PyMoreInit.append( '  return 0,A   ' )
+PyNextInit = []
+PyNextInit.append( 'def Next( A ):   ' )
+PyNextInit.append( '  return (A + 1)   ' )
+Init,EndInit = aNewDataFlow.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+EndInit.SetName( 'EndInit' )
+EndInit.SetAuthor( '' )
+EndInit.SetComment( '' )
+EndInit.Coords( 740 , 168 )
+PyEndInit = []
+EndInit.SetPyFunction( 'EndInit' , PyEndInit )
+Init.SetName( 'Init' )
+Init.SetAuthor( '' )
+Init.SetComment( '' )
+Init.Coords( 118 , 160 )
+Init.InPort( 'A' , 'int' )
+Init.OutPort( 'A' , 'int' )
+
+# Creation of Links
+InitA = Init.Port( 'A' )
+FuncA = aNewDataFlow.Link( InitA , Func.Port( 'A' ) )
+
+FuncB = Func.Port( 'B' )
+EndInitA = aNewDataFlow.Link( FuncB , EndInit.Port( 'A' ) )
+
+# Creation of Input datas
+InitA = Init.Input( 'A' , 0)
+
+# Creation of Output variables
+EndInitA = EndInit.Port( 'A' )
diff --git a/examples/test_events.xml b/examples/test_events.xml
new file mode 100644 (file)
index 0000000..97a7ce8
--- /dev/null
@@ -0,0 +1,167 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>aNewDataFlow</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>aNewDataFlow</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>Init\A</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>EndInit\A</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/4/2004 - 16:38:31</creation-date>
+   <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>A</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>A</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init( A ):   ]]></PyFunc>
+     <PyFunc><![CDATA[  return A   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More( A ):   ]]></PyFunc>
+     <PyFunc><![CDATA[  if A < 10:   ]]></PyFunc>
+     <PyFunc><![CDATA[    return 1,A   ]]></PyFunc>
+     <PyFunc><![CDATA[  return 0,A   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next( A ):   ]]></PyFunc>
+     <PyFunc><![CDATA[  return (A + 1)   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/4/2004 - 18:30:31</creation-date>
+   <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>118</x-position>
+   <y-position>160</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>A</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>A</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndInit</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/4/2004 - 18:30:31</creation-date>
+   <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>740</x-position>
+   <y-position>168</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Func</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Func</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>A</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>B</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Func</FuncName>
+     <PyFunc><![CDATA[def Func( A ):     ]]></PyFunc>
+     <PyFunc><![CDATA[  import batchmode_visu  ]]></PyFunc>
+     <PyFunc><![CDATA[  batchmode_visu.myVisu.CreateTestView()   ]]></PyFunc>
+     <PyFunc><![CDATA[  batchmode_visu.myVisu.ShowTestObject()   ]]></PyFunc>
+     <PyFunc><![CDATA[  return A     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>2/4/2004 - 18:30:31</creation-date>
+   <lastmodification-date>2/4/2004 - 18:30:31</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>375</x-position>
+   <y-position>162</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>A</fromserviceparameter-name>
+   <tonode-name>Func</tonode-name>
+   <toserviceparameter-name>A</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Func</fromnode-name>
+   <fromserviceparameter-name>B</fromserviceparameter-name>
+   <tonode-name>EndInit</tonode-name>
+   <toserviceparameter-name>A</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\A</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>A</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/test_superv_basic_loop.py b/examples/test_superv_basic_loop.py
new file mode 100755 (executable)
index 0000000..f98c313
--- /dev/null
@@ -0,0 +1,103 @@
+
+# Generated python file of Graph test_superv_basic_loop
+
+from SuperV import *
+# Graph creation 
+test_superv_basic_loop = Graph( 'test_superv_basic_loop' )
+test_superv_basic_loop.SetName( 'test_superv_basic_loop' )
+test_superv_basic_loop.SetAuthor( '' )
+test_superv_basic_loop.SetComment( '' )
+test_superv_basic_loop.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyAdd = []
+PyAdd.append( 'def Sum(sum,incr): ' )
+PyAdd.append( '        result = sum+incr     ' )
+PyAdd.append( '        return result,incr     ' )
+Add = test_superv_basic_loop.INode( 'Sum' , PyAdd )
+Add.InPort( 'sum' , 'long' )
+Add.InPort( 'incr' , 'long' )
+Add.OutPort( 'Sum' , 'long' )
+Add.OutPort( 'incr' , 'long' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetComment( 'Python function' )
+Add.Coords( 220 , 40 )
+
+# Creation of Loop Nodes
+Pyfori = []
+Pyfori.append( 'def Init(index,min,max,sum):   ' )
+Pyfori.append( '       if max > min :   ' )
+Pyfori.append( '               index = min   ' )
+Pyfori.append( '       else :   ' )
+Pyfori.append( '               index = max   ' )
+Pyfori.append( '       #print index,min,max,sum  ' )
+Pyfori.append( '       return index,min,max,sum   ' )
+PyMorefori = []
+PyMorefori.append( 'def More(index,min,max,sum):   ' )
+PyMorefori.append( '   OutLoop = 0  ' )
+PyMorefori.append( '   if max > index :   ' )
+PyMorefori.append( '           OutLoop = 1  ' )
+PyMorefori.append( '   #print OutLoop,index,min,max,sum  ' )
+PyMorefori.append( '   return OutLoop,index,min,max,sum   ' )
+PyNextfori = []
+PyNextfori.append( 'def Next(index,min,max,sum):   ' )
+PyNextfori.append( '   index = index + 1   ' )
+PyNextfori.append( '   #print index,min,max,sum  ' )
+PyNextfori.append( '   return index,min,max,sum   ' )
+fori,Endfori = test_superv_basic_loop.LNode( 'Init' , Pyfori , 'More' , PyMorefori , 'Next' , PyNextfori )
+Endfori.SetName( 'Endfori' )
+Endfori.SetAuthor( '' )
+Endfori.SetComment( '' )
+Endfori.Coords( 432 , 0 )
+fori.InPort( 'index' , 'long' )
+fori.InPort( 'min' , 'long' )
+fori.InPort( 'max' , 'long' )
+fori.InPort( 'sum' , 'long' )
+fori.OutPort( 'index' , 'long' )
+fori.OutPort( 'min' , 'long' )
+fori.OutPort( 'max' , 'long' )
+fori.OutPort( 'sum' , 'long' )
+fori.SetName( 'fori' )
+fori.SetAuthor( '' )
+fori.SetComment( '' )
+fori.Coords( 12 , 0 )
+
+# Creation of Links
+AddSum = Add.Port( 'Sum' )
+Endforisum = test_superv_basic_loop.Link( AddSum , Endfori.Port( 'sum' ) )
+
+foriindex = fori.Port( 'index' )
+Endforiindex = test_superv_basic_loop.Link( foriindex , Endfori.Port( 'index' ) )
+
+Addincr = test_superv_basic_loop.Link( foriindex , Add.Port( 'incr' ) )
+Addincr.AddCoord( 1 , 186 , 150 )
+Addincr.AddCoord( 2 , 187 , 34 )
+
+forimin = fori.Port( 'min' )
+Endforimin = test_superv_basic_loop.Link( forimin , Endfori.Port( 'min' ) )
+
+forimax = fori.Port( 'max' )
+Endforimax = test_superv_basic_loop.Link( forimax , Endfori.Port( 'max' ) )
+
+forisum = fori.Port( 'sum' )
+Addsum = test_superv_basic_loop.Link( forisum , Add.Port( 'sum' ) )
+
+# Creation of Input datas
+foriindex = fori.Input( 'index' , 0)
+forimin = fori.Input( 'min' , 0)
+forimax = fori.Input( 'max' , 1001)
+forisum = fori.Input( 'sum' , 0)
+
+# Creation of Output variables
+Addincr = Add.Port( 'incr' )
+Endforiindex = Endfori.Port( 'index' )
+Endforimin = Endfori.Port( 'min' )
+Endforimax = Endfori.Port( 'max' )
+Endforisum = Endfori.Port( 'sum' )
+
+test_superv_basic_loop.Run()
+test_superv_basic_loop.DoneW()
+test_superv_basic_loop.PrintPorts()
diff --git a/examples/test_superv_basic_loop.xml b/examples/test_superv_basic_loop.xml
new file mode 100755 (executable)
index 0000000..071f311
--- /dev/null
@@ -0,0 +1,304 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>test_superv_basic_loop</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>test_superv_basic_loop</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>fori\sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Add\incr</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Endfori\sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>2/5/2003 - 13:43:38</creation-date>
+   <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Add</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>incr</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Sum</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>incr</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Sum</FuncName>
+     <PyFunc><![CDATA[def Sum(sum,incr): ]]></PyFunc>
+     <PyFunc><![CDATA[ result = sum+incr     ]]></PyFunc>
+     <PyFunc><![CDATA[ return result,incr     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:38:30</creation-date>
+   <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Python function</comment>
+   <x-position>220</x-position>
+   <y-position>40</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>fori</node-name>
+   <kind>4</kind>
+   <coupled-node>Endfori</coupled-node>
+   <service>
+<service-name>fori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ if max > min :   ]]></PyFunc>
+     <PyFunc><![CDATA[         index = min   ]]></PyFunc>
+     <PyFunc><![CDATA[ else :   ]]></PyFunc>
+     <PyFunc><![CDATA[         index = max   ]]></PyFunc>
+     <PyFunc><![CDATA[ #print index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return index,min,max,sum   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ OutLoop = 0  ]]></PyFunc>
+     <PyFunc><![CDATA[ if max > index :   ]]></PyFunc>
+     <PyFunc><![CDATA[         OutLoop = 1  ]]></PyFunc>
+     <PyFunc><![CDATA[ #print OutLoop,index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return OutLoop,index,min,max,sum   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,sum):   ]]></PyFunc>
+     <PyFunc><![CDATA[ index = index + 1   ]]></PyFunc>
+     <PyFunc><![CDATA[ #print index,min,max,sum  ]]></PyFunc>
+     <PyFunc><![CDATA[ return index,min,max,sum   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:38:30</creation-date>
+   <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>12</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Endfori</node-name>
+   <kind>5</kind>
+   <coupled-node>fori</coupled-node>
+   <service>
+<service-name>Endfori</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>sum</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>sum</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>19/9/2003 - 16:38:30</creation-date>
+   <lastmodification-date>19/9/2003 - 16:38:30</lastmodification-date>
+   <editor-release>1.04</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>432</x-position>
+   <y-position>0</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>Add</fromnode-name>
+   <fromserviceparameter-name>Sum</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>incr</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>186</x>
+     <y>150</y>    </coord>
+    <coord>
+<x>187</x>
+     <y>34</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>Endfori</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>fori</fromnode-name>
+   <fromserviceparameter-name>sum</fromserviceparameter-name>
+   <tonode-name>Add</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Endfori</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>8</x>
+     <y>215</y>    </coord>
+    <coord>
+<x>7</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>747</x>
+     <y>5</y>    </coord>
+    <coord>
+<x>748</x>
+     <y>214</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\index</fromserviceparameter-name>
+   <tonode-name>fori</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>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\min</fromserviceparameter-name>
+   <tonode-name>fori</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>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\max</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1001</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>test_superv_basic_loop</fromnode-name>
+   <fromserviceparameter-name>fori\sum</fromserviceparameter-name>
+   <tonode-name>fori</tonode-name>
+   <toserviceparameter-name>sum</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/testvisu20.xml b/examples/testvisu20.xml
new file mode 100644 (file)
index 0000000..7d8e60e
--- /dev/null
@@ -0,0 +1,490 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>aNewDataFlow</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>aNewDataFlow</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Init\x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfInit\aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfInit\aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfInit\aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndOfInit\x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 11:15:53</creation-date>
+   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitDisplay</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>InitDisplay</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>myResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitDisplay</FuncName>
+     <PyFunc><![CDATA[import os         ]]></PyFunc>
+     <PyFunc><![CDATA[import time         ]]></PyFunc>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *      ]]></PyFunc>
+     <PyFunc><![CDATA[from SALOME_NamingServicePy import *      ]]></PyFunc>
+     <PyFunc><![CDATA[import SALOMEDS      ]]></PyFunc>
+     <PyFunc><![CDATA[from VISU import *      ]]></PyFunc>
+     <PyFunc><![CDATA[def InitDisplay():         ]]></PyFunc>
+     <PyFunc><![CDATA[    #  --- initialize the ORB        ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)      ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- create a LifeCycleCORBA instance           ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                     ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- create a naming service instance              ]]></PyFunc>
+     <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)    ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- get Study Manager reference                     ]]></PyFunc>
+     <PyFunc><![CDATA[    obj = naming_service.Resolve('myStudyManager')    ]]></PyFunc>
+     <PyFunc><![CDATA[    StudyManager = obj._narrow(SALOMEDS.StudyManager)    ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- load visu component                          ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")       ]]></PyFunc>
+     <PyFunc><![CDATA[    aStudy = StudyManager.GetStudyByID(1)      ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)      ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu         ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep(2)         ]]></PyFunc>
+     <PyFunc><![CDATA[    aViewManager=aVisu.GetViewManager()         ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aViewManager ", aViewManager         ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
+     <PyFunc><![CDATA[    #aView=aViewManager.GetCurrentView()         ]]></PyFunc>
+     <PyFunc><![CDATA[    aView=aViewManager.Create3DView()         ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aView ", aView         ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)         ]]></PyFunc>
+     <PyFunc><![CDATA[    medFile = "TimeStamps.med"       ]]></PyFunc>
+     <PyFunc><![CDATA[    medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile       ]]></PyFunc>
+     <PyFunc><![CDATA[    myResult = aVisu.ImportFile(medFile)       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> myResult ", myResult         ]]></PyFunc>
+     <PyFunc><![CDATA[    return aVisu,aView,myResult       ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/1/2004 - 15:33:34</creation-date>
+   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>0</x-position>
+   <y-position>46</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= min :   ]]></PyFunc>
+     <PyFunc><![CDATA[        index = min      ]]></PyFunc>
+     <PyFunc><![CDATA[    else :     ]]></PyFunc>
+     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= index :       ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 1       ]]></PyFunc>
+     <PyFunc><![CDATA[    else :       ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 0       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return DoLoop,index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    index = index + 1 ]]></PyFunc>
+     <PyFunc><![CDATA[    x1=x1+1.0 ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/1/2004 - 15:33:34</creation-date>
+   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>190</x-position>
+   <y-position>4</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndOfInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction/>   </PyFunction-list>
+   <creation-date>19/1/2004 - 15:33:34</creation-date>
+   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>553</x-position>
+   <y-position>5</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DisplayVitesse</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DisplayVitesse</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>theResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DisplayVitesse</FuncName>
+     <PyFunc><![CDATA[import VISU                               ]]></PyFunc>
+     <PyFunc><![CDATA[import os                               ]]></PyFunc>
+     <PyFunc><![CDATA[import time                               ]]></PyFunc>
+     <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1):                          ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 1 index = ", index,aVisu,aView,aResult,x1                    ]]></PyFunc>
+     <PyFunc><![CDATA[    aMeshName ="dom"                               ]]></PyFunc>
+     <PyFunc><![CDATA[    myFieldName = "vitesse"                     ]]></PyFunc>
+     <PyFunc><![CDATA[    anEntity = VISU.NODE                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 2 ", aMesh                 ]]></PyFunc>
+     <PyFunc><![CDATA[    aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 4"                         ]]></PyFunc>
+     <PyFunc><![CDATA[    if aScalarMap is not None:                               ]]></PyFunc>
+     <PyFunc><![CDATA[        aScalarMap.SetScaling(VISU.LINEAR)                               ]]></PyFunc>
+     <PyFunc><![CDATA[    else:                               ]]></PyFunc>
+     <PyFunc><![CDATA[        print "Null scalar map is created"                               ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 5"           ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap)                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.FitAll()                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.Update()                              ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 6"                         ]]></PyFunc>
+     <PyFunc><![CDATA[    theResult=aResult                           ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)                   ]]></PyFunc>
+     <PyFunc><![CDATA[    return theResult                    ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>19/1/2004 - 15:33:34</creation-date>
+   <lastmodification-date>19/1/2004 - 15:33:34</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>374</x-position>
+   <y-position>16</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>myResult</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>351</x>
+     <y>96</y>    </coord>
+    <coord>
+<x>350</x>
+     <y>38</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aResult</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>DisplayVitesse</fromnode-name>
+   <fromserviceparameter-name>theResult</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>548</x>
+     <y>183</y>    </coord>
+    <coord>
+<x>548</x>
+     <y>97</y>    </coord>   </coord-list>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>100</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
diff --git a/examples/testvisu20_multi.py b/examples/testvisu20_multi.py
new file mode 100644 (file)
index 0000000..581ab0c
--- /dev/null
@@ -0,0 +1,305 @@
+
+# Generated python file of Graph aNewDataFlow
+
+from SuperV import *
+# Graph creation 
+aNewDataFlow = Graph( 'aNewDataFlow' )
+aNewDataFlow.SetName( 'aNewDataFlow' )
+aNewDataFlow.SetAuthor( '' )
+aNewDataFlow.SetComment( '' )
+aNewDataFlow.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+# Creation of InLine Nodes
+PyInitDisplay = []
+PyInitDisplay.append( 'import os          ' )
+PyInitDisplay.append( 'import time          ' )
+PyInitDisplay.append( 'from LifeCycleCORBA import *       ' )
+PyInitDisplay.append( 'from SALOME_NamingServicePy import *       ' )
+PyInitDisplay.append( 'import SALOMEDS       ' )
+PyInitDisplay.append( 'from VISU import *       ' )
+PyInitDisplay.append( 'def InitDisplay():          ' )
+PyInitDisplay.append( '    #  --- initialize the ORB         ' )
+PyInitDisplay.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID)       ' )
+PyInitDisplay.append( '    # --- create a LifeCycleCORBA instance            ' )
+PyInitDisplay.append( '    lcc = LifeCycleCORBA(orb)                      ' )
+PyInitDisplay.append( '    # --- create a naming service instance               ' )
+PyInitDisplay.append( '    naming_service = SALOME_NamingServicePy_i(orb)     ' )
+PyInitDisplay.append( '    # --- get Study Manager reference                      ' )
+PyInitDisplay.append( '    obj = naming_service.Resolve('myStudyManager')     ' )
+PyInitDisplay.append( '    StudyManager = obj._narrow(SALOMEDS.StudyManager)     ' )
+PyInitDisplay.append( '    # --- load visu component                           ' )
+PyInitDisplay.append( '    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")        ' )
+PyInitDisplay.append( '    aStudy = StudyManager.GetStudyByID(1)       ' )
+PyInitDisplay.append( '    aVisu.SetCurrentStudy(aStudy)       ' )
+PyInitDisplay.append( '    print "InitDisplay --> aVisu ", aVisu          ' )
+PyInitDisplay.append( '    time.sleep(2)          ' )
+PyInitDisplay.append( '    #aViewManager=aVisu.GetViewManager()          ' )
+PyInitDisplay.append( '    #print "InitDisplay --> aViewManager ", aViewManager          ' )
+PyInitDisplay.append( '    #time.sleep(2)          ' )
+PyInitDisplay.append( '    #aView=aViewManager.GetCurrentView()          ' )
+PyInitDisplay.append( '    #aView=aViewManager.Create3DView()          ' )
+PyInitDisplay.append( '    #print "InitDisplay --> aView ", aView          ' )
+PyInitDisplay.append( '    #time.sleep(2)          ' )
+PyInitDisplay.append( '    medFile = "TimeStamps.med"        ' )
+PyInitDisplay.append( '    medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile        ' )
+PyInitDisplay.append( '    myResult = aVisu.ImportFile(medFile)        ' )
+PyInitDisplay.append( '    print "InitDisplay --> myResult ", myResult          ' )
+PyInitDisplay.append( '    return aVisu,myResult        ' )
+PyInitDisplay.append( '' )
+InitDisplay = aNewDataFlow.INode( 'InitDisplay' , PyInitDisplay )
+InitDisplay.SetName( 'InitDisplay' )
+InitDisplay.SetAuthor( '' )
+InitDisplay.SetComment( 'Compute Node' )
+InitDisplay.Coords( 13 , 173 )
+InitDisplay.OutPort( 'aVisu' , 'objref' )
+InitDisplay.OutPort( 'myResult' , 'objref' )
+
+PyDisplayVitesse = []
+PyDisplayVitesse.append( 'import VISU                               ' )
+PyDisplayVitesse.append( 'import os                               ' )
+PyDisplayVitesse.append( 'import time                               ' )
+PyDisplayVitesse.append( 'def DisplayVitesse(index,aVisu,aView,aResult,x1):                          ' )
+PyDisplayVitesse.append( '    print "----- Display 1 index = ", index,aVisu,aView,aResult,x1                    ' )
+PyDisplayVitesse.append( '    aMeshName ="dom"                               ' )
+PyDisplayVitesse.append( '    myFieldName = "vitesse"                     ' )
+PyDisplayVitesse.append( '    anEntity = VISU.NODE                               ' )
+PyDisplayVitesse.append( '    aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity)     ' )
+PyDisplayVitesse.append( '    print "----- Display 2 ", aMesh                 ' )
+PyDisplayVitesse.append( '    aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1)  ' )
+PyDisplayVitesse.append( '    print "----- Display 4"                         ' )
+PyDisplayVitesse.append( '    if aScalarMap is not None:                               ' )
+PyDisplayVitesse.append( '        aScalarMap.SetScaling(VISU.LINEAR)                               ' )
+PyDisplayVitesse.append( '    else:                               ' )
+PyDisplayVitesse.append( '        print "Null scalar map is created"                               ' )
+PyDisplayVitesse.append( '    print "----- Display 5"           ' )
+PyDisplayVitesse.append( '    aView.DisplayOnly(aScalarMap)                               ' )
+PyDisplayVitesse.append( '    aView.FitAll()                               ' )
+PyDisplayVitesse.append( '    aView.Update()                              ' )
+PyDisplayVitesse.append( '    print "----- Display 6"                         ' )
+PyDisplayVitesse.append( '    theResult=aResult                           ' )
+PyDisplayVitesse.append( '    #time.sleep(2)                   ' )
+PyDisplayVitesse.append( '    return theResult                    ' )
+PyDisplayVitesse.append( '' )
+DisplayVitesse = aNewDataFlow.INode( 'DisplayVitesse' , PyDisplayVitesse )
+DisplayVitesse.SetName( 'DisplayVitesse' )
+DisplayVitesse.SetAuthor( '' )
+DisplayVitesse.SetComment( 'Compute Node' )
+DisplayVitesse.Coords( 609 , 506 )
+DisplayVitesse.InPort( 'index' , 'string' )
+DisplayVitesse.InPort( 'aVisu' , 'objref' )
+DisplayVitesse.InPort( 'aView' , 'objref' )
+DisplayVitesse.InPort( 'aResult' , 'objref' )
+DisplayVitesse.InPort( 'x1' , 'double' )
+DisplayVitesse.OutPort( 'theResult' , 'objref' )
+
+PyCreateView = []
+PyCreateView.append( 'def CreateView(aVisu,aResult) :     ' )
+PyCreateView.append( '   vm=aVisu.GetViewManager()        ' )
+PyCreateView.append( '   aView=vm.Create3DView()   ' )
+PyCreateView.append( '   theVisu=aVisu  ' )
+PyCreateView.append( '   theResult=aResult       ' )
+PyCreateView.append( '   return aView,theVisu,theResult      ' )
+CreateView = aNewDataFlow.INode( 'CreateView' , PyCreateView )
+CreateView.SetName( 'CreateView' )
+CreateView.SetAuthor( '' )
+CreateView.SetComment( 'Compute Node' )
+CreateView.Coords( 221 , 563 )
+CreateView.InPort( 'aVisu' , 'objref' )
+CreateView.InPort( 'aResult' , 'objref' )
+CreateView.OutPort( 'aView' , 'objref' )
+CreateView.OutPort( 'theVisu' , 'objref' )
+CreateView.OutPort( 'theResult' , 'objref' )
+
+# Creation of Loop Nodes
+PyInit = []
+PyInit.append( 'def Init(index,min,max,aVisu,aView,myResult,x1):   ' )
+PyInit.append( '    if max >= min :   ' )
+PyInit.append( '        index = min      ' )
+PyInit.append( '    else :     ' )
+PyInit.append( '        index = max  ' )
+PyInit.append( '    print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ' )
+PyInit.append( '    return index,min,max,aVisu,aView,myResult,x1  ' )
+PyMoreInit = []
+PyMoreInit.append( 'def More(index,min,max,aVisu,aView,myResult,x1):   ' )
+PyMoreInit.append( '    if max >= index :       ' )
+PyMoreInit.append( '        DoLoop = 1       ' )
+PyMoreInit.append( '    else :       ' )
+PyMoreInit.append( '        DoLoop = 0       ' )
+PyMoreInit.append( '    print "---- More",index,min,max,aVisu,aView,myResult,x1 ' )
+PyMoreInit.append( '    return DoLoop,index,min,max,aVisu,aView,myResult,x1   ' )
+PyNextInit = []
+PyNextInit.append( 'def Next(index,min,max,aVisu,aView,myResult,x1):   ' )
+PyNextInit.append( '    index = index + 1 ' )
+PyNextInit.append( '    x1=x1+1.0 ' )
+PyNextInit.append( '    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ' )
+PyNextInit.append( '    return index,min,max,aVisu,aView,myResult,x1   ' )
+Init,EndOfInit = aNewDataFlow.LNode( 'Init' , PyInit , 'More' , PyMoreInit , 'Next' , PyNextInit )
+EndOfInit.SetName( 'EndOfInit' )
+EndOfInit.SetAuthor( '' )
+EndOfInit.SetComment( '' )
+EndOfInit.Coords( 797 , 507 )
+PyEndOfInit = []
+EndOfInit.SetPyFunction( 'EndInit' , PyEndOfInit )
+Init.SetName( 'Init' )
+Init.SetAuthor( '' )
+Init.SetComment( '' )
+Init.Coords( 428 , 493 )
+Init.InPort( 'index' , 'long' )
+Init.InPort( 'min' , 'long' )
+Init.InPort( 'max' , 'long' )
+Init.InPort( 'aVisu' , 'objref' )
+Init.InPort( 'aView' , 'objref' )
+Init.InPort( 'aResult' , 'objref' )
+Init.InPort( 'x1' , 'double' )
+Init.OutPort( 'index' , 'long' )
+Init.OutPort( 'min' , 'long' )
+Init.OutPort( 'max' , 'long' )
+Init.OutPort( 'aVisu' , 'objref' )
+Init.OutPort( 'aView' , 'objref' )
+Init.OutPort( 'aResult' , 'objref' )
+Init.OutPort( 'x1' , 'double' )
+
+PyLoopOnViews = []
+PyLoopOnViews.append( 'def InitViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):    ' )
+PyLoopOnViews.append( '   ViewCount=MinCount   ' )
+PyLoopOnViews.append( '   return aVisu,aResult,ViewCount,MinCount,MaxCount      ' )
+PyMoreLoopOnViews = []
+PyMoreLoopOnViews.append( 'def MoreViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):      ' )
+PyMoreLoopOnViews.append( '   if ViewCount < MaxCount:     ' )
+PyMoreLoopOnViews.append( '      return 1,aVisu,aResult,ViewCount,MinCount,MaxCount     ' )
+PyMoreLoopOnViews.append( '   return 0,aVisu,aResult,ViewCount,MinCount,MaxCount     ' )
+PyNextLoopOnViews = []
+PyNextLoopOnViews.append( 'def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):     ' )
+PyNextLoopOnViews.append( '   ViewCount = ViewCount + 1     ' )
+PyNextLoopOnViews.append( '   return aVisu,aResult,ViewCount,MinCount,MaxCount     ' )
+LoopOnViews,EndOfLoopOnViews = aNewDataFlow.LNode( 'InitViews' , PyLoopOnViews , 'MoreViews' , PyMoreLoopOnViews , 'NextViews' , PyNextLoopOnViews )
+EndOfLoopOnViews.SetName( 'EndOfLoopOnViews' )
+EndOfLoopOnViews.SetAuthor( '' )
+EndOfLoopOnViews.SetComment( '' )
+EndOfLoopOnViews.Coords( 773 , 224 )
+PyEndOfLoopOnViews = []
+EndOfLoopOnViews.SetPyFunction( 'EndInitViews' , PyEndOfLoopOnViews )
+LoopOnViews.SetName( 'LoopOnViews' )
+LoopOnViews.SetAuthor( '' )
+LoopOnViews.SetComment( '' )
+LoopOnViews.Coords( 219 , 218 )
+LoopOnViews.InPort( 'aVisu' , 'objref' )
+LoopOnViews.InPort( 'aResult' , 'objref' )
+LoopOnViews.InPort( 'ViewCount' , 'int' )
+LoopOnViews.InPort( 'MinCount' , 'int' )
+LoopOnViews.InPort( 'MaxCount' , 'int' )
+LoopOnViews.OutPort( 'aVisu' , 'objref' )
+LoopOnViews.OutPort( 'aResult' , 'objref' )
+LoopOnViews.OutPort( 'ViewCount' , 'int' )
+LoopOnViews.OutPort( 'MinCount' , 'int' )
+LoopOnViews.OutPort( 'MaxCount' , 'int' )
+
+# Creation of Links
+InitDisplayaVisu = InitDisplay.Port( 'aVisu' )
+LoopOnViewsInGate = aNewDataFlow.Link( InitDisplayaVisu , LoopOnViews.Port( 'InGate' ) )
+
+LoopOnViewsaVisu = aNewDataFlow.Link( InitDisplayaVisu , LoopOnViews.Port( 'aVisu' ) )
+
+InitDisplaymyResult = InitDisplay.Port( 'myResult' )
+LoopOnViewsaResult = aNewDataFlow.Link( InitDisplaymyResult , LoopOnViews.Port( 'aResult' ) )
+
+Initindex = Init.Port( 'index' )
+EndOfInitindex = aNewDataFlow.Link( Initindex , EndOfInit.Port( 'index' ) )
+
+DisplayVitesseindex = aNewDataFlow.Link( Initindex , DisplayVitesse.Port( 'index' ) )
+DisplayVitesseindex.AddCoord( 1 , 590 , 587 )
+DisplayVitesseindex.AddCoord( 2 , 591 , 527 )
+
+Initmin = Init.Port( 'min' )
+EndOfInitmin = aNewDataFlow.Link( Initmin , EndOfInit.Port( 'min' ) )
+
+Initmax = Init.Port( 'max' )
+EndOfInitmax = aNewDataFlow.Link( Initmax , EndOfInit.Port( 'max' ) )
+
+InitaVisu = Init.Port( 'aVisu' )
+EndOfInitaVisu = aNewDataFlow.Link( InitaVisu , EndOfInit.Port( 'aVisu' ) )
+
+DisplayVitesseaVisu = aNewDataFlow.Link( InitaVisu , DisplayVitesse.Port( 'aVisu' ) )
+
+InitaView = Init.Port( 'aView' )
+EndOfInitaView = aNewDataFlow.Link( InitaView , EndOfInit.Port( 'aView' ) )
+
+DisplayVitesseaView = aNewDataFlow.Link( InitaView , DisplayVitesse.Port( 'aView' ) )
+
+InitaResult = Init.Port( 'aResult' )
+DisplayVitesseaResult = aNewDataFlow.Link( InitaResult , DisplayVitesse.Port( 'aResult' ) )
+
+Initx1 = Init.Port( 'x1' )
+EndOfInitx1 = aNewDataFlow.Link( Initx1 , EndOfInit.Port( 'x1' ) )
+
+DisplayVitessex1 = aNewDataFlow.Link( Initx1 , DisplayVitesse.Port( 'x1' ) )
+
+EndOfInitaResult = EndOfInit.Port( 'aResult' )
+EndOfLoopOnViewsaResult = aNewDataFlow.Link( EndOfInitaResult , EndOfLoopOnViews.Port( 'aResult' ) )
+EndOfLoopOnViewsaResult.AddCoord( 1 , 762 , 288 )
+EndOfLoopOnViewsaResult.AddCoord( 2 , 763 , 424 )
+EndOfLoopOnViewsaResult.AddCoord( 3 , 972 , 425 )
+EndOfLoopOnViewsaResult.AddCoord( 4 , 971 , 687 )
+
+DisplayVitessetheResult = DisplayVitesse.Port( 'theResult' )
+EndOfInitaResult = aNewDataFlow.Link( DisplayVitessetheResult , EndOfInit.Port( 'aResult' ) )
+EndOfInitaResult.AddCoord( 1 , 787 , 687 )
+EndOfInitaResult.AddCoord( 2 , 786 , 585 )
+
+LoopOnViewsaVisu = LoopOnViews.Port( 'aVisu' )
+EndOfLoopOnViewsaVisu = aNewDataFlow.Link( LoopOnViewsaVisu , EndOfLoopOnViews.Port( 'aVisu' ) )
+
+CreateViewaVisu = aNewDataFlow.Link( LoopOnViewsaVisu , CreateView.Port( 'aVisu' ) )
+CreateViewaVisu.AddCoord( 1 , 186 , 643 )
+CreateViewaVisu.AddCoord( 2 , 186 , 442 )
+CreateViewaVisu.AddCoord( 3 , 400 , 441 )
+CreateViewaVisu.AddCoord( 4 , 401 , 251 )
+
+LoopOnViewsaResult = LoopOnViews.Port( 'aResult' )
+CreateViewaResult = aNewDataFlow.Link( LoopOnViewsaResult , CreateView.Port( 'aResult' ) )
+CreateViewaResult.AddCoord( 1 , 169 , 671 )
+CreateViewaResult.AddCoord( 2 , 170 , 412 )
+CreateViewaResult.AddCoord( 3 , 386 , 413 )
+CreateViewaResult.AddCoord( 4 , 387 , 280 )
+
+LoopOnViewsViewCount = LoopOnViews.Port( 'ViewCount' )
+EndOfLoopOnViewsViewCount = aNewDataFlow.Link( LoopOnViewsViewCount , EndOfLoopOnViews.Port( 'ViewCount' ) )
+
+LoopOnViewsMinCount = LoopOnViews.Port( 'MinCount' )
+EndOfLoopOnViewsMinCount = aNewDataFlow.Link( LoopOnViewsMinCount , EndOfLoopOnViews.Port( 'MinCount' ) )
+
+LoopOnViewsMaxCount = LoopOnViews.Port( 'MaxCount' )
+EndOfLoopOnViewsMaxCount = aNewDataFlow.Link( LoopOnViewsMaxCount , EndOfLoopOnViews.Port( 'MaxCount' ) )
+
+CreateViewaView = CreateView.Port( 'aView' )
+InitaView = aNewDataFlow.Link( CreateViewaView , Init.Port( 'aView' ) )
+
+CreateViewtheVisu = CreateView.Port( 'theVisu' )
+InitaVisu = aNewDataFlow.Link( CreateViewtheVisu , Init.Port( 'aVisu' ) )
+
+CreateViewtheResult = CreateView.Port( 'theResult' )
+InitaResult = aNewDataFlow.Link( CreateViewtheResult , Init.Port( 'aResult' ) )
+
+# Creation of Input datas
+Initindex = Init.Input( 'index' , 1)
+Initmin = Init.Input( 'min' , 1)
+Initmax = Init.Input( 'max' , 10)
+Initx1 = Init.Input( 'x1' , 1)
+LoopOnViewsViewCount = LoopOnViews.Input( 'ViewCount' , 0)
+LoopOnViewsMinCount = LoopOnViews.Input( 'MinCount' , 0)
+LoopOnViewsMaxCount = LoopOnViews.Input( 'MaxCount' , 10)
+
+# Creation of Output variables
+EndOfInitindex = EndOfInit.Port( 'index' )
+EndOfInitmin = EndOfInit.Port( 'min' )
+EndOfInitmax = EndOfInit.Port( 'max' )
+EndOfInitaVisu = EndOfInit.Port( 'aVisu' )
+EndOfInitaView = EndOfInit.Port( 'aView' )
+EndOfInitx1 = EndOfInit.Port( 'x1' )
+EndOfLoopOnViewsaVisu = EndOfLoopOnViews.Port( 'aVisu' )
+EndOfLoopOnViewsaResult = EndOfLoopOnViews.Port( 'aResult' )
+EndOfLoopOnViewsViewCount = EndOfLoopOnViews.Port( 'ViewCount' )
+EndOfLoopOnViewsMinCount = EndOfLoopOnViews.Port( 'MinCount' )
+EndOfLoopOnViewsMaxCount = EndOfLoopOnViews.Port( 'MaxCount' )
diff --git a/examples/testvisu20_multi.xml b/examples/testvisu20_multi.xml
new file mode 100644 (file)
index 0000000..346e044
--- /dev/null
@@ -0,0 +1,807 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>aNewDataFlow</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>aNewDataFlow</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Init\max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Init\x1</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>LoopOnViews\ViewCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>LoopOnViews\MinCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>LoopOnViews\MaxCount</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>EndOfInit\max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfInit\aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfInit\aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>EndOfInit\x1</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfLoopOnViews\aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>EndOfLoopOnViews\aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>EndOfLoopOnViews\ViewCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>EndOfLoopOnViews\MinCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>EndOfLoopOnViews\MaxCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list/>
+   <creation-date>13/11/2003 - 11:15:53</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>0</x-position>
+   <y-position>0</y-position>  </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>InitDisplay</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>InitDisplay</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>myResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitDisplay</FuncName>
+     <PyFunc><![CDATA[import os          ]]></PyFunc>
+     <PyFunc><![CDATA[import time          ]]></PyFunc>
+     <PyFunc><![CDATA[from LifeCycleCORBA import *       ]]></PyFunc>
+     <PyFunc><![CDATA[from SALOME_NamingServicePy import *       ]]></PyFunc>
+     <PyFunc><![CDATA[import SALOMEDS       ]]></PyFunc>
+     <PyFunc><![CDATA[from VISU import *       ]]></PyFunc>
+     <PyFunc><![CDATA[def InitDisplay():          ]]></PyFunc>
+     <PyFunc><![CDATA[    #  --- initialize the ORB         ]]></PyFunc>
+     <PyFunc><![CDATA[    orb = CORBA.ORB_init([], CORBA.ORB_ID)       ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- create a LifeCycleCORBA instance            ]]></PyFunc>
+     <PyFunc><![CDATA[    lcc = LifeCycleCORBA(orb)                      ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- create a naming service instance               ]]></PyFunc>
+     <PyFunc><![CDATA[    naming_service = SALOME_NamingServicePy_i(orb)     ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- get Study Manager reference                      ]]></PyFunc>
+     <PyFunc><![CDATA[    obj = naming_service.Resolve('myStudyManager')     ]]></PyFunc>
+     <PyFunc><![CDATA[    StudyManager = obj._narrow(SALOMEDS.StudyManager)     ]]></PyFunc>
+     <PyFunc><![CDATA[    # --- load visu component                           ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu = lcc.FindOrLoadComponent("FactoryServer","VISU")        ]]></PyFunc>
+     <PyFunc><![CDATA[    aStudy = StudyManager.GetStudyByID(1)       ]]></PyFunc>
+     <PyFunc><![CDATA[    aVisu.SetCurrentStudy(aStudy)       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> aVisu ", aVisu          ]]></PyFunc>
+     <PyFunc><![CDATA[    time.sleep(2)          ]]></PyFunc>
+     <PyFunc><![CDATA[    #aViewManager=aVisu.GetViewManager()          ]]></PyFunc>
+     <PyFunc><![CDATA[    #print "InitDisplay --> aViewManager ", aViewManager          ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)          ]]></PyFunc>
+     <PyFunc><![CDATA[    #aView=aViewManager.GetCurrentView()          ]]></PyFunc>
+     <PyFunc><![CDATA[    #aView=aViewManager.Create3DView()          ]]></PyFunc>
+     <PyFunc><![CDATA[    #print "InitDisplay --> aView ", aView          ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)          ]]></PyFunc>
+     <PyFunc><![CDATA[    medFile = "TimeStamps.med"        ]]></PyFunc>
+     <PyFunc><![CDATA[    medFile = os.getenv('KERNEL_ROOT_DIR') + '/examples/' + medFile        ]]></PyFunc>
+     <PyFunc><![CDATA[    myResult = aVisu.ImportFile(medFile)        ]]></PyFunc>
+     <PyFunc><![CDATA[    print "InitDisplay --> myResult ", myResult          ]]></PyFunc>
+     <PyFunc><![CDATA[    return aVisu,myResult        ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>13</x-position>
+   <y-position>173</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>Init</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfInit</coupled-node>
+   <service>
+<service-name>Init</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>Init</FuncName>
+     <PyFunc><![CDATA[def Init(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= min :   ]]></PyFunc>
+     <PyFunc><![CDATA[        index = min      ]]></PyFunc>
+     <PyFunc><![CDATA[    else :     ]]></PyFunc>
+     <PyFunc><![CDATA[        index = max  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- Init ",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1  ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>More</FuncName>
+     <PyFunc><![CDATA[def More(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    if max >= index :       ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 1       ]]></PyFunc>
+     <PyFunc><![CDATA[    else :       ]]></PyFunc>
+     <PyFunc><![CDATA[        DoLoop = 0       ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- More",index,min,max,aVisu,aView,myResult,x1 ]]></PyFunc>
+     <PyFunc><![CDATA[    return DoLoop,index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>Next</FuncName>
+     <PyFunc><![CDATA[def Next(index,min,max,aVisu,aView,myResult,x1):   ]]></PyFunc>
+     <PyFunc><![CDATA[    index = index + 1 ]]></PyFunc>
+     <PyFunc><![CDATA[    x1=x1+1.0 ]]></PyFunc>
+     <PyFunc><![CDATA[    print "---- Next",index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>
+     <PyFunc><![CDATA[    return index,min,max,aVisu,aView,myResult,x1   ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>428</x-position>
+   <y-position>493</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfInit</node-name>
+   <kind>5</kind>
+   <coupled-node>Init</coupled-node>
+   <service>
+<service-name>EndOfInit</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>min</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>max</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>index</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>min</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>max</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>x1</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>?</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>797</x-position>
+   <y-position>507</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>DisplayVitesse</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>DisplayVitesse</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>string</inParameter-type>
+      <inParameter-name>index</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aView</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x1</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>theResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>DisplayVitesse</FuncName>
+     <PyFunc><![CDATA[import VISU                               ]]></PyFunc>
+     <PyFunc><![CDATA[import os                               ]]></PyFunc>
+     <PyFunc><![CDATA[import time                               ]]></PyFunc>
+     <PyFunc><![CDATA[def DisplayVitesse(index,aVisu,aView,aResult,x1):                          ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 1 index = ", index,aVisu,aView,aResult,x1                    ]]></PyFunc>
+     <PyFunc><![CDATA[    aMeshName ="dom"                               ]]></PyFunc>
+     <PyFunc><![CDATA[    myFieldName = "vitesse"                     ]]></PyFunc>
+     <PyFunc><![CDATA[    anEntity = VISU.NODE                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aMesh = aVisu.MeshOnEntity(aResult, aMeshName, anEntity)     ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 2 ", aMesh                 ]]></PyFunc>
+     <PyFunc><![CDATA[    aScalarMap=aVisu.ScalarMapOnField(aResult,aMeshName,anEntity,myFieldName,x1)  ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 4"                         ]]></PyFunc>
+     <PyFunc><![CDATA[    if aScalarMap is not None:                               ]]></PyFunc>
+     <PyFunc><![CDATA[        aScalarMap.SetScaling(VISU.LINEAR)                               ]]></PyFunc>
+     <PyFunc><![CDATA[    else:                               ]]></PyFunc>
+     <PyFunc><![CDATA[        print "Null scalar map is created"                               ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 5"           ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.DisplayOnly(aScalarMap)                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.FitAll()                               ]]></PyFunc>
+     <PyFunc><![CDATA[    aView.Update()                              ]]></PyFunc>
+     <PyFunc><![CDATA[    print "----- Display 6"                         ]]></PyFunc>
+     <PyFunc><![CDATA[    theResult=aResult                           ]]></PyFunc>
+     <PyFunc><![CDATA[    #time.sleep(2)                   ]]></PyFunc>
+     <PyFunc><![CDATA[    return theResult                    ]]></PyFunc>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>609</x-position>
+   <y-position>506</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>LoopOnViews</node-name>
+   <kind>4</kind>
+   <coupled-node>EndOfLoopOnViews</coupled-node>
+   <service>
+<service-name>LoopOnViews</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>ViewCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>MinCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>MaxCount</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>ViewCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>MinCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>MaxCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>InitViews</FuncName>
+     <PyFunc><![CDATA[def InitViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):    ]]></PyFunc>
+     <PyFunc><![CDATA[   ViewCount=MinCount   ]]></PyFunc>
+     <PyFunc><![CDATA[   return aVisu,aResult,ViewCount,MinCount,MaxCount      ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>MoreViews</FuncName>
+     <PyFunc><![CDATA[def MoreViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):      ]]></PyFunc>
+     <PyFunc><![CDATA[   if ViewCount < MaxCount:     ]]></PyFunc>
+     <PyFunc><![CDATA[      return 1,aVisu,aResult,ViewCount,MinCount,MaxCount     ]]></PyFunc>
+     <PyFunc><![CDATA[   return 0,aVisu,aResult,ViewCount,MinCount,MaxCount     ]]></PyFunc>    </PyFunction>
+    <PyFunction>
+<FuncName>NextViews</FuncName>
+     <PyFunc><![CDATA[def NextViews( aVisu,aResult,ViewCount,MinCount,MaxCount ):     ]]></PyFunc>
+     <PyFunc><![CDATA[   ViewCount = ViewCount + 1     ]]></PyFunc>
+     <PyFunc><![CDATA[   return aVisu,aResult,ViewCount,MinCount,MaxCount     ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>219</x-position>
+   <y-position>218</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>EndOfLoopOnViews</node-name>
+   <kind>5</kind>
+   <coupled-node>LoopOnViews</coupled-node>
+   <service>
+<service-name>EndOfLoopOnViews</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>ViewCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>MinCount</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>int</inParameter-type>
+      <inParameter-name>MaxCount</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aResult</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>ViewCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>MinCount</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>int</outParameter-type>
+      <outParameter-name>MaxCount</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoop</FuncName>
+     <PyFunc><![CDATA[?]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>773</x-position>
+   <y-position>224</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>CreateView</node-name>
+   <kind>3</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>CreateView</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aVisu</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>aResult</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>aView</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>theVisu</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>objref</outParameter-type>
+      <outParameter-name>theResult</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <Parameter-list/>
+   <PyFunction-list>
+<PyFunction>
+<FuncName>CreateView</FuncName>
+     <PyFunc><![CDATA[def CreateView(aVisu,aResult) :     ]]></PyFunc>
+     <PyFunc><![CDATA[   vm=aVisu.GetViewManager()        ]]></PyFunc>
+     <PyFunc><![CDATA[   aView=vm.Create3DView()   ]]></PyFunc>
+     <PyFunc><![CDATA[   theVisu=aVisu  ]]></PyFunc>
+     <PyFunc><![CDATA[   theResult=aResult       ]]></PyFunc>
+     <PyFunc><![CDATA[   return aView,theVisu,theResult      ]]></PyFunc>    </PyFunction>   </PyFunction-list>
+   <creation-date>6/5/2004 - 12:59:28</creation-date>
+   <lastmodification-date>6/5/2004 - 12:59:28</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>221</x-position>
+   <y-position>563</y-position>  </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>InGate</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>InitDisplay</fromnode-name>
+   <fromserviceparameter-name>myResult</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>index</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>590</x>
+     <y>587</y>    </coord>
+    <coord>
+<x>591</x>
+     <y>527</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>min</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>max</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>aResult</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>Init</fromnode-name>
+   <fromserviceparameter-name>x1</fromserviceparameter-name>
+   <tonode-name>DisplayVitesse</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInit</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfInit</fromnode-name>
+   <fromserviceparameter-name>aResult</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>762</x>
+     <y>288</y>    </coord>
+    <coord>
+<x>763</x>
+     <y>424</y>    </coord>
+    <coord>
+<x>972</x>
+     <y>425</y>    </coord>
+    <coord>
+<x>971</x>
+     <y>687</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>DisplayVitesse</fromnode-name>
+   <fromserviceparameter-name>theResult</fromserviceparameter-name>
+   <tonode-name>EndOfInit</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>787</x>
+     <y>687</y>    </coord>
+    <coord>
+<x>786</x>
+     <y>585</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>DoLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>aVisu</fromserviceparameter-name>
+   <tonode-name>CreateView</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>186</x>
+     <y>643</y>    </coord>
+    <coord>
+<x>186</x>
+     <y>442</y>    </coord>
+    <coord>
+<x>400</x>
+     <y>441</y>    </coord>
+    <coord>
+<x>401</x>
+     <y>251</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>aResult</fromserviceparameter-name>
+   <tonode-name>CreateView</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list>
+<coord>
+<x>169</x>
+     <y>671</y>    </coord>
+    <coord>
+<x>170</x>
+     <y>412</y>    </coord>
+    <coord>
+<x>386</x>
+     <y>413</y>    </coord>
+    <coord>
+<x>387</x>
+     <y>280</y>    </coord>   </coord-list>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>ViewCount</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>ViewCount</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>MinCount</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>MinCount</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>LoopOnViews</fromnode-name>
+   <fromserviceparameter-name>MaxCount</fromserviceparameter-name>
+   <tonode-name>EndOfLoopOnViews</tonode-name>
+   <toserviceparameter-name>MaxCount</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>EndOfLoopOnViews</fromnode-name>
+   <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>InitLoop</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CreateView</fromnode-name>
+   <fromserviceparameter-name>aView</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aView</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CreateView</fromnode-name>
+   <fromserviceparameter-name>theVisu</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aVisu</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
+<fromnode-name>CreateView</fromnode-name>
+   <fromserviceparameter-name>theResult</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>aResult</toserviceparameter-name>
+   <coord-list/>  </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\index</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>index</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\min</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>min</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\max</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>max</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>Init\x1</fromserviceparameter-name>
+   <tonode-name>Init</tonode-name>
+   <toserviceparameter-name>x1</toserviceparameter-name>
+   <data-value>
+<value-type>7</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>LoopOnViews\ViewCount</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>ViewCount</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>LoopOnViews\MinCount</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>MinCount</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>0</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>aNewDataFlow</fromnode-name>
+   <fromserviceparameter-name>LoopOnViews\MaxCount</fromserviceparameter-name>
+   <tonode-name>LoopOnViews</tonode-name>
+   <toserviceparameter-name>MaxCount</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>10</value>   </data-value>
+   <coord-list/>  </data> </data-list></dataflow>
index bf0306b7681d552347470d2411fc9d3840a5b419..c831f208166b2e2a2ba1fd2ff90ebf6bf1dbf21f 100644 (file)
 # 
 #  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
 #
+
 #
 #
 #  File   : Makefile.in
 #  Module : idl
-
 top_srcdir=@top_srcdir@
 top_builddir=..
 srcdir=@srcdir@
-VPATH=.:$(srcdir):${KERNEL_ROOT_DIR}/idl/salome
+VPATH=.:${KERNEL_ROOT_DIR}/idl/salome
 
 @COMMENCE@
 
@@ -35,11 +35,14 @@ IDL_FILES = \
 PY_CLIENT_IDL = $(IDL_FILES)
 
 # we copy all idl file in $(top_builddir)/idl
-inc: $(IDL_FILES:%=$(top_builddir)/idl/%)
+inc: $(top_builddir)/idl/salome $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
+
+$(top_builddir)/idl/salome:
+       mkdir $@
 
-$(IDL_FILES:%=$(top_builddir)/idl/%):$(top_builddir)/idl/%:%
+$(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%)
 #      $(CP) $< $@
-       cp -f $< $@
+       cp -f $^ $(top_builddir)/idl/salome
 
 
 lib: pyidl
@@ -51,7 +54,7 @@ pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py)
 $(PYTHON_BUILD_SITE):
        $(INSTALL) -d  $@
 
-$(PYTHON_BUILD_SITE)/%_idl.py: %.idl
+$(PYTHON_BUILD_SITE)/%_idl.py: $(top_builddir)/idl/salome/%.idl
        $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $<
 
 
@@ -59,12 +62,12 @@ $(PYTHON_BUILD_SITE)/%_idl.py: %.idl
 install: install-pyidl install-idl
 
 # create directory $(idldir) and copy idl files into it
-install-idl: $(IDL_FILES)
+install-idl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
        $(INSTALL) -d  $(idldir)
        $(INSTALL_DATA) $^ $(idldir)
 
 
-install-pyidl: $(IDL_FILES)
+install-pyidl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
        $(INSTALL) -d  $(PYTHON_SITE_INSTALL)
        @for file in $^ dummy; do \
          if [ $$file != "dummy" ]; then \
@@ -79,6 +82,6 @@ cleandep:
 
 distclean:
        -$(RM) *.py
-       -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/%)
+       -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/salome/%)
        -$(RM) Makefile
 
index 18eae1ac2a737216ba90b64fe6c1b4786bd098b2..4d3f195dd846811ad9e32f1a6966f5c4ef2372f4 100644 (file)
@@ -44,14 +44,40 @@ implemented in different kinds of nodes of the graph.
 */
   enum KindOfPort { UndefinedParameter , ServiceParameter , GateParameter ,
                     InLineParameter , LoopParameter , SwitchParameter ,
-                    EndSwitchParameter , GOTOParameter } ;
+                    EndSwitchParameter , GOTOParameter , DataStreamParameter } ;
+
+/*!
+This enumeration contains a set of dependencies of InPorts and OutPorts.
+*/
+//  enum KindOfDependency { UndefinedDependency , TimeDependency , IterationDependency } ;
+
+/*!
+This enumeration contains a set of schemas of InPorts.
+*/
+  enum KindOfSchema { SCHENULL , TI , TF , DELTA } ;
+
+/*!
+This enumeration contains a set of interpolations of InPorts.
+*/
+  enum KindOfInterpolation { INTERNULL , L0 , L1 } ;
+
+/*!
+This enumeration contains a set of extrapolations of InPorts.
+*/
+  enum KindOfExtrapolation { EXTRANULL , E0 , E1 } ;
+
+/*!
+This enumeration contains a set of dependencies of Ports.
+*/
+  enum KindOfDataStreamTrace { WithoutTrace , SummaryTrace , DetailedTrace } ;
 
 /*!
 This enumeration contains a set of elements defining the type of the node.
 */
-  enum KindOfNode { FactoryNode , DataFlowNode , ComputingNode ,
+  enum KindOfNode { FactoryNode , DataFlowGraph , ComputingNode ,
                     InLineNode , LoopNode , EndLoopNode ,
-                    SwitchNode , EndSwitchNode , GOTONode , UnknownNode };
+                    SwitchNode , EndSwitchNode , GOTONode , DataStreamGraph ,
+                    UnknownNode };
 
 /*!
 This struct contains fields defining the date.
@@ -97,12 +123,16 @@ This enumeration contains a set of elements defining the current state of the no
   interface Value ;
 
   interface Link ;
+  interface StreamLink ;
 
   typedef sequence<Link> ListOfLinks ;
+  typedef sequence<StreamLink> ListOfStreamLinks ;
 
   interface Port ;
+  interface StreamPort ;
 
   typedef sequence<Port> ListOfPorts ;
+  typedef sequence<StreamPort> ListOfStreamPorts ;
 
   interface CNode ;
   interface FNode ;
@@ -112,6 +142,9 @@ This enumeration contains a set of elements defining the current state of the no
   interface ELNode ;
   interface SNode ;
   interface ESNode ;
+  interface StreamGraph ;
+  interface Graph ;
+
   typedef sequence<CNode>  ListOfCNodes ;
   typedef sequence<FNode>  ListOfFNodes ;
   typedef sequence<INode>  ListOfINodes ;
@@ -120,6 +153,8 @@ This enumeration contains a set of elements defining the current state of the no
   typedef sequence<ELNode> ListOfELNodes ;
   typedef sequence<SNode>  ListOfSNodes ;
   typedef sequence<ESNode> ListOfESNodes ;
+  typedef sequence<Graph> ListOfGraphs ;
+
 /*!
 This struct contains fields defining different types of nodes.
 */
@@ -133,12 +168,9 @@ This struct contains fields defining different types of nodes.
     ListOfELNodes ELNodes ;
     ListOfSNodes  SNodes ;
     ListOfESNodes ESNodes ;
+    ListOfGraphs  Graphs ;
   } ;
 
-  interface Graph ;
-
-  typedef sequence<Graph> ListOfGraphs ;
-
   // ToSuspendState : will be Suspended before running if waiting or
   //                  will be Suspended while running or
   //                  will be Suspended after run
@@ -222,6 +254,20 @@ This interface contains a set of methods necessary for management of a %graph.
 */
     SUPERV::Graph GraphE(in string aGraph ) ; // aGraphName or aGraphXmlFile
 
+/*!
+  Constructs a StreamGraph with possibility to read/edit it
+  \param aGraph  %aGraphName or %aGraphXmlFile
+*/
+    SUPERV::StreamGraph StreamGraph(in string aGraph ) ; // aGraphName or aGraphXmlFile
+
+/*!
+  Constructs a read Only StreamGraph ( for execution ).
+ \note <BR>In this graph there is also a possibility to update nodes, coordinates of the links,
+  of container names and input data.
+  \param aGraph  %aGraphName or %aGraphXmlFile
+*/
+    SUPERV::StreamGraph StreamGraphE(in string aGraph ) ; // aGraphName or aGraphXmlFile
+
 /*!
 Creates a value of <b>string</b> type which will be used for <VAR>Input</VAR> method in the interface %Node.
 \param aString Input value of string type.
@@ -238,6 +284,12 @@ Creates a value of <b>any</b> type which will be used for <VAR>Input</VAR> metho
 */
     SUPERV::Graph getGraph(in string ior); // get Graph from is IOR
 
+/*!
+ Gets a graph with a definite %IOR
+\param ior String parameter defining %IOR of the graph.
+*/
+    SUPERV::StreamGraph getStreamGraph(in string ior); // get Graph from is IOR
+
   };
 
 /*! \brief %CNode interface
@@ -310,38 +362,59 @@ Allows to update the comments about this node(graph).
     boolean SetComment(in string aComment ) ;
 
 /*!
- Gets a port of the node.
+ Gets a port of the node (for compatibility : see GetInPort - GetOutPort).
 */
     SUPERV::Port Port( in string aParameterName ) ;
 
+/*! Gets an Input port in a node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+*/
+    SUPERV::Port GetInPort( in string aParameterName ) ;
+
+/*! Gets an Output port in a node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+*/
+    SUPERV::Port GetOutPort( in string aParameterName ) ;
+
+/*! Gets an Input StreamPort in a node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+*/
+    SUPERV::StreamPort GetInStreamPort( in string aParameterName ) ;
+
+/*! Gets an Output StreamPort in a node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+*/
+    SUPERV::StreamPort GetOutStreamPort( in string aParameterName ) ;
+
 /*!
  Enters a value into an Input %Port
 */
     SUPERV::Port Input( in string InputParameterName ,
                         in Value aValue ) ;
 
-
-    // Create an Input %Port and an Output Port in LabelNode or ControlNode
-    //    boolean BusPort( in string InOutParameterName ,
-    //                     in string InOutParameterType ,
-    //                     out SUPERV::Port InputPort ,
-    //                     out SUPERV::Port OutputPort ) ;
-    //    boolean BusPorts( in string InputParameterName ,
-    //                      in string InputParameterType ,
-    //                      in string OutputParameterName ,
-    //                      in string OutputParameterType ,
-    //                      out SUPERV::Port InputPort ,
-    //                      out SUPERV::Port OutputPort ) ;
-
 /*!
   Gets a list of ports of the node(graph)
 */
     SUPERV::ListOfPorts Ports() ;
 
-/*! Gets a list of links of a port
+/*!
+  Gets a list of ports of the node(graph)
+*/
+    SUPERV::ListOfStreamPorts StreamPorts() ;
+
+/*! Gets a list of links of a node(graph)
 */
     SUPERV::ListOfLinks Links() ;
 
+/*! Gets a list of StreamLinks of a node(graph)
+*/
+    SUPERV::ListOfStreamLinks StreamLinks() ;
+
+/*!
+Returns True if this node is a graph.
+\note <BR>A node of the graph can also represent in its turn another graph.
+*/
+    boolean IsStreamGraph() ;
 /*!
 Returns True if this node is a graph.
 \note <BR>A node of the graph can also represent in its turn another graph.
@@ -381,9 +454,13 @@ Returns True if the node appears to be a %endswitch node.
     boolean IsEndSwitch() ;
 
 /*!
- Returns the number of  subgraphs.
+ Returns the numero of subgraph of a node.
 */
     long SubGraph() ;
+/*!
+ Returns the numero of substreamgraph of a node.
+*/
+    long SubStreamGraph() ;
 
 /*!
 Returns the number of threads of the graph.
@@ -581,20 +658,29 @@ executed for performing calculations, as well as input and output parameters for
 */
     string PyFuncName() ;
 
-/*! Creates an Input port in an Inline node.
-
+/*! Creates an Input port in a node.
 \param aParameterName This value sets the name of the parameter which will be defined in this port.
 \param aParameterType This value sets the type of the parameter which will be defined in this port.
 */
-
     SUPERV::Port InPort( in string aParameterName , in string aParameterType ) ;
 /*! Creates an Output port in an Inline node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+\param aParameterType This value sets the type of the parameter which will be defined in this port.
+*/
+    SUPERV::Port OutPort( in string aParameterName , in string aParameterType ) ;
 
+/*! Creates an Input DataStreamPort in an Inline node.
 \param aParameterName This value sets the name of the parameter which will be defined in this port.
 \param aParameterType This value sets the type of the parameter which will be defined in this port.
 */
+    SUPERV::StreamPort InStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
+
+/*! Creates an Output DataStreamPort in an Inline node.
+\param aParameterName This value sets the name of the parameter which will be defined in this port.
+\param aParameterType This value sets the type of the parameter which will be defined in this port.
+*/
+    SUPERV::StreamPort OutStreamPort( in string aParameterName , in SALOME_ModuleCatalog::DataStreamType aParameterType , in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
 
-    SUPERV::Port OutPort( in string aParameterName , in string aParameterType ) ;
   } ;
 /*! \brief %GNode class
 
@@ -803,10 +889,6 @@ method and its next usage.
 
 /*@}*/
 
-/*!
-Returns the number of independent subgraphs
-*/
-    long GraphsNumber() ;
 /*!
 Returns the number of currently running threads.
 */
@@ -824,11 +906,6 @@ Returns True if the graph can be executed.
 */
     boolean IsExecutable() ;
 /*!
-Returns True if the graph represents a working algorithm.
-*/
-    boolean IsDataFlow() ;
-
-/*!
 Returns True if the graph is being currently edited.
 */
     boolean IsEditing() ;
@@ -850,6 +927,10 @@ Allows to copy one graph into another.
 */
     SUPERV::Graph Copy() ;
 /*!
+Convert a FlowGraph to a StreamGraph.
+*/
+    SUPERV::StreamGraph ToStreamGraph() ;
+/*!
 Merges two graphs
 */
     boolean Merge( in Graph aGraph ) ;
@@ -867,10 +948,68 @@ Gets IOR of the garph.
     string getIOR();
 
 /*!
-Returns a list of graphs.
-\note  Not implemented
+Returns the number of independent subgraphs
+*/
+    long SubGraphsNumber() ;
+/*!
+Returns a list of Nodes of a SubGraph.
+*/
+    SUPERV::ListOfNodes SubGraphsNodes( in long SubGraphNumber ) ;
+
+  } ;
+
+
+
+
+
+/*! \brief Interface of a StreamGraph
+
+This interface includes a set of methods used for management of the graphs in %SUPERVISION module.
+*/
+
+  /////////////////////
+  interface StreamGraph : Graph {
+  /////////////////////
+
+/*!
+Allows to copy one graph into another.
+*/
+    SUPERV::StreamGraph StreamCopy() ;
+/*!
+ Creates a link  connecting two ports (%Output %Port and %Input %Port) of the nodes in a Graph
+*/
+    SUPERV::StreamLink StreamLink( in SUPERV::StreamPort OutputPort ,
+                                   in SUPERV::StreamPort InputPort ) ;
+
+/*!
+Returns a list of links of the graph.
+*/
+    SUPERV::ListOfStreamLinks GStreamLinks() ;
+    boolean SetStreamParams( in long Timeout ,
+                             in SUPERV::KindOfDataStreamTrace DataStreamTrace ,
+                             in double DeltaTime ) ;
+    void StreamParams( out long Timeout ,
+                       out SUPERV::KindOfDataStreamTrace DataStreamTrace ,
+                       out double DeltaTime ) ;
+
+/*!
+Returns the number of independent subStreamgraphs
+*/
+    long SubStreamGraphsNumber() ;
+/*!
+Returns a list of Nodes of a SubStreamGraph.
+*/
+    SUPERV::ListOfNodes SubStreamGraphsNodes( in long SubStreamGraphNumber ) ;
+
+/*!
+Convert a StreamGraph to a FlowGraph.
+*/
+    SUPERV::Graph ToFlowGraph() ;
+
+/*!
+Merge a StreamGraph.
 */
-    SUPERV::ListOfGraphs Graphs() ;
+    boolean StreamMerge( in StreamGraph aStreamGraph ) ;
 
   } ;
 
@@ -878,6 +1017,7 @@ Returns a list of graphs.
 
 
 
+
 /*! \brief Interface of the %link
 
 This interface contains a set of methods used for representation and management of the links
@@ -888,12 +1028,12 @@ connecting nodes in a %graph.
   interface Link : Engines::Component {
   //////////////
 /*!
-Associates an %Output %Port to the Link
+Returns the %Output %Port of the Link
 */
     SUPERV::Port OutPort() ;
 
 /*!
-Associates an %Input %Port to the Link
+Returns the %Input %Port of the Link
 */
     SUPERV::Port InPort() ;
 
@@ -944,6 +1084,37 @@ Sets the location of a coordinate point of the link.
 
   } ;
 
+
+
+
+
+
+/*! \brief Interface of the %link
+
+This interface contains a set of methods used for representation and management of the links
+connecting nodes in a %graph.
+*/
+
+  ////////////////////
+  interface StreamLink : Link {
+  ////////////////////
+/*!
+Returns the %Output %StreamPort of the StreamLink
+*/
+    SUPERV::StreamPort OutStreamPort() ;
+
+/*!
+Returns the %Input %StreamPort of the StreamLink
+*/
+    SUPERV::StreamPort InStreamPort() ;
+
+
+  } ;
+
+
+
+
+
 /*! \brief  %Value interface
 
 This interface contains a set of methods used for setting initial parameters of the ports
@@ -1067,14 +1238,47 @@ Returns True if the %Port appears to be an EndSwitch Node connected to several o
 */
     boolean IsEndSwitch() ;
 
-/*! Returns the current state of the graph.
+    boolean IsDataStream() ;
+
+/*! Returns the current state of the port.
 */
     SUPERV::GraphState State() ;
-/*! Returns True if calculation is finished.
+/*! Returns True if computation is finished.
 */
     boolean IsDone() ;
 
   } ;
 
+  ////////////////////
+  interface StreamPort : Port {
+  ////////////////////
+
+    // Link of a StreamPort
+/*!
+Returns the link of a %StreamPort
+*/
+    SUPERV::StreamLink StreamLink() ;
+
+/*! Returns the current Dependency of the DataStreamPort : TimeDependency or IterationDependency
+*/
+    SALOME_ModuleCatalog::DataStreamDependency Dependency() ;
+    boolean SetDependency( in SALOME_ModuleCatalog::DataStreamDependency aDependency ) ;
+
+/*! Sets or Returns the current kinds of Schema, Interpolation and Extrapolation of the InDataStreamPort
+*/
+    boolean SetParams( in KindOfSchema aKindOfSchema ,
+                       in KindOfInterpolation aKindOfInterpolation ,
+                       in KindOfExtrapolation aKindOfExtrapolation ) ;
+    boolean Params( out KindOfSchema aKindOfSchema ,
+                    out KindOfInterpolation aKindOfInterpolation ,
+                    out KindOfExtrapolation aKindOfExtrapolation ) ;
+
+/*! Sets or Returns the current number of values ("NIVEAU") of the OutDataStreamPort
+*/
+    boolean SetNumberOfValues( in long aNumberOfValues ) ;
+    long NumberOfValues() ;
+
+  } ;
+
 };
 #endif
diff --git a/resources/SUPERV.config b/resources/SUPERV.config
new file mode 100644 (file)
index 0000000..6925397
--- /dev/null
@@ -0,0 +1 @@
+language=en
\ No newline at end of file
index 054260523a30ea2cb0147d6cde9ca50478fe0d9b..c26850984744d7d86d9fca07d9d4f78d9a8c7906 100755 (executable)
@@ -34,7 +34,7 @@
                        </menu-item>
                </menubar>
 
-               <toolbar label-id="Supervision">
+               <toolbar label-id="Supervisor">
                        <toolbutton-item item-id="301" label-id="Import"         icon-id="import.gif"         tooltip-id="Import Dataflow"   accel-id="" toggle-id="" execute-action=""/>
                        <toolbutton-item item-id="302" label-id="Export"         icon-id="export.gif"         tooltip-id="Export Dataflow"   accel-id="" toggle-id="" execute-action=""/>
                        <toolbutton-item item-id="303" label-id="New"            icon-id="edit.png"           tooltip-id="New Dataflow"      accel-id="" toggle-id="" execute-action=""/>