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
--- /dev/null
+
+# 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()
--- /dev/null
+<!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>
--- /dev/null
+
+# 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()
--- /dev/null
+<!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>
--- /dev/null
+// 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() ;
+ }
+}
+
+
+++ /dev/null
-// 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() ;
- }
-}
-
-
+++ /dev/null
-// 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() ;
- }
-}
-
-
+++ /dev/null
-// 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" );
-}
-
-
-