Salome HOME
NRI : Merge from BRANCH_Superv_DataStream.
authornri <nri@opencascade.com>
Tue, 4 May 2004 15:27:40 +0000 (15:27 +0000)
committernri <nri@opencascade.com>
Tue, 4 May 2004 15:27:40 +0000 (15:27 +0000)
examples/GraphStream.py
examples/GraphStream.xml
examples/GraphStreams.py
examples/GraphStreams.xml

index 4941141e06012573f3ab6ab86a3f6b71ad1173f2..1cb0a8d09548e7c54a85cb90906df2b26d01a5d2 100644 (file)
 
 from SuperV import *
 # Graph creation 
-GraphStream = Graph( 'GraphStream' )
+GraphStream = StreamGraph( 'GraphStream' )
+GraphStream.SetStreamParams( 0 , SUPERV.WithoutTrace , 0 )
 GraphStream.SetName( 'GraphStream' )
 GraphStream.SetAuthor( '' )
-GraphStream.SetComment( '' )
+GraphStream.SetComment( 'Test of DataStreamPorts in FactoryNodes' )
 GraphStream.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
 
-Add = GraphStream.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+NewDataStream = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'NewDataStream' )
+NewDataStream.SetName( 'NewDataStream' )
+NewDataStream.SetAuthor( '' )
+NewDataStream.SetContainer( 'FactoryServer' )
+NewDataStream.SetComment( 'NewDataStream from DataStreamFactory' )
+NewDataStream.Coords( 198 , 0 )
+INewDataStreamGate = NewDataStream.GetInPort( 'Gate' )
+ONewDataStreamDataStream = NewDataStream.GetOutPort( 'DataStream' )
+ONewDataStreamGate = NewDataStream.GetOutPort( 'Gate' )
+
+Add = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
-Add.Coords( 15 , 241 )
-Add.InDataStreamPort( 'istream' , 'long' )
-Add.OutDataStreamPort( 'ostream' , 'long' )
-Add.OutDataStreamPort( 'Ostream' , 'long' )
-
-Sub = GraphStream.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+Add.SetComment( 'Add from DataStreamFactory from DataStreamComponent' )
+Add.Coords( 7 , 269 )
+IAddx = Add.GetInPort( 'x' )
+IAddy = Add.GetInPort( 'y' )
+IAddGate = Add.GetInPort( 'Gate' )
+OAddz = Add.GetOutPort( 'z' )
+OAddGate = Add.GetOutPort( 'Gate' )
+IAddistream = Add.GetInStreamPort( 'istream' )
+IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAddostream = Add.GetOutStreamPort( 'ostream' )
+OAddostream.SetNumberOfValues( 0 )
+OAddOStream = Add.GetOutStreamPort( 'OStream' )
+OAddOStream.SetNumberOfValues( 0 )
+
+Sub = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
-Sub.Coords( 227 , 99 )
-Sub.InDataStreamPort( 'istream' , 'long' )
-Sub.InDataStreamPort( 'Istream' , 'long' )
-
-Mul = GraphStream.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+Sub.SetComment( 'Sub from DataStreamFactory from DataStreamComponent' )
+Sub.Coords( 245 , 142 )
+ISubx = Sub.GetInPort( 'x' )
+ISuby = Sub.GetInPort( 'y' )
+ISubGate = Sub.GetInPort( 'Gate' )
+OSubz = Sub.GetOutPort( 'z' )
+OSubGate = Sub.GetOutPort( 'Gate' )
+ISubistream = Sub.GetInStreamPort( 'istream' )
+ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISubIstream = Sub.GetInStreamPort( 'Istream' )
+ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 444 , 241 )
-
-Div = GraphStream.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from DataStreamFactory from DataStreamComponent' )
+Mul.Coords( 465 , 240 )
+IMulx = Mul.GetInPort( 'x' )
+IMuly = Mul.GetInPort( 'y' )
+IMulGate = Mul.GetInPort( 'Gate' )
+OMulz = Mul.GetOutPort( 'z' )
+OMulGate = Mul.GetOutPort( 'Gate' )
+
+Div = GraphStream.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
-Div.Coords( 634 , 98 )
-Div.OutDataStreamPort( 'ostream' , 'long' )
+Div.SetComment( 'Div from DataStreamFactory from DataStreamComponent' )
+Div.Coords( 660 , 142 )
+IDivx = Div.GetInPort( 'x' )
+IDivy = Div.GetInPort( 'y' )
+IDivGate = Div.GetInPort( 'Gate' )
+ODivz = Div.GetOutPort( 'z' )
+ODivGate = Div.GetOutPort( 'Gate' )
+ODivostream = Div.GetOutStreamPort( 'ostream' )
+ODivostream.SetNumberOfValues( 0 )
+
+# Creation of Computing Nodes
+StreamAdd_ServiceinParameter = []
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'objref' , 'this' ) )
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'x' ) )
+StreamAdd_ServiceinParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'y' ) )
+StreamAdd_ServiceoutParameter = []
+StreamAdd_ServiceoutParameter.append( SALOME_ModuleCatalog.ServicesParameter( 'long' , 'z' ) )
+StreamAdd_ServiceinStreamParameter = []
+StreamAdd_ServiceinStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'istream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_ServiceoutStreamParameter = []
+StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'ostream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_ServiceoutStreamParameter.append( SALOME_ModuleCatalog.ServicesDataStreamParameter( SALOME_ModuleCatalog.DATASTREAM_INTEGER , 'OStream' , SALOME_ModuleCatalog.DATASTREAM_ITERATIVE ) )
+StreamAdd_Service = SALOME_ModuleCatalog.Service( 'StreamAdd' , StreamAdd_ServiceinParameter , StreamAdd_ServiceoutParameter , StreamAdd_ServiceinStreamParameter , StreamAdd_ServiceoutStreamParameter , 0 , 0 )
+StreamAdd = GraphStream.CNode( StreamAdd_Service )
+StreamAdd.SetName( 'StreamAdd' )
+StreamAdd.SetAuthor( '' )
+StreamAdd.SetComment( 'Compute Node' )
+StreamAdd.Coords( 8 , 0 )
+IStreamAddthis = StreamAdd.GetInPort( 'this' )
+IStreamAddx = StreamAdd.GetInPort( 'x' )
+IStreamAddy = StreamAdd.GetInPort( 'y' )
+IStreamAddGate = StreamAdd.GetInPort( 'Gate' )
+OStreamAddz = StreamAdd.GetOutPort( 'z' )
+OStreamAddGate = StreamAdd.GetOutPort( 'Gate' )
+IStreamAddistream = StreamAdd.GetInStreamPort( 'istream' )
+IStreamAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OStreamAddostream = StreamAdd.GetOutStreamPort( 'ostream' )
+OStreamAddostream.SetNumberOfValues( 0 )
+OStreamAddOStream = StreamAdd.GetOutStreamPort( 'OStream' )
+OStreamAddOStream.SetNumberOfValues( 0 )
 
 # Creation of Links
-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' )
+LNewDataStreamDataStreamStreamAddthis = GraphStream.Link( ONewDataStreamDataStream , IStreamAddthis )
+
+LAddzSuby = GraphStream.Link( OAddz , ISuby )
+LAddzSuby.AddCoord( 1 , 208 , 252 )
+LAddzSuby.AddCoord( 2 , 207 , 349 )
+
+LAddzMuly = GraphStream.Link( OAddz , IMuly )
+
+LAddostreamSubistream = GraphStream.StreamLink( OAddostream , ISubistream )
+LAddostreamSubistream.AddCoord( 1 , 201 , 237 )
+LAddostreamSubistream.AddCoord( 2 , 200 , 378 )
+
+LAddOStreamSubIstream = GraphStream.StreamLink( OAddOStream , ISubIstream )
+LAddOStreamSubIstream.AddCoord( 1 , 212 , 267 )
+LAddOStreamSubIstream.AddCoord( 2 , 211 , 409 )
+
+LSubzMulx = GraphStream.Link( OSubz , IMulx )
+LSubzMulx.AddCoord( 1 , 436 , 320 )
+LSubzMulx.AddCoord( 2 , 435 , 223 )
+
+LSubzDivx = GraphStream.Link( OSubz , IDivx )
+
+LMulzDivy = GraphStream.Link( OMulz , IDivy )
+LMulzDivy.AddCoord( 1 , 645 , 252 )
+LMulzDivy.AddCoord( 2 , 644 , 320 )
+LMulzDivy.AddCoord( 3 , 623 , 320 )
+
+# Input datas
+IAddx.Input( 3 )
+IAddy.Input( 7 )
+ISubx.Input( 1 )
+IStreamAddx.Input( 1 )
+IStreamAddy.Input( 2 )
+IAddistream.Input( 1 )
+
+# Output Ports of the graph
+#ODivz = Div.GetOutPort( 'z' )
+#OStreamAddz = StreamAdd.GetOutPort( 'z' )
+GraphStream.PrintPorts()
+GraphStream.IsValid()
+status = GraphStream.IsExecutable()
+if status == 0 :
+    print 'Input of port IStreamAddistream is required : Ok'
+else :
+    print 'Input of port IStreamAddistream is required : ERROR'
+# Following input is required :
+IStreamAddistream.Input( 1 )
+GraphStream.IsExecutable()
 
 GraphStream.Run()
 GraphStream.DoneW()
 GraphStream.PrintPorts()
+GraphStream.State()
+
+subgraphs = GraphStream.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStream.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStream.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStream.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+GraphStream.Export('/tmp/GraphStream.xml')
+
+GraphStream = StreamGraph( '/tmp/GraphStream.xml' )
+GraphStream.Run()
+GraphStream.DoneW()
+GraphStream.PrintPorts()
+print GraphStream.State()
+
+subgraphs = GraphStream.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStream.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStream.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStream.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
index c593d798b4ebc88a0b4faacb57d2f47ac44da3b4..1d90d9caed781848cbb4137aeb5164077d4005cf 100644 (file)
 <component-name>?</component-name>
    <interface-name>?</interface-name>
    <node-name>GraphStream</node-name>
-   <kind>1</kind>
+   <kind>9</kind>
+   <streamgraph-timeout>0</streamgraph-timeout>
+   <streamgraph-datastreamtrace>0</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>0</streamgraph-deltatime>
    <coupled-node>?</coupled-node>
    <service>
 <service-name>GraphStream</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>Add\x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>Add\y</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
-      <inParameter-name>Sub\x</inParameter-name>     </inParameter>    </inParameter-list>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>Sub\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>StreamAdd\x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>StreamAdd\y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
-      <outParameter-name>Add\FuncValue</outParameter-name>     </outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>Div\z</outParameter-name>     </outParameter>
      <outParameter>
-<outParameter-type>double</outParameter-type>
-      <outParameter-name>Div\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>StreamAdd\z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
    <DataStream-list>
 <inParameter>
-<inParameter-type>long</inParameter-type>
-     <inParameter-name>Add\istream</inParameter-name>    </inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Add\istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>StreamAdd\istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>Div\ostream</outParameter-name>    </outParameter>   </DataStream-list>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>Div\ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>StreamAdd\ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>StreamAdd\OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>12/3/2004 - 17:16:56</creation-date>
-   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>23/4/2004 - 17:0:10</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>?</container>
-   <comment>?</comment>
+   <comment>Test of DataStreamPorts in FactoryNodes</comment>
    <x-position>0</x-position>
    <y-position>0</y-position>  </node> </info-list>
  <node-list>
 <node>
-<component-name>AddComponent</component-name>
-   <interface-name>AddComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
+   <node-name>NewDataStream</node-name>
+   <kind>0</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>NewDataStream</service-name>
+    <inParameter-list/>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>DataStream</outParameter-type>
+      <outParameter-name>DataStream</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list/>
+   <PyFunction-list/>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>FactoryServer</container>
+   <comment>NewDataStream from DataStreamFactory</comment>
+   <x-position>198</x-position>
+   <y-position>0</y-position>  </node>
+  <node>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Add</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Add</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</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-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>    </outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>12/3/2004 - 17:35:43</creation-date>
-   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Add from AddComponent</comment>
-   <x-position>15</x-position>
-   <y-position>241</y-position>  </node>
+   <comment>Add from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>7</x-position>
+   <y-position>269</y-position>  </node>
   <node>
-<component-name>SubComponent</component-name>
-   <interface-name>SubComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Sub</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Sub</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <inParameter>
-<inParameter-type>long</inParameter-type>
-     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>12/3/2004 - 17:35:43</creation-date>
-   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Sub from SubComponent</comment>
-   <x-position>227</x-position>
-   <y-position>99</y-position>  </node>
+   <comment>Sub from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>245</x-position>
+   <y-position>142</y-position>  </node>
   <node>
-<component-name>MulComponent</component-name>
-   <interface-name>MulComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Mul</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Mul</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Mul from MulComponent</comment>
-   <x-position>444</x-position>
-   <y-position>241</y-position>  </node>
+   <comment>Mul from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>465</x-position>
+   <y-position>240</y-position>  </node>
   <node>
-<component-name>DivComponent</component-name>
-   <interface-name>DivComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Div</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Div</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>12/3/2004 - 17:35:43</creation-date>
-   <lastmodification-date>12/3/2004 - 17:35:43</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</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>
+   <comment>Div from DataStreamFactory from DataStreamComponent</comment>
+   <x-position>660</x-position>
+   <y-position>142</y-position>  </node>
+  <node>
+<component-name>?</component-name>
+   <interface-name>?</interface-name>
+   <node-name>StreamAdd</node-name>
+   <kind>2</kind>
+   <coupled-node>?</coupled-node>
+   <service>
+<service-name>StreamAdd</service-name>
+    <inParameter-list>
+<inParameter>
+<inParameter-type>objref</inParameter-type>
+      <inParameter-name>this</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>x</inParameter-name>     </inParameter>
+     <inParameter>
+<inParameter-type>long</inParameter-type>
+      <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
+    <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+      <outParameter-name>z</outParameter-name>     </outParameter>    </outParameter-list>   </service>
+   <DataStream-list>
+<inParameter>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
+    <outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
+   <PyFunction-list/>
+   <creation-date>4/5/2004 - 9:44:20</creation-date>
+   <lastmodification-date>4/5/2004 - 9:44:20</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>?</author>
+   <container>?</container>
+   <comment>Compute Node</comment>
+   <x-position>8</x-position>
+   <y-position>0</y-position>  </node> </node-list>
  <link-list>
 <link>
+<fromnode-name>NewDataStream</fromnode-name>
+   <fromserviceparameter-name>DataStream</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>this</toserviceparameter-name>
+   <coord-list/>  </link>
+  <link>
 <fromnode-name>Add</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
    <tonode-name>Sub</tonode-name>
    <toserviceparameter-name>y</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>189</x>
-     <y>207</y>    </coord>
+<x>208</x>
+     <y>252</y>    </coord>
     <coord>
-<x>189</x>
-     <y>350</y>    </coord>   </coord-list>  </link>
+<x>207</x>
+     <y>349</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
      <y>378</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add</fromnode-name>
-   <fromserviceparameter-name>Ostream</fromserviceparameter-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
    <tonode-name>Sub</tonode-name>
    <toserviceparameter-name>Istream</toserviceparameter-name>
    <coord-list>
    <toserviceparameter-name>x</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>420</x>
-     <y>322</y>    </coord>
+<x>436</x>
+     <y>320</y>    </coord>
     <coord>
-<x>419</x>
-     <y>180</y>    </coord>   </coord-list>  </link>
+<x>435</x>
+     <y>223</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Sub</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
    <toserviceparameter-name>y</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>622</x>
-     <y>207</y>    </coord>
+<x>645</x>
+     <y>252</y>    </coord>
+    <coord>
+<x>644</x>
+     <y>320</y>    </coord>
     <coord>
 <x>623</x>
      <y>320</y>    </coord>   </coord-list>  </link> </link-list>
    <tonode-name>Add</tonode-name>
    <toserviceparameter-name>x</toserviceparameter-name>
    <data-value>
-<value-type>7</value-type>
+<value-type>3</value-type>
     <value>3</value>   </data-value>
    <coord-list/>  </data>
   <data>
    <tonode-name>Add</tonode-name>
    <toserviceparameter-name>y</toserviceparameter-name>
    <data-value>
-<value-type>7</value-type>
-    <value>4.5</value>   </data-value>
+<value-type>3</value-type>
+    <value>7</value>   </data-value>
    <coord-list/>  </data>
   <data>
 <fromnode-name>GraphStream</fromnode-name>
    <tonode-name>Sub</tonode-name>
    <toserviceparameter-name>x</toserviceparameter-name>
    <data-value>
-<value-type>7</value-type>
-    <value>1.5</value>   </data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\x</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>x</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\y</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>y</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>2</value>   </data-value>
    <coord-list/>  </data>
   <data>
 <fromnode-name>GraphStream</fromnode-name>
    <data-value>
 <value-type>3</value-type>
     <value>1</value>   </data-value>
+   <coord-list/>  </data>
+  <data>
+<fromnode-name>GraphStream</fromnode-name>
+   <fromserviceparameter-name>StreamAdd\istream</fromserviceparameter-name>
+   <tonode-name>StreamAdd</tonode-name>
+   <toserviceparameter-name>istream</toserviceparameter-name>
+   <data-value>
+<value-type>3</value-type>
+    <value>136159896</value>   </data-value>
    <coord-list/>  </data> </data-list></dataflow>
index fc9367b61e762e8c2cd66920f4a3ca544790154c..f2c2ab97740e5993243cff0f05da5c817f3c3eb7 100644 (file)
 
 from SuperV import *
 # Graph creation 
-GraphStreams = Graph( 'GraphStreams' )
+GraphStreams = StreamGraph( 'GraphStreams' )
+GraphStreams.SetStreamParams( 1000 , SUPERV.SummaryTrace , 1.5 )
 GraphStreams.SetName( 'GraphStreams' )
-GraphStreams.SetAuthor( '' )
-GraphStreams.SetComment( '' )
+GraphStreams.SetAuthor( 'JR' )
+GraphStreams.SetComment( 'Graph with DataStreamPorts CEA/EDF : Calcium' )
 GraphStreams.Coords( 0 , 0 )
 
 # Creation of Factory Nodes
 
-Add = GraphStreams.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+Add = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
 Add.SetName( 'Add' )
 Add.SetAuthor( '' )
 Add.SetContainer( 'FactoryServer' )
-Add.SetComment( 'Add from AddComponent' )
+Add.SetComment( 'Add from DataStreamFactory' )
 Add.Coords( 256 , 156 )
-Add.InDataStreamPort( 'istream' , 'long' )
-Add.OutDataStreamPort( 'ostream' , 'long' )
-Add.OutDataStreamPort( 'Ostream' , 'long' )
-
-Sub = GraphStreams.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
+IAddx = Add.GetInPort( 'x' )
+IAddy = Add.GetInPort( 'y' )
+IAddGate = Add.GetInPort( 'Gate' )
+OAddz = Add.GetOutPort( 'z' )
+OAddGate = Add.GetOutPort( 'Gate' )
+IAddistream = Add.GetInStreamPort( 'istream' )
+IAddistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAddostream = Add.GetOutStreamPort( 'ostream' )
+OAddostream.SetNumberOfValues( 0 )
+OAddOStream = Add.GetOutStreamPort( 'OStream' )
+OAddOStream.SetNumberOfValues( 10 )
+
+Sub = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
 Sub.SetName( 'Sub' )
 Sub.SetAuthor( '' )
 Sub.SetContainer( 'FactoryServer' )
-Sub.SetComment( 'Sub from SubComponent' )
+Sub.SetComment( 'Sub from DataStreamFactory' )
 Sub.Coords( 519 , 33 )
-Sub.InDataStreamPort( 'istream' , 'long' )
-Sub.InDataStreamPort( 'Istream' , 'long' )
-
-Mul = GraphStreams.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+ISubx = Sub.GetInPort( 'x' )
+ISuby = Sub.GetInPort( 'y' )
+ISubGate = Sub.GetInPort( 'Gate' )
+OSubz = Sub.GetOutPort( 'z' )
+OSubGate = Sub.GetOutPort( 'Gate' )
+ISubistream = Sub.GetInStreamPort( 'istream' )
+ISubistream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISubIstream = Sub.GetInStreamPort( 'Istream' )
+ISubIstream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
 Mul.SetName( 'Mul' )
 Mul.SetAuthor( '' )
 Mul.SetContainer( 'FactoryServer' )
-Mul.SetComment( 'Mul from MulComponent' )
-Mul.Coords( 723 , 156 )
-
-Div = GraphStreams.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul.SetComment( 'Mul from DataStreamFactory' )
+Mul.Coords( 723 , 127 )
+IMulx = Mul.GetInPort( 'x' )
+IMuly = Mul.GetInPort( 'y' )
+IMulGate = Mul.GetInPort( 'Gate' )
+OMulz = Mul.GetOutPort( 'z' )
+OMulGate = Mul.GetOutPort( 'Gate' )
+
+Div = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
 Div.SetName( 'Div' )
 Div.SetAuthor( '' )
 Div.SetContainer( 'FactoryServer' )
-Div.SetComment( 'Div from DivComponent' )
+Div.SetComment( 'Div from DataStreamFactory' )
 Div.Coords( 936 , 34 )
-Div.OutDataStreamPort( 'ostream' , 'long' )
-
-Add_1 = GraphStreams.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
+IDivx = Div.GetInPort( 'x' )
+IDivy = Div.GetInPort( 'y' )
+IDivGate = Div.GetInPort( 'Gate' )
+ODivz = Div.GetOutPort( 'z' )
+ODivGate = Div.GetOutPort( 'Gate' )
+ODivostream = Div.GetOutStreamPort( 'ostream' )
+ODivostream.SetNumberOfValues( 0 )
+
+Add_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Add' )
 Add_1.SetName( 'Add_1' )
 Add_1.SetAuthor( '' )
 Add_1.SetContainer( 'localhost/FactoryServer' )
-Add_1.SetComment( 'Add from AddComponent' )
+Add_1.SetComment( 'Add from DataStreamFactory' )
 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' )
+IAdd_1x = Add_1.GetInPort( 'x' )
+IAdd_1y = Add_1.GetInPort( 'y' )
+IAdd_1Gate = Add_1.GetInPort( 'Gate' )
+OAdd_1z = Add_1.GetOutPort( 'z' )
+OAdd_1Gate = Add_1.GetOutPort( 'Gate' )
+IAdd_1istream = Add_1.GetInStreamPort( 'istream' )
+IAdd_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+OAdd_1ostream = Add_1.GetOutStreamPort( 'ostream' )
+OAdd_1ostream.SetNumberOfValues( 0 )
+OAdd_1OStream = Add_1.GetOutStreamPort( 'OStream' )
+OAdd_1OStream.SetNumberOfValues( 0 )
+
+Sub_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Sub' )
 Sub_1.SetName( 'Sub_1' )
 Sub_1.SetAuthor( '' )
 Sub_1.SetContainer( 'localhost/FactoryServer' )
-Sub_1.SetComment( 'Sub from SubComponent' )
+Sub_1.SetComment( 'Sub from DataStreamFactory' )
 Sub_1.Coords( 518 , 369 )
-Sub_1.InDataStreamPort( 'istream' , 'long' )
-Sub_1.InDataStreamPort( 'Istream' , 'long' )
-
-Mul_1 = GraphStreams.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
+ISub_1x = Sub_1.GetInPort( 'x' )
+ISub_1y = Sub_1.GetInPort( 'y' )
+ISub_1Gate = Sub_1.GetInPort( 'Gate' )
+OSub_1z = Sub_1.GetOutPort( 'z' )
+OSub_1Gate = Sub_1.GetOutPort( 'Gate' )
+ISub_1istream = Sub_1.GetInStreamPort( 'istream' )
+ISub_1istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+ISub_1Istream = Sub_1.GetInStreamPort( 'Istream' )
+ISub_1Istream.SetParams( SUPERV.SCHENULL , SUPERV.INTERNULL , SUPERV.EXTRANULL )
+
+Mul_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Mul' )
 Mul_1.SetName( 'Mul_1' )
 Mul_1.SetAuthor( '' )
 Mul_1.SetContainer( 'localhost/FactoryServer' )
-Mul_1.SetComment( 'Mul from MulComponent' )
-Mul_1.Coords( 731 , 498 )
-
-Div_1 = GraphStreams.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
+Mul_1.SetComment( 'Mul from DataStreamFactory' )
+Mul_1.Coords( 730 , 471 )
+IMul_1x = Mul_1.GetInPort( 'x' )
+IMul_1y = Mul_1.GetInPort( 'y' )
+IMul_1Gate = Mul_1.GetInPort( 'Gate' )
+OMul_1z = Mul_1.GetOutPort( 'z' )
+OMul_1Gate = Mul_1.GetOutPort( 'Gate' )
+
+Div_1 = GraphStreams.FNode( 'DataStreamFactory' , 'DataStreamFactory' , 'Div' )
 Div_1.SetName( 'Div_1' )
 Div_1.SetAuthor( '' )
 Div_1.SetContainer( 'localhost/FactoryServer' )
-Div_1.SetComment( 'Div from DivComponent' )
+Div_1.SetComment( 'Div from DataStreamFactory' )
 Div_1.Coords( 931 , 369 )
-Div_1.OutDataStreamPort( 'ostream' , 'long' )
+IDiv_1x = Div_1.GetInPort( 'x' )
+IDiv_1y = Div_1.GetInPort( 'y' )
+IDiv_1Gate = Div_1.GetInPort( 'Gate' )
+ODiv_1z = Div_1.GetOutPort( 'z' )
+ODiv_1Gate = Div_1.GetOutPort( 'Gate' )
+ODiv_1ostream = Div_1.GetOutStreamPort( 'ostream' )
+ODiv_1ostream.SetNumberOfValues( 0 )
 
 # Creation of Loop Nodes
 PyLoop = []
@@ -111,168 +164,231 @@ EndLoop.SetComment( '' )
 EndLoop.Coords( 1157 , 388 )
 PyEndLoop = []
 EndLoop.SetPyFunction( 'EndInit' , PyEndLoop )
+ILoopInitLoop = Loop.GetInPort( 'InitLoop' )
+ILoopIndex = Loop.InPort( 'Index' , 'long' )
+ILoopMin = Loop.InPort( 'Min' , 'long' )
+ILoopMax = Loop.InPort( 'Max' , 'long' )
+ILoopIncr = Loop.InPort( 'Incr' , 'long' )
+ILoopz_Div = Loop.InPort( 'z_Div' , 'double' )
+ILoopz_Div_1 = Loop.InPort( 'z_Div_1' , 'double' )
+ILoopy_Add = Loop.InPort( 'y_Add' , 'double' )
+ILoopx_Sub = Loop.InPort( 'x_Sub' , 'double' )
+ILoopGate = Loop.GetInPort( 'Gate' )
+OLoopDoLoop = Loop.GetOutPort( 'DoLoop' )
+OLoopIndex = Loop.GetOutPort( 'Index' )
+OLoopMin = Loop.GetOutPort( 'Min' )
+OLoopMax = Loop.GetOutPort( 'Max' )
+OLoopIncr = Loop.GetOutPort( 'Incr' )
+OLoopz_Div = Loop.GetOutPort( 'z_Div' )
+OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
+OLoopy_Add = Loop.GetOutPort( 'y_Add' )
+OLoopx_Sub = Loop.GetOutPort( 'x_Sub' )
+IEndLoopDoLoop = EndLoop.GetInPort( 'DoLoop' )
+IEndLoopIndex = EndLoop.GetInPort( 'Index' )
+IEndLoopMin = EndLoop.GetInPort( 'Min' )
+IEndLoopMax = EndLoop.GetInPort( 'Max' )
+IEndLoopIncr = EndLoop.GetInPort( 'Incr' )
+IEndLoopz_Div = EndLoop.GetInPort( 'z_Div' )
+IEndLoopz_Div_1 = EndLoop.GetInPort( 'z_Div_1' )
+IEndLoopy_Add = EndLoop.GetInPort( 'y_Add' )
+IEndLoopx_Sub = EndLoop.GetInPort( 'x_Sub' )
+IEndLoopGate = EndLoop.GetInPort( 'Gate' )
+OEndLoopDoLoop = EndLoop.GetOutPort( 'DoLoop' )
+OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
+OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
+OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
+OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
+OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
 Loop.SetName( 'Loop' )
 Loop.SetAuthor( '' )
 Loop.SetComment( '' )
 Loop.Coords( 5 , 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' )
+LAddzSuby = GraphStreams.Link( OAddz , ISuby )
+LAddzSuby.AddCoord( 1 , 448 , 143 )
+LAddzSuby.AddCoord( 2 , 449 , 237 )
+
+LAddzMuly = GraphStreams.Link( OAddz , IMuly )
+
+LAddostreamSubistream = GraphStreams.StreamLink( OAddostream , ISubistream )
+LAddostreamSubistream.AddCoord( 1 , 474 , 172 )
+LAddostreamSubistream.AddCoord( 2 , 474 , 294 )
+
+LAddOStreamSubIstream = GraphStreams.StreamLink( OAddOStream , ISubIstream )
+LAddOStreamSubIstream.AddCoord( 1 , 499 , 201 )
+LAddOStreamSubIstream.AddCoord( 2 , 500 , 322 )
+
+LSubzMulx = GraphStreams.Link( OSubz , IMulx )
+LSubzMulx.AddCoord( 1 , 706 , 207 )
+LSubzMulx.AddCoord( 2 , 706 , 114 )
+
+LSubzDivx = GraphStreams.Link( OSubz , IDivx )
+
+LMulzDivy = GraphStreams.Link( OMulz , IDivy )
+LMulzDivy.AddCoord( 1 , 912 , 143 )
+LMulzDivy.AddCoord( 2 , 911 , 208 )
+
+LDivzEndLoopz_Div = GraphStreams.Link( ODivz , IEndLoopz_Div )
+LDivzEndLoopz_Div.AddCoord( 1 , 1147 , 537 )
+LDivzEndLoopz_Div.AddCoord( 2 , 1148 , 113 )
+
+LDivostreamAdd_1istream = GraphStreams.StreamLink( ODivostream , IAdd_1istream )
+LDivostreamAdd_1istream.AddCoord( 1 , 232 , 638 )
+LDivostreamAdd_1istream.AddCoord( 2 , 232 , 763 )
+LDivostreamAdd_1istream.AddCoord( 3 , 1126 , 763 )
+LDivostreamAdd_1istream.AddCoord( 4 , 1125 , 144 )
+
+LAdd_1zSub_1y = GraphStreams.Link( OAdd_1z , ISub_1y )
+LAdd_1zSub_1y.AddCoord( 1 , 445 , 478 )
+LAdd_1zSub_1y.AddCoord( 2 , 445 , 582 )
+
+LAdd_1zMul_1y = GraphStreams.Link( OAdd_1z , IMul_1y )
+
+LAdd_1ostreamSub_1istream = GraphStreams.StreamLink( OAdd_1ostream , ISub_1istream )
+LAdd_1ostreamSub_1istream.AddCoord( 1 , 473 , 508 )
+LAdd_1ostreamSub_1istream.AddCoord( 2 , 474 , 638 )
+
+LAdd_1OStreamSub_1Istream = GraphStreams.StreamLink( OAdd_1OStream , ISub_1Istream )
+LAdd_1OStreamSub_1Istream.AddCoord( 1 , 498 , 535 )
+LAdd_1OStreamSub_1Istream.AddCoord( 2 , 498 , 667 )
+
+LSub_1zMul_1x = GraphStreams.Link( OSub_1z , IMul_1x )
+LSub_1zMul_1x.AddCoord( 1 , 708 , 552 )
+LSub_1zMul_1x.AddCoord( 2 , 707 , 450 )
+
+LSub_1zDiv_1x = GraphStreams.Link( OSub_1z , IDiv_1x )
+
+LMul_1zDiv_1y = GraphStreams.Link( OMul_1z , IDiv_1y )
+LMul_1zDiv_1y.AddCoord( 1 , 913 , 479 )
+LMul_1zDiv_1y.AddCoord( 2 , 913 , 551 )
+
+LDiv_1zEndLoopz_Div_1 = GraphStreams.Link( ODiv_1z , IEndLoopz_Div_1 )
+LDiv_1zEndLoopz_Div_1.AddCoord( 1 , 1138 , 567 )
+LDiv_1zEndLoopz_Div_1.AddCoord( 2 , 1138 , 449 )
+
+LDiv_1ostreamAddistream = GraphStreams.StreamLink( ODiv_1ostream , IAddistream )
+LDiv_1ostreamAddistream.AddCoord( 1 , 230 , 293 )
+LDiv_1ostreamAddistream.AddCoord( 2 , 229 , 426 )
+LDiv_1ostreamAddistream.AddCoord( 3 , 475 , 425 )
+LDiv_1ostreamAddistream.AddCoord( 4 , 475 , 352 )
+LDiv_1ostreamAddistream.AddCoord( 5 , 1110 , 352 )
+LDiv_1ostreamAddistream.AddCoord( 6 , 1111 , 477 )
 
+LLoopIndexEndLoopIndex = GraphStreams.Link( OLoopIndex , IEndLoopIndex )
+
+LLoopIndexAddx = GraphStreams.Link( OLoopIndex , IAddx )
+LLoopIndexAddx.AddCoord( 1 , 201 , 236 )
+LLoopIndexAddx.AddCoord( 2 , 202 , 433 )
+
+LLoopIndexAdd_1x = GraphStreams.Link( OLoopIndex , IAdd_1x )
+LLoopIndexAdd_1x.AddCoord( 1 , 199 , 578 )
+LLoopIndexAdd_1x.AddCoord( 2 , 200 , 435 )
+
+LLoopMinEndLoopMin = GraphStreams.Link( OLoopMin , IEndLoopMin )
+
+LLoopMaxEndLoopMax = GraphStreams.Link( OLoopMax , IEndLoopMax )
+
+LLoopIncrEndLoopIncr = GraphStreams.Link( OLoopIncr , IEndLoopIncr )
+
+LLoopy_AddEndLoopy_Add = GraphStreams.Link( OLoopy_Add , IEndLoopy_Add )
+
+LLoopy_AddAddy = GraphStreams.Link( OLoopy_Add , IAddy )
+LLoopy_AddAddy.AddCoord( 1 , 183 , 266 )
+LLoopy_AddAddy.AddCoord( 2 , 183 , 608 )
+
+LLoopy_AddAdd_1y = GraphStreams.Link( OLoopy_Add , IAdd_1y )
+
+LLoopx_SubEndLoopx_Sub = GraphStreams.Link( OLoopx_Sub , IEndLoopx_Sub )
+
+LLoopx_SubSubx = GraphStreams.Link( OLoopx_Sub , ISubx )
+LLoopx_SubSubx.AddCoord( 1 , 167 , 113 )
+LLoopx_SubSubx.AddCoord( 2 , 165 , 636 )
+
+LLoopx_SubSub_1x = GraphStreams.Link( OLoopx_Sub , ISub_1x )
+LLoopx_SubSub_1x.AddCoord( 1 , 167 , 450 )
+LLoopx_SubSub_1x.AddCoord( 2 , 165 , 637 )
+
+# Input datas
+ILoopIndex.Input( 0 )
+ILoopMin.Input( 1 )
+ILoopMax.Input( 10 )
+ILoopIncr.Input( 1 )
+ILoopz_Div.Input( 0 )
+ILoopz_Div_1.Input( 0 )
+ILoopy_Add.Input( 4.5 )
+ILoopx_Sub.Input( 1.5 )
+
+# Output Ports of the graph
+#OLoopz_Div = Loop.GetOutPort( 'z_Div' )
+#OLoopz_Div_1 = Loop.GetOutPort( 'z_Div_1' )
+#OEndLoopIndex = EndLoop.GetOutPort( 'Index' )
+#OEndLoopMin = EndLoop.GetOutPort( 'Min' )
+#OEndLoopMax = EndLoop.GetOutPort( 'Max' )
+#OEndLoopIncr = EndLoop.GetOutPort( 'Incr' )
+#OEndLoopz_Div = EndLoop.GetOutPort( 'z_Div' )
+#OEndLoopz_Div_1 = EndLoop.GetOutPort( 'z_Div_1' )
+#OEndLoopy_Add = EndLoop.GetOutPort( 'y_Add' )
+#OEndLoopx_Sub = EndLoop.GetOutPort( 'x_Sub' )
+GraphStreams.Run()
+GraphStreams.DoneW()
+GraphStreams.State()
+
+GraphStreams.PrintPorts()
+
+subgraphs = GraphStreams.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreams.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreams.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreams.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+GraphStreams.Export('/tmp/GraphStreams.xml')
+
+GraphStreams = StreamGraph( '/tmp/GraphStreams.xml' )
 GraphStreams.Run()
 GraphStreams.DoneW()
 GraphStreams.PrintPorts()
+GraphStreams.State()
+
+GraphStreams.IsExecutable()
+
+subgraphs = GraphStreams.SubGraphsNumber()
+i = 1
+while i <= subgraphs :
+    nodes = GraphStreams.SubGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
+
+substreamgraphs = GraphStreams.SubStreamGraphsNumber()
+i = 1
+while i <= substreamgraphs :
+    nodes = GraphStreams.SubStreamGraphsNodes( i )
+    j = 0
+    while j < len(nodes) :
+        print 'SubStreamGraph',i,nodes[j].Name()
+        j = j + 1
+    i = i + 1
+
index 8ab2d9ba650b9805b8b057027f86d9993ca94fab..8a9d47892c4db15bb67f9d880735dcc1ae2c857c 100644 (file)
@@ -5,7 +5,10 @@
 <component-name>?</component-name>
    <interface-name>?</interface-name>
    <node-name>GraphStreams</node-name>
-   <kind>1</kind>
+   <kind>9</kind>
+   <streamgraph-timeout>1000</streamgraph-timeout>
+   <streamgraph-datastreamtrace>1</streamgraph-datastreamtrace>
+   <streamgraph-deltatime>1.5</streamgraph-deltatime>
    <coupled-node>?</coupled-node>
    <service>
 <service-name>GraphStreams</service-name>
       <inParameter-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-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>
+   <creation-date>23/4/2004 - 18:20:13</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
+   <author>JR</author>
    <container>?</container>
-   <comment>?</comment>
+   <comment>Graph with DataStreamPorts CEA/EDF : Calcium</comment>
    <x-position>0</x-position>
    <y-position>0</y-position>  </node> </info-list>
  <node-list>
 <node>
-<component-name>AddComponent</component-name>
-   <interface-name>AddComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Add</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Add</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</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-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>    </outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>10</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Add from AddComponent</comment>
+   <comment>Add from DataStreamFactory</comment>
    <x-position>256</x-position>
    <y-position>156</y-position>  </node>
   <node>
-<component-name>SubComponent</component-name>
-   <interface-name>SubComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Sub</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Sub</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <inParameter>
-<inParameter-type>long</inParameter-type>
-     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Sub from SubComponent</comment>
+   <comment>Sub from DataStreamFactory</comment>
    <x-position>519</x-position>
    <y-position>33</y-position>  </node>
   <node>
-<component-name>MulComponent</component-name>
-   <interface-name>MulComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Mul</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Mul</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Mul from MulComponent</comment>
+   <comment>Mul from DataStreamFactory</comment>
    <x-position>723</x-position>
-   <y-position>156</y-position>  </node>
+   <y-position>127</y-position>  </node>
   <node>
-<component-name>DivComponent</component-name>
-   <interface-name>DivComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Div</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Div</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>FactoryServer</container>
-   <comment>Div from DivComponent</comment>
+   <comment>Div from DataStreamFactory</comment>
    <x-position>936</x-position>
    <y-position>34</y-position>  </node>
   <node>
-<component-name>AddComponent</component-name>
-   <interface-name>AddComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Add_1</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Add</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</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-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>ostream</outParameter-name>    </outParameter>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>
     <outParameter>
-<outParameter-type>long</outParameter-type>
-     <outParameter-name>Ostream</outParameter-name>    </outParameter>   </DataStream-list>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>OStream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
-   <comment>Add from AddComponent</comment>
+   <comment>Add from DataStreamFactory</comment>
    <x-position>252</x-position>
    <y-position>499</y-position>  </node>
   <node>
-<component-name>SubComponent</component-name>
-   <interface-name>SubComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Sub_1</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Sub</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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-type>1</inParameter-type>
+     <inParameter-name>istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>
     <inParameter>
-<inParameter-type>long</inParameter-type>
-     <inParameter-name>Istream</inParameter-name>    </inParameter>   </DataStream-list>
+<inParameter-type>1</inParameter-type>
+     <inParameter-name>Istream</inParameter-name>
+     <inParameter-dependency>2</inParameter-dependency>
+     <inParameter-schema>0</inParameter-schema>
+     <inParameter-interpolation>0</inParameter-interpolation>
+     <inParameter-extrapolation>0</inParameter-extrapolation>    </inParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
-   <comment>Sub from SubComponent</comment>
+   <comment>Sub from DataStreamFactory</comment>
    <x-position>518</x-position>
    <y-position>369</y-position>  </node>
   <node>
-<component-name>MulComponent</component-name>
-   <interface-name>MulComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Mul_1</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Mul</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
-   <comment>Mul from MulComponent</comment>
-   <x-position>731</x-position>
-   <y-position>498</y-position>  </node>
+   <comment>Mul from DataStreamFactory</comment>
+   <x-position>730</x-position>
+   <y-position>471</y-position>  </node>
   <node>
-<component-name>DivComponent</component-name>
-   <interface-name>DivComponent</interface-name>
+<component-name>DataStreamFactory</component-name>
+   <interface-name>DataStreamFactory</interface-name>
    <node-name>Div_1</node-name>
    <kind>0</kind>
    <coupled-node>?</coupled-node>
 <service-name>Div</service-name>
     <inParameter-list>
 <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>x</inParameter-name>     </inParameter>
      <inParameter>
-<inParameter-type>double</inParameter-type>
+<inParameter-type>long</inParameter-type>
       <inParameter-name>y</inParameter-name>     </inParameter>    </inParameter-list>
     <outParameter-list>
 <outParameter>
-<outParameter-type>double</outParameter-type>
+<outParameter-type>long</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>
+<outParameter-type>1</outParameter-type>
+     <outParameter-name>ostream</outParameter-name>
+     <outParameter-dependency>2</outParameter-dependency>
+     <outParameter-values>0</outParameter-values>    </outParameter>   </DataStream-list>
    <PyFunction-list/>
-   <creation-date>15/3/2004 - 14:28:51</creation-date>
-   <lastmodification-date>15/3/2004 - 14:28:51</lastmodification-date>
-   <editor-release>1.05</editor-release>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>localhost/FactoryServer</container>
-   <comment>Div from DivComponent</comment>
+   <comment>Div from DataStreamFactory</comment>
    <x-position>931</x-position>
    <y-position>369</y-position>  </node>
   <node>
      <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>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
 <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>
+   <creation-date>4/5/2004 - 9:51:48</creation-date>
+   <lastmodification-date>4/5/2004 - 9:51:48</lastmodification-date>
+   <editor-release>2.0</editor-release>
    <author>?</author>
    <container>?</container>
    <comment>?</comment>
 <x>448</x>
      <y>143</y>    </coord>
     <coord>
-<x>447</x>
-     <y>266</y>    </coord>   </coord-list>  </link>
+<x>449</x>
+     <y>237</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
      <y>294</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add</fromnode-name>
-   <fromserviceparameter-name>Ostream</fromserviceparameter-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
    <tonode-name>Sub</tonode-name>
    <toserviceparameter-name>Istream</toserviceparameter-name>
    <coord-list>
    <toserviceparameter-name>x</toserviceparameter-name>
    <coord-list>
 <coord>
-<x>707</x>
-     <y>237</y>    </coord>
+<x>706</x>
+     <y>207</y>    </coord>
     <coord>
 <x>706</x>
      <y>114</y>    </coord>   </coord-list>  </link>
 <x>912</x>
      <y>143</y>    </coord>
     <coord>
-<x>912</x>
-     <y>236</y>    </coord>   </coord-list>  </link>
+<x>911</x>
+     <y>208</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Div</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
      <y>478</y>    </coord>
     <coord>
 <x>445</x>
-     <y>608</y>    </coord>   </coord-list>  </link>
+     <y>582</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add_1</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>
      <y>638</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Add_1</fromnode-name>
-   <fromserviceparameter-name>Ostream</fromserviceparameter-name>
+   <fromserviceparameter-name>OStream</fromserviceparameter-name>
    <tonode-name>Sub_1</tonode-name>
    <toserviceparameter-name>Istream</toserviceparameter-name>
    <coord-list>
    <coord-list>
 <coord>
 <x>708</x>
-     <y>579</y>    </coord>
+     <y>552</y>    </coord>
     <coord>
 <x>707</x>
      <y>450</y>    </coord>   </coord-list>  </link>
      <y>479</y>    </coord>
     <coord>
 <x>913</x>
-     <y>579</y>    </coord>   </coord-list>  </link>
+     <y>551</y>    </coord>   </coord-list>  </link>
   <link>
 <fromnode-name>Div_1</fromnode-name>
    <fromserviceparameter-name>z</fromserviceparameter-name>