]> SALOME platform Git repositories - modules/superv.git/commitdiff
Salome HOME
This commit was generated by cvs2git to create branch 'Event_Server'.
authoradmin <salome-admin@opencascade.com>
Mon, 5 Apr 2004 11:14:02 +0000 (11:14 +0000)
committeradmin <salome-admin@opencascade.com>
Mon, 5 Apr 2004 11:14:02 +0000 (11:14 +0000)
Sprout from V1_4_1a 2004-04-05 11:14:01 UTC smh <smh@opencascade.com> 'SALOME PAL V1_4_1'
Cherrypick from BRANCH_Superv_DataStream 2004-03-22 16:17:00 UTC rahuel <rahuel@opencascade.com> '*** empty log message ***':
    examples/GraphStream.py
    examples/GraphStream.xml
    examples/GraphStreams.py
    examples/GraphStreams.xml
    src/AddComponent/AddComponent_Impl.cxx
    src/DivComponent/DivComponent.cxx
Delete:
    src/MulComponent/MulComponent.cxx
    src/SubComponent/SubComponent.cxx
    src/SyrComponent/SyrComponent_Impl.cxx

examples/GraphStream.py [new file with mode: 0644]
examples/GraphStream.xml [new file with mode: 0644]
examples/GraphStreams.py [new file with mode: 0644]
examples/GraphStreams.xml [new file with mode: 0644]
src/DivComponent/DivComponent.cxx [new file with mode: 0644]
src/MulComponent/MulComponent.cxx [deleted file]
src/SubComponent/SubComponent.cxx [deleted file]
src/SyrComponent/SyrComponent_Impl.cxx [deleted file]

diff --git a/examples/GraphStream.py b/examples/GraphStream.py
new file mode 100644 (file)
index 0000000..4941141
--- /dev/null
@@ -0,0 +1,91 @@
+
+# Generated python file of Graph GraphStream
+
+from SuperV import *
+# Graph creation 
+GraphStream = Graph( 'GraphStream' )
+GraphStream.SetName( 'GraphStream' )
+GraphStream.SetAuthor( '' )
+GraphStream.SetComment( '' )
+GraphStream.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Add = GraphStream.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 15 , 241 )
+Add.InDataStreamPort( 'istream' , 'long' )
+Add.OutDataStreamPort( 'ostream' , 'long' )
+Add.OutDataStreamPort( 'Ostream' , 'long' )
+
+Sub = GraphStream.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 227 , 99 )
+Sub.InDataStreamPort( 'istream' , 'long' )
+Sub.InDataStreamPort( 'Istream' , 'long' )
+
+Mul = GraphStream.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 444 , 241 )
+
+Div = GraphStream.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 634 , 98 )
+Div.OutDataStreamPort( 'ostream' , 'long' )
+
+# Creation of Links
+Addz = Add.Port( 'z' )
+Suby = GraphStream.Link( Addz , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 189 , 207 )
+Suby.AddCoord( 2 , 189 , 350 )
+
+Muly = GraphStream.Link( Addz , Mul.Port( 'y' ) )
+
+Addostream = Add.Port( 'ostream' )
+Subistream = GraphStream.Link( Addostream , Sub.Port( 'istream' ) )
+Subistream.AddCoord( 1 , 201 , 237 )
+Subistream.AddCoord( 2 , 200 , 378 )
+
+AddOstream = Add.Port( 'Ostream' )
+SubIstream = GraphStream.Link( AddOstream , Sub.Port( 'Istream' ) )
+SubIstream.AddCoord( 1 , 212 , 267 )
+SubIstream.AddCoord( 2 , 211 , 409 )
+
+Subz = Sub.Port( 'z' )
+Mulx = GraphStream.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 420 , 322 )
+Mulx.AddCoord( 2 , 419 , 180 )
+
+Divx = GraphStream.Link( Subz , Div.Port( 'x' ) )
+
+Mulz = Mul.Port( 'z' )
+Divy = GraphStream.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 622 , 207 )
+Divy.AddCoord( 2 , 623 , 320 )
+
+# Creation of Input datas
+Addx = Add.Input( 'x' , 3)
+Addy = Add.Input( 'y' , 4.5)
+Subx = Sub.Input( 'x' , 1.5)
+Addistream = Add.Input( 'istream' , 1)
+
+# Creation of Output variables
+AddFuncValue = Add.Port( 'FuncValue' )
+Divz = Div.Port( 'z' )
+Divostream = Div.Port( 'ostream' )
+
+GraphStream.Run()
+GraphStream.DoneW()
+GraphStream.PrintPorts()
diff --git a/examples/GraphStream.xml b/examples/GraphStream.xml
new file mode 100644 (file)
index 0000000..c593d79
--- /dev/null
@@ -0,0 +1,292 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStream</node-name>
+   <kind>1</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>GraphStream</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Add\y</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>Sub\x</inParameter-name>     </inParameter>    </inParameter-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>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>Add\istream</inParameter-name>    </inParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>Div\ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/3/2004 - 17:16:56</creation-date>
+   <lastmodification-date>12/3/2004 - 17:35:43</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>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/3/2004 - 17:35:43</creation-date>
+   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>15</x-position>
+   <y-position>241</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/3/2004 - 17:35:43</creation-date>
+   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>227</x-position>
+   <y-position>99</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>12/3/2004 - 17:35:43</creation-date>
+   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>444</x-position>
+   <y-position>241</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>12/3/2004 - 17:35:43</creation-date>
+   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>634</x-position>
+   <y-position>98</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>189</x>
+     <y>207</y>    </coord>
+    <coord>
+<x>189</x>
+     <y>350</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>201</x>
+     <y>237</y>    </coord>
+    <coord>
+<x>200</x>
+     <y>378</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>212</x>
+     <y>267</y>    </coord>
+    <coord>
+<x>211</x>
+     <y>409</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>420</x>
+     <y>322</y>    </coord>
+    <coord>
+<x>419</x>
+     <y>180</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>622</x>
+     <y>207</y>    </coord>
+    <coord>
+<x>623</x>
+     <y>320</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>7</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>7</value-type>
+    <value>4.5</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>7</value-type>
+    <value>1.5</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-list></dataflow>
diff --git a/examples/GraphStreams.py b/examples/GraphStreams.py
new file mode 100644 (file)
index 0000000..fc9367b
--- /dev/null
@@ -0,0 +1,278 @@
+
+# Generated python file of Graph GraphStreams
+
+from SuperV import *
+# Graph creation 
+GraphStreams = Graph( 'GraphStreams' )
+GraphStreams.SetName( 'GraphStreams' )
+GraphStreams.SetAuthor( '' )
+GraphStreams.SetComment( '' )
+GraphStreams.Coords( 0 , 0 )
+
+# Creation of Factory Nodes
+
+Add = GraphStreams.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add.SetName( 'Add' )
+Add.SetAuthor( '' )
+Add.SetContainer( 'FactoryServer' )
+Add.SetComment( 'Add from AddComponent' )
+Add.Coords( 256 , 156 )
+Add.InDataStreamPort( 'istream' , 'long' )
+Add.OutDataStreamPort( 'ostream' , 'long' )
+Add.OutDataStreamPort( 'Ostream' , 'long' )
+
+Sub = GraphStreams.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub.SetName( 'Sub' )
+Sub.SetAuthor( '' )
+Sub.SetContainer( 'FactoryServer' )
+Sub.SetComment( 'Sub from SubComponent' )
+Sub.Coords( 519 , 33 )
+Sub.InDataStreamPort( 'istream' , 'long' )
+Sub.InDataStreamPort( 'Istream' , 'long' )
+
+Mul = GraphStreams.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul.SetName( 'Mul' )
+Mul.SetAuthor( '' )
+Mul.SetContainer( 'FactoryServer' )
+Mul.SetComment( 'Mul from MulComponent' )
+Mul.Coords( 723 , 156 )
+
+Div = GraphStreams.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div.SetName( 'Div' )
+Div.SetAuthor( '' )
+Div.SetContainer( 'FactoryServer' )
+Div.SetComment( 'Div from DivComponent' )
+Div.Coords( 936 , 34 )
+Div.OutDataStreamPort( 'ostream' , 'long' )
+
+Add_1 = GraphStreams.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add_1.SetName( 'Add_1' )
+Add_1.SetAuthor( '' )
+Add_1.SetContainer( 'localhost/FactoryServer' )
+Add_1.SetComment( 'Add from AddComponent' )
+Add_1.Coords( 252 , 499 )
+Add_1.InDataStreamPort( 'istream' , 'long' )
+Add_1.OutDataStreamPort( 'ostream' , 'long' )
+Add_1.OutDataStreamPort( 'Ostream' , 'long' )
+
+Sub_1 = GraphStreams.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Sub_1.SetName( 'Sub_1' )
+Sub_1.SetAuthor( '' )
+Sub_1.SetContainer( 'localhost/FactoryServer' )
+Sub_1.SetComment( 'Sub from SubComponent' )
+Sub_1.Coords( 518 , 369 )
+Sub_1.InDataStreamPort( 'istream' , 'long' )
+Sub_1.InDataStreamPort( 'Istream' , 'long' )
+
+Mul_1 = GraphStreams.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Mul_1.SetName( 'Mul_1' )
+Mul_1.SetAuthor( '' )
+Mul_1.SetContainer( 'localhost/FactoryServer' )
+Mul_1.SetComment( 'Mul from MulComponent' )
+Mul_1.Coords( 731 , 498 )
+
+Div_1 = GraphStreams.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Div_1.SetName( 'Div_1' )
+Div_1.SetAuthor( '' )
+Div_1.SetContainer( 'localhost/FactoryServer' )
+Div_1.SetComment( 'Div from DivComponent' )
+Div_1.Coords( 931 , 369 )
+Div_1.OutDataStreamPort( 'ostream' , 'long' )
+
+# 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( 1157 , 388 )
+PyEndLoop = []
+EndLoop.SetPyFunction( 'EndInit' , PyEndLoop )
+Loop.SetName( 'Loop' )
+Loop.SetAuthor( '' )
+Loop.SetComment( '' )
+Loop.Coords( 5 , 399 )
+Loop.InPort( 'Index' , 'long' )
+Loop.InPort( 'Min' , 'long' )
+Loop.InPort( 'Max' , 'long' )
+Loop.InPort( 'Incr' , 'long' )
+Loop.InPort( 'z_Div' , 'double' )
+Loop.InPort( 'z_Div_1' , 'double' )
+Loop.InPort( 'y_Add' , 'double' )
+Loop.InPort( 'x_Sub' , 'double' )
+
+# Creation of Links
+Addz = Add.Port( 'z' )
+Suby = GraphStreams.Link( Addz , Sub.Port( 'y' ) )
+Suby.AddCoord( 1 , 448 , 143 )
+Suby.AddCoord( 2 , 447 , 266 )
+
+Muly = GraphStreams.Link( Addz , Mul.Port( 'y' ) )
+
+Addostream = Add.Port( 'ostream' )
+Subistream = GraphStreams.Link( Addostream , Sub.Port( 'istream' ) )
+Subistream.AddCoord( 1 , 474 , 172 )
+Subistream.AddCoord( 2 , 474 , 294 )
+
+AddOstream = Add.Port( 'Ostream' )
+SubIstream = GraphStreams.Link( AddOstream , Sub.Port( 'Istream' ) )
+SubIstream.AddCoord( 1 , 499 , 201 )
+SubIstream.AddCoord( 2 , 500 , 322 )
+
+Subz = Sub.Port( 'z' )
+Mulx = GraphStreams.Link( Subz , Mul.Port( 'x' ) )
+Mulx.AddCoord( 1 , 707 , 237 )
+Mulx.AddCoord( 2 , 706 , 114 )
+
+Divx = GraphStreams.Link( Subz , Div.Port( 'x' ) )
+
+Mulz = Mul.Port( 'z' )
+Divy = GraphStreams.Link( Mulz , Div.Port( 'y' ) )
+Divy.AddCoord( 1 , 912 , 143 )
+Divy.AddCoord( 2 , 912 , 236 )
+
+Divz = Div.Port( 'z' )
+EndLoopz_Div = GraphStreams.Link( Divz , EndLoop.Port( 'z_Div' ) )
+EndLoopz_Div.AddCoord( 1 , 1147 , 537 )
+EndLoopz_Div.AddCoord( 2 , 1148 , 113 )
+
+Divostream = Div.Port( 'ostream' )
+Add_1istream = GraphStreams.Link( Divostream , Add_1.Port( 'istream' ) )
+Add_1istream.AddCoord( 1 , 232 , 638 )
+Add_1istream.AddCoord( 2 , 232 , 763 )
+Add_1istream.AddCoord( 3 , 1126 , 763 )
+Add_1istream.AddCoord( 4 , 1125 , 144 )
+
+Add_1z = Add_1.Port( 'z' )
+Sub_1y = GraphStreams.Link( Add_1z , Sub_1.Port( 'y' ) )
+Sub_1y.AddCoord( 1 , 445 , 478 )
+Sub_1y.AddCoord( 2 , 445 , 608 )
+
+Mul_1y = GraphStreams.Link( Add_1z , Mul_1.Port( 'y' ) )
+
+Add_1ostream = Add_1.Port( 'ostream' )
+Sub_1istream = GraphStreams.Link( Add_1ostream , Sub_1.Port( 'istream' ) )
+Sub_1istream.AddCoord( 1 , 473 , 508 )
+Sub_1istream.AddCoord( 2 , 474 , 638 )
+
+Add_1Ostream = Add_1.Port( 'Ostream' )
+Sub_1Istream = GraphStreams.Link( Add_1Ostream , Sub_1.Port( 'Istream' ) )
+Sub_1Istream.AddCoord( 1 , 498 , 535 )
+Sub_1Istream.AddCoord( 2 , 498 , 667 )
+
+Sub_1z = Sub_1.Port( 'z' )
+Mul_1x = GraphStreams.Link( Sub_1z , Mul_1.Port( 'x' ) )
+Mul_1x.AddCoord( 1 , 708 , 579 )
+Mul_1x.AddCoord( 2 , 707 , 450 )
+
+Div_1x = GraphStreams.Link( Sub_1z , Div_1.Port( 'x' ) )
+
+Mul_1z = Mul_1.Port( 'z' )
+Div_1y = GraphStreams.Link( Mul_1z , Div_1.Port( 'y' ) )
+Div_1y.AddCoord( 1 , 913 , 479 )
+Div_1y.AddCoord( 2 , 913 , 579 )
+
+Div_1z = Div_1.Port( 'z' )
+EndLoopz_Div_1 = GraphStreams.Link( Div_1z , EndLoop.Port( 'z_Div_1' ) )
+EndLoopz_Div_1.AddCoord( 1 , 1138 , 567 )
+EndLoopz_Div_1.AddCoord( 2 , 1138 , 449 )
+
+Div_1ostream = Div_1.Port( 'ostream' )
+Addistream = GraphStreams.Link( Div_1ostream , Add.Port( 'istream' ) )
+Addistream.AddCoord( 1 , 230 , 293 )
+Addistream.AddCoord( 2 , 229 , 426 )
+Addistream.AddCoord( 3 , 475 , 425 )
+Addistream.AddCoord( 4 , 475 , 352 )
+Addistream.AddCoord( 5 , 1110 , 352 )
+Addistream.AddCoord( 6 , 1111 , 477 )
+
+LoopIndex = Loop.Port( 'Index' )
+EndLoopIndex = GraphStreams.Link( LoopIndex , EndLoop.Port( 'Index' ) )
+
+Addx = GraphStreams.Link( LoopIndex , Add.Port( 'x' ) )
+Addx.AddCoord( 1 , 201 , 236 )
+Addx.AddCoord( 2 , 202 , 433 )
+
+Add_1x = GraphStreams.Link( LoopIndex , Add_1.Port( 'x' ) )
+Add_1x.AddCoord( 1 , 199 , 578 )
+Add_1x.AddCoord( 2 , 200 , 435 )
+
+LoopMin = Loop.Port( 'Min' )
+EndLoopMin = GraphStreams.Link( LoopMin , EndLoop.Port( 'Min' ) )
+
+LoopMax = Loop.Port( 'Max' )
+EndLoopMax = GraphStreams.Link( LoopMax , EndLoop.Port( 'Max' ) )
+
+LoopIncr = Loop.Port( 'Incr' )
+EndLoopIncr = GraphStreams.Link( LoopIncr , EndLoop.Port( 'Incr' ) )
+
+Loopy_Add = Loop.Port( 'y_Add' )
+EndLoopy_Add = GraphStreams.Link( Loopy_Add , EndLoop.Port( 'y_Add' ) )
+
+Addy = GraphStreams.Link( Loopy_Add , Add.Port( 'y' ) )
+Addy.AddCoord( 1 , 183 , 266 )
+Addy.AddCoord( 2 , 183 , 608 )
+
+Add_1y = GraphStreams.Link( Loopy_Add , Add_1.Port( 'y' ) )
+
+Loopx_Sub = Loop.Port( 'x_Sub' )
+EndLoopx_Sub = GraphStreams.Link( Loopx_Sub , EndLoop.Port( 'x_Sub' ) )
+
+Subx = GraphStreams.Link( Loopx_Sub , Sub.Port( 'x' ) )
+Subx.AddCoord( 1 , 167 , 113 )
+Subx.AddCoord( 2 , 165 , 636 )
+
+Sub_1x = GraphStreams.Link( Loopx_Sub , Sub_1.Port( 'x' ) )
+Sub_1x.AddCoord( 1 , 167 , 450 )
+Sub_1x.AddCoord( 2 , 165 , 637 )
+
+# Creation of Input datas
+LoopIndex = Loop.Input( 'Index' , 0)
+LoopMin = Loop.Input( 'Min' , 1)
+LoopMax = Loop.Input( 'Max' , 10)
+LoopIncr = Loop.Input( 'Incr' , 1)
+Loopz_Div = Loop.Input( 'z_Div' , 0)
+Loopz_Div_1 = Loop.Input( 'z_Div_1' , 0)
+Loopy_Add = Loop.Input( 'y_Add' , 4.5)
+Loopx_Sub = Loop.Input( 'x_Sub' , 1.5)
+
+# Creation of Output variables
+AddFuncValue = Add.Port( 'FuncValue' )
+Add_1FuncValue = Add_1.Port( 'FuncValue' )
+Loopz_Div = Loop.Port( 'z_Div' )
+Loopz_Div_1 = Loop.Port( 'z_Div_1' )
+EndLoopIndex = EndLoop.Port( 'Index' )
+EndLoopMin = EndLoop.Port( 'Min' )
+EndLoopMax = EndLoop.Port( 'Max' )
+EndLoopIncr = EndLoop.Port( 'Incr' )
+EndLoopz_Div = EndLoop.Port( 'z_Div' )
+EndLoopz_Div_1 = EndLoop.Port( 'z_Div_1' )
+EndLoopy_Add = EndLoop.Port( 'y_Add' )
+EndLoopx_Sub = EndLoop.Port( 'x_Sub' )
+
+GraphStreams.Run()
+GraphStreams.DoneW()
+GraphStreams.PrintPorts()
diff --git a/examples/GraphStreams.xml b/examples/GraphStreams.xml
new file mode 100644 (file)
index 0000000..8ab2d9b
--- /dev/null
@@ -0,0 +1,922 @@
+<!DOCTYPE Dataflow>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>GraphStreams</node-name>
+   <kind>1</kind>
+   <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>Add\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>Add_1\FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>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>15/3/2004 - 14:26:30</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</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>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>256</x-position>
+   <y-position>156</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>519</x-position>
+   <y-position>33</y-position>  </node>
+  <node>
+<component-name>MulComponent</component-name>
+   <interface-name>MulComponent</interface-name>
+   <node-name>Mul</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Mul</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>723</x-position>
+   <y-position>156</y-position>  </node>
+  <node>
+<component-name>DivComponent</component-name>
+   <interface-name>DivComponent</interface-name>
+   <node-name>Div</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Div</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>936</x-position>
+   <y-position>34</y-position>  </node>
+  <node>
+<component-name>AddComponent</component-name>
+   <interface-name>AddComponent</interface-name>
+   <node-name>Add_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Add</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>FuncValue</outParameter-name>     </outParameter>
+     <outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>
+    <outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Add from AddComponent</comment>
+   <x-position>252</x-position>
+   <y-position>499</y-position>  </node>
+  <node>
+<component-name>SubComponent</component-name>
+   <interface-name>SubComponent</interface-name>
+   <node-name>Sub_1</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>Sub</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>double</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>double</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>istream</inParameter-name>    </inParameter>
+    <inParameter>
+<inParameter-type>long</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Sub from SubComponent</comment>
+   <x-position>518</x-position>
+   <y-position>369</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>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Mul from MulComponent</comment>
+   <x-position>731</x-position>
+   <y-position>498</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>
+   <DataStream-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>localhost/FactoryServer</container>
+   <comment>Div from DivComponent</comment>
+   <x-position>931</x-position>
+   <y-position>369</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>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>5</x-position>
+   <y-position>399</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>15/3/2004 - 14:28:51</creation-date>
+   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
+   <editor-release>1.05</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>?</comment>
+   <x-position>1157</x-position>
+   <y-position>388</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>447</x>
+     <y>266</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>474</x>
+     <y>172</y>    </coord>
+    <coord>
+<x>474</x>
+     <y>294</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>499</x>
+     <y>201</y>    </coord>
+    <coord>
+<x>500</x>
+     <y>322</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>707</x>
+     <y>237</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>912</x>
+     <y>236</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>232</x>
+     <y>638</y>    </coord>
+    <coord>
+<x>232</x>
+     <y>763</y>    </coord>
+    <coord>
+<x>1126</x>
+     <y>763</y>    </coord>
+    <coord>
+<x>1125</x>
+     <y>144</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>445</x>
+     <y>608</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/>  </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>508</y>    </coord>
+    <coord>
+<x>474</x>
+     <y>638</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>535</y>    </coord>
+    <coord>
+<x>498</x>
+     <y>667</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>579</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>579</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>230</x>
+     <y>293</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>477</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>433</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>199</x>
+     <y>578</y>    </coord>
+    <coord>
+<x>200</x>
+     <y>435</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>183</x>
+     <y>608</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>165</x>
+     <y>636</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>165</x>
+     <y>637</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/src/DivComponent/DivComponent.cxx b/src/DivComponent/DivComponent.cxx
new file mode 100644 (file)
index 0000000..4a4522f
--- /dev/null
@@ -0,0 +1,91 @@
+//  SuperVisionTest DivComponent : example of component that devides two numbers
+//
+//  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   : DivComponentEngine.cxx
+//  Author : MARC TAJCHMAN, CEA
+//  Module : SuperVisionTest
+
+using namespace std;
+#include <stdio.h>
+#include <unistd.h>
+#include <fstream>
+#include <sstream>
+#include <string>
+
+//#include "utilities.h"
+#include "DivComponent.hxx"
+
+DivComponentEngine::DivComponentEngine( CORBA::ORB_ptr orb,
+                                   PortableServer::POA_ptr poa,
+                                   PortableServer::ObjectId * contId, 
+                                   const char *instanceName,
+                                    const char *interfaceName) :
+  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
+{
+//  MESSAGE("DivComponentEngine::DivComponentEngine activate object instanceName("
+//          << instanceName << ") interfaceName(" << interfaceName << ")" )
+  _thisObj = this ;
+  _id = _poa->activate_object(_thisObj);
+  _nexec = 0 ;
+}
+
+DivComponentEngine::DivComponentEngine()
+{
+}
+
+DivComponentEngine::~DivComponentEngine()
+{
+}
+
+void DivComponentEngine::Div( double x , double y , double & z ) {
+  beginService( " DivComponentEngine::Div" );
+  z = x / y ;
+  int S;
+  
+  sendMessage(NOTIF_STEP, "Div is Computing");
+  S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
+  sleep(S);
+  sendMessage(NOTIF_TRACE, "Div is Much More Difficult Operation");
+  MESSAGE("DivComponentEngine::Div( " <<  x << " , " << y << " , " << z
+       << " ) after " << S << " seconds" )
+  endService( " DivComponentEngine::Div"  );
+}
+
+extern "C"
+{
+  PortableServer::ObjectId * DivComponentEngine_factory
+     (CORBA::ORB_ptr orb,
+      PortableServer::POA_ptr poa, 
+      PortableServer::ObjectId * contId,
+      const char *instanceName,
+      const char *interfaceName)
+  {
+    MESSAGE("DivComponentEngine_factory DivComponentEngine ("
+            << instanceName << "," << interfaceName << ")");
+    DivComponentEngine * myDivComponent 
+      = new DivComponentEngine(orb, poa, contId, instanceName, interfaceName);
+    return myDivComponent->getId() ;
+  }
+}
+
+
diff --git a/src/MulComponent/MulComponent.cxx b/src/MulComponent/MulComponent.cxx
deleted file mode 100644 (file)
index 1b4c41f..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-//  SuperVisionTest MulComponent : example of component that multiplies two numbers
-//
-//  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   : MulComponentEngine.cxx
-//  Author : MARC TAJCHMAN, CEA
-//  Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-#include "MulComponent.hxx"
-
-MulComponentEngine::MulComponentEngine( CORBA::ORB_ptr orb,
-                                   PortableServer::POA_ptr poa,
-                                   PortableServer::ObjectId * contId, 
-                                   const char *instanceName,
-                                    const char *interfaceName) :
-  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
-{
-//  MESSAGE("MulComponentEngine::MulComponentEngine activate object instanceName("
-//          << instanceName << ") interfaceName(" << interfaceName << ")" )
-  _thisObj = this ;
-  _id = _poa->activate_object(_thisObj);
-  _nexec = 0 ;
-}
-
-MulComponentEngine::MulComponentEngine()
-{
-}
-
-MulComponentEngine::~MulComponentEngine()
-{
-}
-
-void MulComponentEngine::Mul( double x , double y , double & z ) {
-  beginService( " MulComponentEngine::Mul" );
-  z = x * y ;
-  int S;
-  
-  sendMessage(NOTIF_STEP, "Mul is Computing");
-  S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  MESSAGE( "MulComponentEngine::Mul( " <<  x << " , " << y << " , " << z
-       << " ) after " << S << " seconds" )
-  endService( " MulComponentEngine::Mul"  );
-}
-
-extern "C"
-{
-  PortableServer::ObjectId * MulComponentEngine_factory
-     (CORBA::ORB_ptr orb,
-      PortableServer::POA_ptr poa, 
-      PortableServer::ObjectId * contId,
-      const char *instanceName,
-      const char *interfaceName)
-  {
-    MESSAGE("MulComponentEngine_factory MulComponentEngine ("
-            << instanceName << "," << interfaceName << ")");
-    MulComponentEngine * myMulComponent 
-      = new MulComponentEngine(orb, poa, contId, instanceName, interfaceName);
-    return myMulComponent->getId() ;
-  }
-}
-
-
diff --git a/src/SubComponent/SubComponent.cxx b/src/SubComponent/SubComponent.cxx
deleted file mode 100644 (file)
index 76ed6e1..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-//  SuperVisionTest SubComponent : example of component that sunstracts one number from another
-//
-//  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   : SubComponentEngine.cxx
-//  Author : MARC TAJCHMAN, CEA
-//  Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-#include "SubComponent.hxx"
-
-SubComponentEngine::SubComponentEngine( CORBA::ORB_ptr orb,
-                                   PortableServer::POA_ptr poa,
-                                   PortableServer::ObjectId * contId, 
-                                   const char *instanceName,
-                                    const char *interfaceName) :
-  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true)
-{
-//  MESSAGE("SubComponentEngine::SubComponentEngine activate object instanceName("
-//          << instanceName << ") interfaceName(" << interfaceName << ")" )
-  _thisObj = this ;
-  _id = _poa->activate_object(_thisObj);
-  _nexec = 0 ;
-}
-
-SubComponentEngine::SubComponentEngine()
-{
-}
-
-SubComponentEngine::~SubComponentEngine()
-{
-}
-
-void SubComponentEngine::Sub( double x , double y , double & z ) {
-  beginService( " SubComponentEngine::Sub" );
-  z = x - y ;
-  int S;
-  
-  sendMessage(NOTIF_STEP, "Sub is Computing");
-  S = 1+(int) (15.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  MESSAGE( "SubComponentEngine::Sub( " <<  x << " , " << y << " , " << z
-       << " ) after " << S << " seconds" )
-  endService( " SubComponentEngine::Sub"  );
-}
-
-extern "C"
-{
-  PortableServer::ObjectId * SubComponentEngine_factory
-     (CORBA::ORB_ptr orb,
-      PortableServer::POA_ptr poa, 
-      PortableServer::ObjectId * contId,
-      const char *instanceName,
-      const char *interfaceName)
-  {
-    MESSAGE("SubComponentEngine_factory SubComponentEngine ("
-            << instanceName << "," << interfaceName << ")");
-    SubComponentEngine * mySubComponent 
-      = new SubComponentEngine(orb, poa, contId, instanceName, interfaceName);
-    return mySubComponent->getId() ;
-  }
-}
-
-
diff --git a/src/SyrComponent/SyrComponent_Impl.cxx b/src/SyrComponent/SyrComponent_Impl.cxx
deleted file mode 100755 (executable)
index 3c93ed7..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-//  SuperVisionTest SyrComponent : example of component performing some mathinatical operations
-//
-//  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   : SyrComponent_Impl.cxx
-//  Author : Jean Rahuel, CEA
-//  Module : SuperVisionTest
-
-using namespace std;
-#include <stdio.h>
-#include <unistd.h>
-#include <fstream>
-#include <sstream>
-#include <string>
-
-//#include "utilities.h"
-
-#include "SyrComponent_Impl.hxx"
-#include "Adder_Impl.hxx"
-
-SyrComponent_Impl::SyrComponent_Impl( CORBA::ORB_ptr orb ,
-                                     PortableServer::POA_ptr poa ,
-                                     PortableServer::ObjectId * contId , 
-                                     const char *instanceName ,
-                                      const char *interfaceName ,
-                                      const bool kactivate ) :
-  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
-  MESSAGE("SyrComponent_Impl::SyrComponent_Impl this " << hex << this << dec
-          << "activate object instanceName("
-          << instanceName << ") interfaceName(" << interfaceName << ")" )
-  if ( kactivate ) {
-    _thisObj = this ;
-    _id = _poa->activate_object(_thisObj);
-  }
-}
-
-SyrComponent_Impl::SyrComponent_Impl() {
-}
-
-SyrComponent_Impl::~SyrComponent_Impl() {
-}
-
-long SyrComponent_Impl::C_ISEVEN( const long anInteger ) {
-  bool RetVal ;
-  beginService( " SyrComponent_Impl::C_ISEVEN" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_ISEVEN is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  RetVal = ( anInteger & 1 ) == 0 ;
-  endService( " SyrComponent_Impl::C_ISEVEN"  );
-  return RetVal ;
-}
-
-long SyrComponent_Impl::C_ISONE( const long anOddInteger ) {
-  bool RetVal ;
-  beginService( " SyrComponent_Impl::C_ISONE" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_ISONE is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  RetVal = ( anOddInteger == 1 ) ;
-  endService( " SyrComponent_Impl::C_ISONE"  );
-  return RetVal ;
-}
-
-long SyrComponent_Impl::C_M3( const long anOddInteger ) {
-  beginService( " SyrComponent_Impl::C_M3" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_M3 is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " SyrComponent_Impl::C_M3"  );
-  if ( C_ISEVEN( anOddInteger ) )
-    return 0 ;
-  return ( 3*anOddInteger ) ;
-}
-
-long SyrComponent_Impl::C_M3P1( const long anOddInteger ) {
-  beginService( " SyrComponent_Impl::C_M3P1" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_M3P1 is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " SyrComponent_Impl::C_M3P1"  );
-  if ( C_ISEVEN( anOddInteger ) )
-    return 0 ;
-  return ( 3*anOddInteger + 1 ) ;
-}
-
-long SyrComponent_Impl::C_DIV2( const long anEvenInteger ) {
-  beginService( " SyrComponent_Impl::C_DIV2" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_DIV2 is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " SyrComponent_Impl::C_DIV2"  );
-  if ( !C_ISEVEN( anEvenInteger ) )
-    return 0 ;
-  return ( anEvenInteger >> 1 ) ;
-}
-
-long SyrComponent_Impl::C_INCR( const long aCount ) {
-  beginService( " SyrComponent_Impl::C_INCR" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_INCR is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " SyrComponent_Impl::C_INCR"  );
-  return ( aCount + 1 ) ;
-}
-
-long SyrComponent_Impl::C_MIN( const long aMinVal , const long anInteger ) {
-  beginService( " SyrComponent_Impl::C_MIN" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_MIN is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  int min = aMinVal ;
-  if ( anInteger < min || aMinVal == 0 ) {
-    min = anInteger ;
-  }
-  string trace = "SyrComponent_Impl::C_MIN : " ;
-  char cmin[ 30 ] ;
-  sprintf( cmin , "%d" , min ) ;
-  trace += cmin ;
-  sendMessage(NOTIF_TRACE, trace.c_str() );
-  endService( " SyrComponent_Impl::C_MIN"  );
-  return min ;
-}
-
-long SyrComponent_Impl::C_MAX( const long aMaxVal , const long anInteger ) {
-  beginService( " SyrComponent_Impl::C_MAX" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_MAX is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  int max = aMaxVal ;
-  if ( anInteger > max ) {
-    max = anInteger ;
-  }
-  string trace = "SyrComponent_Impl::C_MAX : " ;
-  char cmax[ 30 ] ;
-  sprintf( cmax , "%d" , max ) ;
-  trace += cmax ;
-  sendMessage(NOTIF_TRACE, trace.c_str() );
-  endService( " SyrComponent_Impl::C_MAX"  );
-  return max ;
-}
-
-SuperVisionTest::ListOfSyr_ptr SyrComponent_Impl::C_LISTOFSYR() {
-  beginService( " SyrComponent_Impl::C_LISTOFSYR" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_LISTOFSYR is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  ListOfSyr_Impl * aNewListOfSyr = new ListOfSyr_Impl( _orb , _poa, _contId,
-                        instanceName() , interfaceName() ,
-                        graphName() , nodeName() ) ;
-  SuperVisionTest::ListOfSyr_var iobject = (SuperVisionTest::ListOfSyr_var ) NULL ;
-  PortableServer::ObjectId * id = aNewListOfSyr->getId() ;
-  CORBA::Object_var obj = _poa->id_to_reference(*id);
-  iobject = SuperVisionTest::ListOfSyr::_narrow(obj) ;
-  endService( " SyrComponent_Impl::C_LISTOFSYR"  );
-  return SuperVisionTest::ListOfSyr::_duplicate( iobject ) ;
-//  return ( aNewListOfSyr._retn() ) ;
-}
-
-SuperVisionTest::ListOfSyr_ptr SyrComponent_Impl::C_AVERAGE(
-                       const SuperVisionTest::ListOfSyr_ptr aListOfSyr ,
-                       const long anInteger ,
-                       const long aCount ,
-                       double & anAverage ) {
-  beginService( " SyrComponent_Impl::C_AVERAGE" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl::C_AVERAGE is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  SuperVisionTest::SeqOfSyr * aSeqOfSyr = aListOfSyr->GetSeqOfSyr() ;
-  int len = aSeqOfSyr->length() ;
-  aSeqOfSyr->length( len + 1 ) ;
-  (*aSeqOfSyr)[ len ] = anInteger ;
-  aListOfSyr->SetSeqOfSyr( *aSeqOfSyr ) ;
-  anAverage = 0 ;
-  int i ;
-  for ( i = 0 ; i < len + 1 ; i++ ) {
-    anAverage += (*aSeqOfSyr)[ i ] ;
-  }
-  anAverage = anAverage / ( len + 1 ) ;
-  string end = " SyrComponent_Impl::C_AVERAGE " ;
-  char caverage[ 30 ] ;
-  sprintf( caverage , "%fd" , anAverage ) ;
-  end += caverage ;
-  endService( end.c_str() );
-  return SuperVisionTest::ListOfSyr::_duplicate( aListOfSyr ) ;
-}
-
-SuperVisionTest::Syr_ptr SyrComponent_Impl::Init( const long anOddInteger ) {
-  beginService( "SyrComponent_Impl::Init" );
-  sendMessage(NOTIF_STEP, "SyrComponent_Impl creates Syr_Impl");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  Syr_Impl * mySyr ;
-  mySyr = new Syr_Impl( _orb , _poa, _contId,
-                        instanceName() , interfaceName() ,
-                        graphName() , nodeName() , anOddInteger ) ;
-  SuperVisionTest::Syr_var iobject = (SuperVisionTest::Syr_var ) NULL ;
-  PortableServer::ObjectId * id = mySyr->getId() ;
-  CORBA::Object_var obj = _poa->id_to_reference(*id);
-  iobject = SuperVisionTest::Syr::_narrow(obj) ;
-  endService( "SyrComponent_Impl::Init" );
-  return SuperVisionTest::Syr::_duplicate(iobject) ;
-}
-
-ListOfSyr_Impl::ListOfSyr_Impl( CORBA::ORB_ptr orb ,
-                   PortableServer::POA_ptr poa ,
-                   PortableServer::ObjectId * contId , 
-                   const char * instanceName ,
-                    const char * interfaceName , 
-                   const char * graphName ,
-                    const char * nodeName ) :
-  Engines_Component_i(orb, poa, contId, instanceName, interfaceName,1,true) {
-  Names( graphName , nodeName ) ;
-  MESSAGE("ListOfSyr_Impl::ListOfSyr_Impl activate object instanceName("
-          << instanceName << ") interfaceName(" << interfaceName << ") --> "
-          << hex << (void *) this << dec )
-  beginService( "ListOfSyr_Impl::ListOfSyr_Impl" );
-  _thisObj = this ;
-  _id = _poa->activate_object(_thisObj);
-  sendMessage(NOTIF_STEP, "ListOfSyr_Impl is Created");
-  endService( "ListOfSyr_Impl::ListOfSyr_Impl" );
-}
-
-ListOfSyr_Impl::ListOfSyr_Impl() {
-}
-
-ListOfSyr_Impl::~ListOfSyr_Impl() {
-  beginService( "ListOfSyr_Impl::~ListOfSyr_Impl" );
-  endService( "ListOfSyr_Impl::~ListOfSyr_Impl" );
-}
-
-SuperVisionTest::SeqOfSyr * ListOfSyr_Impl::GetSeqOfSyr() {
-  SuperVisionTest::SeqOfSyr_var aSeqOfSyr = new SuperVisionTest::SeqOfSyr( _SeqOfSyr ) ;
-  return ( aSeqOfSyr._retn() ) ;
-}
-
-void ListOfSyr_Impl::SetSeqOfSyr( const SuperVisionTest::SeqOfSyr & aSeqOfSyr ) {
-  _SeqOfSyr = aSeqOfSyr ;
-  return ;
-}
-
-extern "C"
-{
-  PortableServer::ObjectId * SyrComponentEngine_factory
-     (CORBA::ORB_ptr orb,
-      PortableServer::POA_ptr poa, 
-      PortableServer::ObjectId * contId,
-      const char *instanceName,
-      const char *interfaceName)
-  {
-    MESSAGE("SyrComponentEngine_factory SyrComponentEngine ("
-            << instanceName << "," << interfaceName << "," << getpid() << ")");
-    SyrComponent_Impl * mySyrComponent 
-      = new SyrComponent_Impl(orb, poa, contId, instanceName, interfaceName);
-    return mySyrComponent->getId() ;
-  }
-}
-
-Syr_Impl::Syr_Impl( CORBA::ORB_ptr orb ,
-                   PortableServer::POA_ptr poa ,
-                   PortableServer::ObjectId * contId , 
-                   const char * instanceName ,
-                    const char * interfaceName , 
-                   const char * graphName ,
-                    const char * nodeName ,
-                    const long anOddInteger ) :
-  SyrComponent_Impl(orb, poa, contId, instanceName, interfaceName,false) {
-  Names( graphName , nodeName ) ;
-  MESSAGE("Syr_Impl::Syr_Impl activate object instanceName("
-          << instanceName << ") interfaceName(" << interfaceName << ") --> "
-          << hex << (void *) this << dec )
-  beginService( "Syr_Impl::Syr_Impl" );
-  _thisObj = this ;
-  _id = _poa->activate_object(_thisObj);
-  _InitialInteger = anOddInteger ;
-  _CurrentInteger = anOddInteger ;
-  _Count = 0 ;
-  sendMessage(NOTIF_STEP, "Syr_Impl is Created");
-  endService( "Syr_Impl::Syr_Impl" );
-}
-
-Syr_Impl::Syr_Impl() {
-}
-
-Syr_Impl::~Syr_Impl() {
-  beginService( "Syr_Impl::~Syr_Impl" );
-  endService( "Syr_Impl::~Syr_Impl" );
-}
-
-long Syr_Impl::Initial() {
-  beginService( " Syr_Impl::Initial" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::Initial is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " Syr_Impl::Initial"  );
-  return _InitialInteger ;
-}
-
-long Syr_Impl::Current() {
-  beginService( " Syr_Impl::Current" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::Current is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  endService( " Syr_Impl::Current"  );
-  return _CurrentInteger ;
-}
-
-long Syr_Impl::IsEven() {
-  bool RetVal ;
-  beginService( " Syr_Impl::IsEven" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::IsEven is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  RetVal = ( _CurrentInteger & 1 ) == 0 ;
-  MESSAGE( " Syr_Impl::IsEven " << _CurrentInteger << " " << RetVal );
-  endService( " Syr_Impl::IsEven"  );
-  return RetVal ;
-}
-
-long Syr_Impl::IsOne() {
-  bool RetVal ;
-  beginService( " Syr_Impl::IsOne" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::IsOne is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  RetVal = ( _CurrentInteger == 1 ) ;
-  MESSAGE( " Syr_Impl::IsOne " << _CurrentInteger << " " << RetVal );
-  endService( " Syr_Impl::IsOne"  );
-  return RetVal ;
-}
-
-long Syr_Impl::Count() {
-  beginService( " Syr_Impl::Count" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::Count is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  MESSAGE( " Syr_Impl::Count " << _Count );
-  endService( " Syr_Impl::Count"  );
-  return _Count ;
-}
-
-void Syr_Impl::M3p1() {
-  beginService( " Syr_Impl::M3p1" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::M3p1 is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  if ( IsEven() )
-    _CurrentInteger = 0 ;
-  else
-    _CurrentInteger = 3*_CurrentInteger + 1 ;
-  MESSAGE( " Syr_Impl::M3p1 " << _CurrentInteger );
-  endService( " Syr_Impl::M3p1"  );
-}
-
-void Syr_Impl::Div2() {
-  beginService( " Syr_Impl::Div2" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::Div2 is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  if ( !IsEven() )
-    _CurrentInteger = 0 ;
-  else
-    _CurrentInteger = ( _CurrentInteger >> 1 ) ;
-  MESSAGE( " Syr_Impl::Div2 " << _CurrentInteger );
-  endService( " Syr_Impl::Div2"  );
-}
-
-void Syr_Impl::Incr() {
-  beginService( " Syr_Impl::Incr" );
-  sendMessage(NOTIF_STEP, "Syr_Impl::Incr is Computing");
-  int S = 1+(int) (2.0*rand()/(RAND_MAX+1.0));
-  sleep(S);
-  _Count = _Count + 1 ;
-  MESSAGE( " Syr_Impl::Incr " << _Count );
-  endService( " Syr_Impl::Incr"  );
-}
-
-
-