From: rahuel Date: Tue, 15 Feb 2005 12:37:11 +0000 (+0000) Subject: There was a bug in the fori node (3 output arguments in Initfori function instead... X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=1b4479e55ae14c928c2d83429ac635ac32649852;p=modules%2Fsuperv.git There was a bug in the fori node (3 output arguments in Initfori function instead of 2). --- diff --git a/examples/SyrStruct.py b/examples/SyrStruct.py index 1809102..bd009be 100644 --- a/examples/SyrStruct.py +++ b/examples/SyrStruct.py @@ -2,402 +2,447 @@ # Generated python file of Graph SyrStruct from SuperV import * -# Graph creation -SyrStruct = Graph( 'SyrStruct' ) -SyrStruct.SetName( 'SyrStruct' ) -SyrStruct.SetAuthor( 'JR' ) -SyrStruct.SetComment( 'Syracuse algorithm' ) -SyrStruct.Coords( 0 , 0 ) - -# Creation of Factory Nodes - -m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' ) -m3.SetName( 'm3' ) -m3.SetAuthor( '' ) -m3.SetContainer( 'localhost/FactoryServer' ) -m3.SetComment( 'C_M3 from SyrComponent' ) -m3.Coords( 672 , 28 ) - -m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) -m3incr.SetName( 'm3incr' ) -m3incr.SetAuthor( '' ) -m3incr.SetContainer( 'localhost/FactoryServer' ) -m3incr.SetComment( 'C_INCR from SyrComponent' ) -m3incr.Coords( 898 , 29 ) - -incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) -incra.SetName( 'incra' ) -incra.SetAuthor( '' ) -incra.SetContainer( 'localhost/FactoryServer' ) -incra.SetComment( 'C_INCR from SyrComponent' ) -incra.Coords( 803 , 195 ) - -div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' ) -div2.SetName( 'div2' ) -div2.SetAuthor( '' ) -div2.SetContainer( 'localhost/FactoryServer' ) -div2.SetComment( 'C_DIV2 from SyrComponent' ) -div2.Coords( 810 , 435 ) - -incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) -incrb.SetName( 'incrb' ) -incrb.SetAuthor( '' ) -incrb.SetContainer( 'localhost/FactoryServer' ) -incrb.SetComment( 'C_INCR from SyrComponent' ) -incrb.Coords( 809 , 574 ) - -# Creation of InLine Nodes -PySyrComponent = [] -PySyrComponent.append( 'from LifeCycleCORBA import * ' ) -PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' ) -PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' ) -PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' ) -PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' ) -PySyrComponent.append( ' return ComponentRef ' ) -SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent ) -SyrComponent.SetName( 'SyrComponent' ) -SyrComponent.SetAuthor( '' ) -SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' ) -SyrComponent.Coords( 0 , 0 ) -SyrComponent.InPort( 'aContainer' , 'string' ) -SyrComponent.InPort( 'aComponent' , 'string' ) -SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' ) - -# Creation of Loop Nodes -PyforN = [] -PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' ) -PyforN.append( ' N = max ' ) -PyforN.append( ' if min > 0 : ' ) -PyforN.append( ' if max >= min : ' ) -PyforN.append( ' N = min ' ) -PyforN.append( ' return N,K,SyrComponent,min,max ' ) -PyMoreforN = [] -PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' ) -PyMoreforN.append( ' N = NN ' ) -PyMoreforN.append( ' OutLoop = 0 ' ) -PyMoreforN.append( ' if max > NN : ' ) -PyMoreforN.append( ' OutLoop = 1 ' ) -PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max ' ) -PyNextforN = [] -PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' ) -PyNextforN.append( ' N = NN + 1 ' ) -PyNextforN.append( ' K = KK ' ) -PyNextforN.append( ' return N,K,SyrComponent,min,max ' ) -forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN ) -EndOfforN.SetName( 'EndOfforN' ) -EndOfforN.SetAuthor( '' ) -EndOfforN.SetComment( '' ) -EndOfforN.Coords( 1535 , 332 ) -forN.SetName( 'forN' ) -forN.SetAuthor( '' ) -forN.SetComment( 'InitN , MoreN , NextN' ) -forN.Coords( 20 , 302 ) -forN.InPort( 'N' , 'long' ) -forN.InPort( 'K' , 'long' ) -forN.InPort( 'SyrComponent' , 'objref' ) -forN.InPort( 'min' , 'long' ) -forN.InPort( 'max' , 'long' ) -forN.OutPort( 'N' , 'long' ) -forN.OutPort( 'K' , 'long' ) -forN.OutPort( 'SyrComponent' , 'objref' ) -forN.OutPort( 'min' , 'long' ) -forN.OutPort( 'max' , 'long' ) - -PywhileNotOne = [] -PywhileNotOne.append( 'import threading' ) -PywhileNotOne.append( 'import SyrComponent_idl' ) -PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' ) -PywhileNotOne.append( ' return SyrComponent,N,K' ) -PyMorewhileNotOne = [] -PyMorewhileNotOne.append( 'import SyrComponent_idl' ) -PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' ) -PyMorewhileNotOne.append( ' OutLoop = 1 - SyrComponent.C_ISONE( N )' ) -PyMorewhileNotOne.append( ' return OutLoop,SyrComponent,N,K ' ) -PyNextwhileNotOne = [] -PyNextwhileNotOne.append( 'import SyrComponent_idl' ) -PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' ) -PyNextwhileNotOne.append( ' return SyrComponent,N,K' ) -whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne ) -EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' ) -EndOfwhileNotOne.SetAuthor( '' ) -EndOfwhileNotOne.SetComment( '' ) -EndOfwhileNotOne.Coords( 1366 , 303 ) -whileNotOne.SetName( 'whileNotOne' ) -whileNotOne.SetAuthor( '' ) -whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' ) -whileNotOne.Coords( 212 , 274 ) -whileNotOne.InPort( 'SyrComponent' , 'objref' ) -whileNotOne.InPort( 'N' , 'long' ) -whileNotOne.InPort( 'K' , 'long' ) -whileNotOne.OutPort( 'SyrComponent' , 'objref' ) -whileNotOne.OutPort( 'N' , 'long' ) -whileNotOne.OutPort( 'K' , 'long' ) - -Pyfori = [] -Pyfori.append( 'def Initfori( ii , K ) :' ) -Pyfori.append( ' return 1,0,K' ) -PyMorefori = [] -PyMorefori.append( 'def Morefori( ii , K ) :' ) -PyMorefori.append( ' OutLoop = 0' ) -PyMorefori.append( ' if 2 > ii :' ) -PyMorefori.append( ' OutLoop = 1' ) -PyMorefori.append( ' return OutLoop,ii,K' ) -PyNextfori = [] -PyNextfori.append( 'def Nextfori( ii , K ) :' ) -PyNextfori.append( ' ii = ii + 1' ) -PyNextfori.append( ' return ii,K' ) -fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori ) -EndOffori.SetName( 'EndOffori' ) -EndOffori.SetAuthor( '' ) -EndOffori.SetComment( '' ) -EndOffori.Coords( 976 , 212 ) -fori.SetName( 'fori' ) -fori.SetAuthor( '' ) -fori.SetComment( 'Initfori, Morefori, Nextfori' ) -fori.Coords( 635 , 212 ) -fori.InPort( 'i' , 'long' ) -fori.InPort( 'K' , 'long' ) -fori.OutPort( 'i' , 'long' ) -fori.OutPort( 'K' , 'long' ) - -PywhileEven = [] -PywhileEven.append( 'import SyrComponent_idl' ) -PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' ) -PywhileEven.append( ' return SyrComponent,N,K' ) -PyMorewhileEven = [] -PyMorewhileEven.append( 'import SyrComponent_idl' ) -PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' ) -PyMorewhileEven.append( ' OutLoop = SyrComponent.C_ISEVEN( N )' ) -PyMorewhileEven.append( ' return OutLoop,SyrComponent,N,K ' ) -PyNextwhileEven = [] -PyNextwhileEven.append( 'import SyrComponent_idl' ) -PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' ) -PyNextwhileEven.append( ' return SyrComponent,N,K' ) -whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven ) -EndOfwhileEven.SetName( 'EndOfwhileEven' ) -EndOfwhileEven.SetAuthor( '' ) -EndOfwhileEven.SetComment( '' ) -EndOfwhileEven.Coords( 988 , 451 ) -whileEven.SetName( 'whileEven' ) -whileEven.SetAuthor( '' ) -whileEven.SetComment( 'InitEven, MoreEven, NextEven' ) -whileEven.Coords( 632 , 451 ) -whileEven.InPort( 'SyrComponent' , 'objref' ) -whileEven.InPort( 'N' , 'long' ) -whileEven.InPort( 'K' , 'long' ) -whileEven.OutPort( 'SyrComponent' , 'objref' ) -whileEven.OutPort( 'N' , 'long' ) -whileEven.OutPort( 'K' , 'long' ) - -# Creation of Switch Nodes -PyifNotEven = [] -PyifNotEven.append( 'import SyrComponent_idl' ) -PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' ) -PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )' ) -PyifNotEven.append( ' Odd = 1 - Even' ) -PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K' ) -ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven ) -EndOfifNotEven.SetName( 'EndOfifNotEven' ) -EndOfifNotEven.SetAuthor( '' ) -EndOfifNotEven.SetComment( '' ) -EndOfifNotEven.Coords( 1205 , 331 ) -PyEndOfifNotEven = [] -EndOfifNotEven.SetPyFunction( 'EndifNotEven' , PyEndOfifNotEven ) -EndOfifNotEven.InPort( 'N' , 'long' ) -EndOfifNotEven.InPort( 'K' , 'long' ) -EndOfifNotEven.OutPort( 'N' , 'long' ) -EndOfifNotEven.OutPort( 'K' , 'long' ) -ifNotEven.SetName( 'ifNotEven' ) -ifNotEven.SetAuthor( '' ) -ifNotEven.SetComment( 'ifNotEven' ) -ifNotEven.Coords( 418 , 274 ) -ifNotEven.InPort( 'SyrComponent' , 'objref' ) -ifNotEven.InPort( 'N' , 'long' ) -ifNotEven.InPort( 'K' , 'long' ) -ifNotEven.OutPort( 'Odd' , 'long' ) -ifNotEven.OutPort( 'Even' , 'long' ) -ifNotEven.OutPort( 'SyrComponent' , 'objref' ) -ifNotEven.OutPort( 'N' , 'long' ) -ifNotEven.OutPort( 'K' , 'long' ) - -# Creation of Links -m3anInteger = m3.Port( 'anInteger' ) -m3incraCount = SyrStruct.Link( m3anInteger , m3incr.Port( 'aCount' ) ) - -m3incraNewCount = m3incr.Port( 'aNewCount' ) -EndOfifNotEvenN = SyrStruct.Link( m3incraNewCount , EndOfifNotEven.Port( 'N' ) ) -EndOfifNotEvenN.AddCoord( 1 , 1190 , 366 ) -EndOfifNotEvenN.AddCoord( 2 , 1191 , 109 ) - -incraaNewCount = incra.Port( 'aNewCount' ) -EndOfforiK = SyrStruct.Link( incraaNewCount , EndOffori.Port( 'K' ) ) - -div2anInteger = div2.Port( 'anInteger' ) -EndOfwhileEvenN = SyrStruct.Link( div2anInteger , EndOfwhileEven.Port( 'N' ) ) - -incrbaNewCount = incrb.Port( 'aNewCount' ) -EndOfwhileEvenK = SyrStruct.Link( incrbaNewCount , EndOfwhileEven.Port( 'K' ) ) -EndOfwhileEvenK.AddCoord( 1 , 988 , 543 ) -EndOfwhileEvenK.AddCoord( 2 , 988 , 654 ) - -SyrComponentSyrComponentobjref = SyrComponent.Port( 'SyrComponentobjref' ) -forNSyrComponent = SyrStruct.Link( SyrComponentSyrComponentobjref , forN.Port( 'SyrComponent' ) ) -forNSyrComponent.AddCoord( 1 , 13 , 394 ) -forNSyrComponent.AddCoord( 2 , 12 , 181 ) -forNSyrComponent.AddCoord( 3 , 196 , 181 ) -forNSyrComponent.AddCoord( 4 , 197 , 81 ) - -forNN = forN.Port( 'N' ) -whileNotOneN = SyrStruct.Link( forNN , whileNotOne.Port( 'N' ) ) - -EndOfforNN = SyrStruct.Link( forNN , EndOfforN.Port( 'N' ) ) - -forNK = forN.Port( 'K' ) -whileNotOneK = SyrStruct.Link( forNK , whileNotOne.Port( 'K' ) ) - -forNSyrComponent = forN.Port( 'SyrComponent' ) -EndOfforNSyrComponent = SyrStruct.Link( forNSyrComponent , EndOfforN.Port( 'SyrComponent' ) ) - -whileNotOneSyrComponent = SyrStruct.Link( forNSyrComponent , whileNotOne.Port( 'SyrComponent' ) ) -whileNotOneSyrComponent.AddCoord( 1 , 192 , 309 ) -whileNotOneSyrComponent.AddCoord( 2 , 191 , 394 ) - -forNmin = forN.Port( 'min' ) -EndOfforNmin = SyrStruct.Link( forNmin , EndOfforN.Port( 'min' ) ) - -forNmax = forN.Port( 'max' ) -EndOfforNmax = SyrStruct.Link( forNmax , EndOfforN.Port( 'max' ) ) - -whileNotOneSyrComponent = whileNotOne.Port( 'SyrComponent' ) -EndOfwhileNotOneSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , EndOfwhileNotOne.Port( 'SyrComponent' ) ) - -ifNotEvenSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , ifNotEven.Port( 'SyrComponent' ) ) - -whileNotOneN = whileNotOne.Port( 'N' ) -ifNotEvenN = SyrStruct.Link( whileNotOneN , ifNotEven.Port( 'N' ) ) - -whileNotOneK = whileNotOne.Port( 'K' ) -ifNotEvenK = SyrStruct.Link( whileNotOneK , ifNotEven.Port( 'K' ) ) - -EndOfwhileNotOneK = EndOfwhileNotOne.Port( 'K' ) -EndOfforNK = SyrStruct.Link( EndOfwhileNotOneK , EndOfforN.Port( 'K' ) ) - -forii = fori.Port( 'i' ) -EndOfforii = SyrStruct.Link( forii , EndOffori.Port( 'i' ) ) - -foriK = fori.Port( 'K' ) -incraaCount = SyrStruct.Link( foriK , incra.Port( 'aCount' ) ) - -EndOfforiK = EndOffori.Port( 'K' ) -EndOfifNotEvenK = SyrStruct.Link( EndOfforiK , EndOfifNotEven.Port( 'K' ) ) -EndOfifNotEvenK.AddCoord( 1 , 1170 , 396 ) -EndOfifNotEvenK.AddCoord( 2 , 1169 , 275 ) - -whileEvenSyrComponent = whileEven.Port( 'SyrComponent' ) -EndOfwhileEvenSyrComponent = SyrStruct.Link( whileEvenSyrComponent , EndOfwhileEven.Port( 'SyrComponent' ) ) - -whileEvenN = whileEven.Port( 'N' ) -div2anEvenInteger = SyrStruct.Link( whileEvenN , div2.Port( 'anEvenInteger' ) ) - -whileEvenK = whileEven.Port( 'K' ) -incrbaCount = SyrStruct.Link( whileEvenK , incrb.Port( 'aCount' ) ) -incrbaCount.AddCoord( 1 , 796 , 655 ) -incrbaCount.AddCoord( 2 , 795 , 543 ) - -EndOfwhileEvenN = EndOfwhileEven.Port( 'N' ) -EndOfifNotEvenN = SyrStruct.Link( EndOfwhileEvenN , EndOfifNotEven.Port( 'N' ) ) -EndOfifNotEvenN.AddCoord( 1 , 1191 , 366 ) -EndOfifNotEvenN.AddCoord( 2 , 1191 , 513 ) - -EndOfwhileEvenK = EndOfwhileEven.Port( 'K' ) -EndOfifNotEvenK = SyrStruct.Link( EndOfwhileEvenK , EndOfifNotEven.Port( 'K' ) ) -EndOfifNotEvenK.AddCoord( 1 , 1169 , 395 ) -EndOfifNotEvenK.AddCoord( 2 , 1170 , 543 ) - -ifNotEvenOdd = ifNotEven.Port( 'Odd' ) -m3InGate = SyrStruct.Link( ifNotEvenOdd , m3.Port( 'InGate' ) ) -m3InGate.AddCoord( 1 , 593 , 141 ) -m3InGate.AddCoord( 2 , 593 , 307 ) - -foriInGate = SyrStruct.Link( ifNotEvenOdd , fori.Port( 'InGate' ) ) - -ifNotEvenEven = ifNotEven.Port( 'Even' ) -whileEvenInGate = SyrStruct.Link( ifNotEvenEven , whileEven.Port( 'InGate' ) ) -whileEvenInGate.AddCoord( 1 , 593 , 576 ) -whileEvenInGate.AddCoord( 2 , 592 , 339 ) - -ifNotEvenSyrComponent = ifNotEven.Port( 'SyrComponent' ) -whileEvenSyrComponent = SyrStruct.Link( ifNotEvenSyrComponent , whileEven.Port( 'SyrComponent' ) ) -whileEvenSyrComponent.AddCoord( 1 , 586 , 486 ) -whileEvenSyrComponent.AddCoord( 2 , 587 , 367 ) - -ifNotEvenN = ifNotEven.Port( 'N' ) -whileEvenN = SyrStruct.Link( ifNotEvenN , whileEven.Port( 'N' ) ) -whileEvenN.AddCoord( 1 , 604 , 513 ) -whileEvenN.AddCoord( 2 , 603 , 397 ) - -m3anOddInteger = SyrStruct.Link( ifNotEvenN , m3.Port( 'anOddInteger' ) ) -m3anOddInteger.AddCoord( 1 , 604 , 107 ) -m3anOddInteger.AddCoord( 2 , 604 , 395 ) - -ifNotEvenK = ifNotEven.Port( 'K' ) -whileEvenK = SyrStruct.Link( ifNotEvenK , whileEven.Port( 'K' ) ) -whileEvenK.AddCoord( 1 , 621 , 544 ) -whileEvenK.AddCoord( 2 , 622 , 426 ) - -foriK = SyrStruct.Link( ifNotEvenK , fori.Port( 'K' ) ) -foriK.AddCoord( 1 , 622 , 275 ) -foriK.AddCoord( 2 , 622 , 426 ) - -ifNotEvenDefault = ifNotEven.Port( 'Default' ) -EndOfifNotEvenDefault = SyrStruct.Link( ifNotEvenDefault , EndOfifNotEven.Port( 'Default' ) ) -EndOfifNotEvenDefault.AddCoord( 1 , 1204 , 429 ) -EndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 ) -EndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 ) -EndOfifNotEvenDefault.AddCoord( 4 , 581 , 458 ) - -EndOfifNotEvenN = EndOfifNotEven.Port( 'N' ) -EndOfwhileNotOneN = SyrStruct.Link( EndOfifNotEvenN , EndOfwhileNotOne.Port( 'N' ) ) - -EndOfifNotEvenK = EndOfifNotEven.Port( 'K' ) -EndOfwhileNotOneK = SyrStruct.Link( EndOfifNotEvenK , EndOfwhileNotOne.Port( 'K' ) ) - -# Creation of Input datas -SyrComponentaContainer = SyrComponent.Input( 'aContainer' , 'FactoryServer') -SyrComponentaComponent = SyrComponent.Input( 'aComponent' , 'SyrComponent') -forNN = forN.Input( 'N' , 0) - -forNK = forN.Input( 'K' , 0) -forNmin = forN.Input( 'min' , 5) -forNmax = forN.Input( 'max' , 9) -forii = fori.Input( 'i' , 0) - -# Creation of Output variables -EndOfforNN = EndOfforN.Port( 'N' ) -EndOfforNK = EndOfforN.Port( 'K' ) -EndOfforNSyrComponent = EndOfforN.Port( 'SyrComponent' ) -EndOfforNmin = EndOfforN.Port( 'min' ) -EndOfforNmax = EndOfforN.Port( 'max' ) -EndOfwhileNotOneSyrComponent = EndOfwhileNotOne.Port( 'SyrComponent' ) -EndOfwhileNotOneN = EndOfwhileNotOne.Port( 'N' ) -EndOfforii = EndOffori.Port( 'i' ) -EndOfwhileEvenSyrComponent = EndOfwhileEven.Port( 'SyrComponent' ) - -SyrStruct.Run() - -SyrStruct.DoneW() - -print SyrStruct.State() - -SyrStruct.PrintPorts() - -SyrStruct.Export( '/tmp/SyrStruct.xml' ) - -SyrStruct = Graph( '/tmp/SyrStruct.xml' ) - -SyrStruct.Run() - -SyrStruct.DoneW() - -print SyrStruct.State() +# Graph creation of SyrStruct +def DefSyrStruct() : + SyrStruct = Graph( 'SyrStruct' ) + SyrStruct.SetName( 'SyrStruct' ) + SyrStruct.SetAuthor( 'JR' ) + SyrStruct.SetComment( 'Syracuse algorithm' ) + SyrStruct.Coords( 0 , 0 ) + + # Creation of Factory Nodes + + m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' ) + m3.SetName( 'm3' ) + m3.SetAuthor( '' ) + m3.SetContainer( 'localhost/FactoryServer' ) + m3.SetComment( 'C_M3 from SyrComponent' ) + m3.Coords( 672 , 28 ) + Im3anOddInteger = m3.GetInPort( 'anOddInteger' ) + Im3Gate = m3.GetInPort( 'Gate' ) + Om3anInteger = m3.GetOutPort( 'anInteger' ) + Om3Gate = m3.GetOutPort( 'Gate' ) + + m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) + m3incr.SetName( 'm3incr' ) + m3incr.SetAuthor( '' ) + m3incr.SetContainer( 'localhost/FactoryServer' ) + m3incr.SetComment( 'C_INCR from SyrComponent' ) + m3incr.Coords( 899 , 28 ) + Im3incraCount = m3incr.GetInPort( 'aCount' ) + Im3incrGate = m3incr.GetInPort( 'Gate' ) + Om3incraNewCount = m3incr.GetOutPort( 'aNewCount' ) + Om3incrGate = m3incr.GetOutPort( 'Gate' ) + + incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) + incra.SetName( 'incra' ) + incra.SetAuthor( '' ) + incra.SetContainer( 'localhost/FactoryServer' ) + incra.SetComment( 'C_INCR from SyrComponent' ) + incra.Coords( 824 , 218 ) + IincraaCount = incra.GetInPort( 'aCount' ) + IincraGate = incra.GetInPort( 'Gate' ) + OincraaNewCount = incra.GetOutPort( 'aNewCount' ) + OincraGate = incra.GetOutPort( 'Gate' ) + + div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' ) + div2.SetName( 'div2' ) + div2.SetAuthor( '' ) + div2.SetContainer( 'localhost/FactoryServer' ) + div2.SetComment( 'C_DIV2 from SyrComponent' ) + div2.Coords( 817 , 431 ) + Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' ) + Idiv2Gate = div2.GetInPort( 'Gate' ) + Odiv2anInteger = div2.GetOutPort( 'anInteger' ) + Odiv2Gate = div2.GetOutPort( 'Gate' ) + + incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' ) + incrb.SetName( 'incrb' ) + incrb.SetAuthor( '' ) + incrb.SetContainer( 'localhost/FactoryServer' ) + incrb.SetComment( 'C_INCR from SyrComponent' ) + incrb.Coords( 821 , 574 ) + IincrbaCount = incrb.GetInPort( 'aCount' ) + IincrbGate = incrb.GetInPort( 'Gate' ) + OincrbaNewCount = incrb.GetOutPort( 'aNewCount' ) + OincrbGate = incrb.GetOutPort( 'Gate' ) + + # Creation of InLine Nodes + PySyrComponent = [] + PySyrComponent.append( 'from LifeCycleCORBA import * ' ) + PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' ) + PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' ) + PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' ) + PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' ) + PySyrComponent.append( ' return ComponentRef ' ) + SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent ) + SyrComponent.SetName( 'SyrComponent' ) + SyrComponent.SetAuthor( '' ) + SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' ) + SyrComponent.Coords( 0 , 0 ) + ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' ) + ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' ) + ISyrComponentGate = SyrComponent.GetInPort( 'Gate' ) + OSyrComponentSyrComponentobjref = SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' ) + OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' ) + + # Creation of Loop Nodes + PyforN = [] + PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' ) + PyforN.append( ' N = max ' ) + PyforN.append( ' if min > 0 : ' ) + PyforN.append( ' if max >= min : ' ) + PyforN.append( ' N = min ' ) + PyforN.append( ' return N,K,SyrComponent,min,max ' ) + PyMoreforN = [] + PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' ) + PyMoreforN.append( ' N = NN ' ) + PyMoreforN.append( ' OutLoop = 0 ' ) + PyMoreforN.append( ' if max > NN : ' ) + PyMoreforN.append( ' OutLoop = 1 ' ) + PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max ' ) + PyNextforN = [] + PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' ) + PyNextforN.append( ' N = NN + 1 ' ) + PyNextforN.append( ' K = KK ' ) + PyNextforN.append( ' return N,K,SyrComponent,min,max ' ) + forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN ) + EndOfforN.SetName( 'EndOfforN' ) + EndOfforN.SetAuthor( '' ) + EndOfforN.SetComment( 'Compute Node' ) + EndOfforN.Coords( 1590 , 331 ) + PyEndOfforN = [] + EndOfforN.SetPyFunction( '' , PyEndOfforN ) + IforNDoLoop = forN.GetInPort( 'DoLoop' ) + IforNN = forN.InPort( 'N' , 'long' ) + IforNK = forN.InPort( 'K' , 'long' ) + IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' ) + IforNmin = forN.InPort( 'min' , 'long' ) + IforNmax = forN.InPort( 'max' , 'long' ) + IforNGate = forN.GetInPort( 'Gate' ) + OforNDoLoop = forN.GetOutPort( 'DoLoop' ) + OforNN = forN.GetOutPort( 'N' ) + OforNK = forN.GetOutPort( 'K' ) + OforNSyrComponent = forN.GetOutPort( 'SyrComponent' ) + OforNmin = forN.GetOutPort( 'min' ) + OforNmax = forN.GetOutPort( 'max' ) + IEndOfforNDoLoop = EndOfforN.GetInPort( 'DoLoop' ) + IEndOfforNN = EndOfforN.GetInPort( 'N' ) + IEndOfforNK = EndOfforN.GetInPort( 'K' ) + IEndOfforNSyrComponent = EndOfforN.GetInPort( 'SyrComponent' ) + IEndOfforNmin = EndOfforN.GetInPort( 'min' ) + IEndOfforNmax = EndOfforN.GetInPort( 'max' ) + IEndOfforNGate = EndOfforN.GetInPort( 'Gate' ) + OEndOfforNDoLoop = EndOfforN.GetOutPort( 'DoLoop' ) + OEndOfforNN = EndOfforN.GetOutPort( 'N' ) + OEndOfforNK = EndOfforN.GetOutPort( 'K' ) + OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' ) + OEndOfforNmin = EndOfforN.GetOutPort( 'min' ) + OEndOfforNmax = EndOfforN.GetOutPort( 'max' ) + OEndOfforNGate = EndOfforN.GetOutPort( 'Gate' ) + forN.SetName( 'forN' ) + forN.SetAuthor( '' ) + forN.SetComment( 'InitN , MoreN , NextN' ) + forN.Coords( 20 , 302 ) + + PywhileNotOne = [] + PywhileNotOne.append( 'import threading' ) + PywhileNotOne.append( 'import SyrComponent_idl' ) + PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' ) + PywhileNotOne.append( ' return SyrComponent,N,K' ) + PyMorewhileNotOne = [] + PyMorewhileNotOne.append( 'import SyrComponent_idl' ) + PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' ) + PyMorewhileNotOne.append( ' OutLoop = 1 - SyrComponent.C_ISONE( N )' ) + PyMorewhileNotOne.append( ' return OutLoop,SyrComponent,N,K ' ) + PyNextwhileNotOne = [] + PyNextwhileNotOne.append( 'import SyrComponent_idl' ) + PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' ) + PyNextwhileNotOne.append( ' return SyrComponent,N,K' ) + whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne ) + EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' ) + EndOfwhileNotOne.SetAuthor( '' ) + EndOfwhileNotOne.SetComment( 'Compute Node' ) + EndOfwhileNotOne.Coords( 1405 , 311 ) + PyEndOfwhileNotOne = [] + EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne ) + IwhileNotOneDoLoop = whileNotOne.GetInPort( 'DoLoop' ) + IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' ) + IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' ) + IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' ) + IwhileNotOneGate = whileNotOne.GetInPort( 'Gate' ) + OwhileNotOneDoLoop = whileNotOne.GetOutPort( 'DoLoop' ) + OwhileNotOneSyrComponent = whileNotOne.GetOutPort( 'SyrComponent' ) + OwhileNotOneN = whileNotOne.GetOutPort( 'N' ) + OwhileNotOneK = whileNotOne.GetOutPort( 'K' ) + IEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetInPort( 'DoLoop' ) + IEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetInPort( 'SyrComponent' ) + IEndOfwhileNotOneN = EndOfwhileNotOne.GetInPort( 'N' ) + IEndOfwhileNotOneK = EndOfwhileNotOne.GetInPort( 'K' ) + IEndOfwhileNotOneGate = EndOfwhileNotOne.GetInPort( 'Gate' ) + OEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetOutPort( 'DoLoop' ) + OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' ) + OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' ) + OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' ) + OEndOfwhileNotOneGate = EndOfwhileNotOne.GetOutPort( 'Gate' ) + whileNotOne.SetName( 'whileNotOne' ) + whileNotOne.SetAuthor( '' ) + whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' ) + whileNotOne.Coords( 215 , 282 ) + + Pyfori = [] + Pyfori.append( 'def Initfori( ii , K ) : ' ) + Pyfori.append( ' ii = 0 ' ) + Pyfori.append( ' return ii,K ' ) + PyMorefori = [] + PyMorefori.append( 'from time import * ' ) + PyMorefori.append( 'def Morefori( ii , K ) : ' ) + PyMorefori.append( ' OutLoop = 0 ' ) + PyMorefori.append( ' if ii < 2 : ' ) + PyMorefori.append( ' OutLoop = 1 ' ) + PyMorefori.append( ' return OutLoop,ii,K ' ) + PyNextfori = [] + PyNextfori.append( 'def Nextfori( ii , K ) : ' ) + PyNextfori.append( ' ii = ii + 1 ' ) + PyNextfori.append( ' return ii,K ' ) + fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori ) + EndOffori.SetName( 'EndOffori' ) + EndOffori.SetAuthor( '' ) + EndOffori.SetComment( 'Compute Node' ) + EndOffori.Coords( 1009 , 238 ) + PyEndOffori = [] + EndOffori.SetPyFunction( '' , PyEndOffori ) + IforiDoLoop = fori.GetInPort( 'DoLoop' ) + Iforii = fori.InPort( 'i' , 'long' ) + IforiK = fori.InPort( 'K' , 'long' ) + IforiGate = fori.GetInPort( 'Gate' ) + OforiDoLoop = fori.GetOutPort( 'DoLoop' ) + Oforii = fori.GetOutPort( 'i' ) + OforiK = fori.GetOutPort( 'K' ) + IEndOfforiDoLoop = EndOffori.GetInPort( 'DoLoop' ) + IEndOfforii = EndOffori.GetInPort( 'i' ) + IEndOfforiK = EndOffori.GetInPort( 'K' ) + IEndOfforiGate = EndOffori.GetInPort( 'Gate' ) + OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' ) + OEndOfforii = EndOffori.GetOutPort( 'i' ) + OEndOfforiK = EndOffori.GetOutPort( 'K' ) + OEndOfforiGate = EndOffori.GetOutPort( 'Gate' ) + fori.SetName( 'fori' ) + fori.SetAuthor( '' ) + fori.SetComment( 'Initfori, Morefori, Nextfori' ) + fori.Coords( 641 , 238 ) + + PywhileEven = [] + PywhileEven.append( 'import SyrComponent_idl' ) + PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' ) + PywhileEven.append( ' return SyrComponent,N,K' ) + PyMorewhileEven = [] + PyMorewhileEven.append( 'import SyrComponent_idl' ) + PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' ) + PyMorewhileEven.append( ' OutLoop = SyrComponent.C_ISEVEN( N )' ) + PyMorewhileEven.append( ' return OutLoop,SyrComponent,N,K ' ) + PyNextwhileEven = [] + PyNextwhileEven.append( 'import SyrComponent_idl' ) + PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' ) + PyNextwhileEven.append( ' return SyrComponent,N,K' ) + whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven ) + EndOfwhileEven.SetName( 'EndOfwhileEven' ) + EndOfwhileEven.SetAuthor( '' ) + EndOfwhileEven.SetComment( 'Compute Node' ) + EndOfwhileEven.Coords( 1006 , 451 ) + PyEndOfwhileEven = [] + EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven ) + IwhileEvenDoLoop = whileEven.GetInPort( 'DoLoop' ) + IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' ) + IwhileEvenN = whileEven.InPort( 'N' , 'long' ) + IwhileEvenK = whileEven.InPort( 'K' , 'long' ) + IwhileEvenGate = whileEven.GetInPort( 'Gate' ) + OwhileEvenDoLoop = whileEven.GetOutPort( 'DoLoop' ) + OwhileEvenSyrComponent = whileEven.GetOutPort( 'SyrComponent' ) + OwhileEvenN = whileEven.GetOutPort( 'N' ) + OwhileEvenK = whileEven.GetOutPort( 'K' ) + IEndOfwhileEvenDoLoop = EndOfwhileEven.GetInPort( 'DoLoop' ) + IEndOfwhileEvenSyrComponent = EndOfwhileEven.GetInPort( 'SyrComponent' ) + IEndOfwhileEvenN = EndOfwhileEven.GetInPort( 'N' ) + IEndOfwhileEvenK = EndOfwhileEven.GetInPort( 'K' ) + IEndOfwhileEvenGate = EndOfwhileEven.GetInPort( 'Gate' ) + OEndOfwhileEvenDoLoop = EndOfwhileEven.GetOutPort( 'DoLoop' ) + OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' ) + OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' ) + OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' ) + OEndOfwhileEvenGate = EndOfwhileEven.GetOutPort( 'Gate' ) + whileEven.SetName( 'whileEven' ) + whileEven.SetAuthor( '' ) + whileEven.SetComment( 'InitEven, MoreEven, NextEven' ) + whileEven.Coords( 632 , 451 ) + + # Creation of Switch Nodes + PyifNotEven = [] + PyifNotEven.append( 'import SyrComponent_idl' ) + PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' ) + PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )' ) + PyifNotEven.append( ' Odd = 1 - Even' ) + PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K' ) + ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven ) + EndOfifNotEven.SetName( 'EndOfifNotEven' ) + EndOfifNotEven.SetAuthor( '' ) + EndOfifNotEven.SetComment( 'Compute Node' ) + EndOfifNotEven.Coords( 1220 , 331 ) + PyEndOfifNotEven = [] + EndOfifNotEven.SetPyFunction( '' , PyEndOfifNotEven ) + IEndOfifNotEvenN = EndOfifNotEven.InPort( 'N' , 'long' ) + IEndOfifNotEvenK = EndOfifNotEven.InPort( 'K' , 'long' ) + IEndOfifNotEvenDefault = EndOfifNotEven.GetInPort( 'Default' ) + OEndOfifNotEvenN = EndOfifNotEven.OutPort( 'N' , 'long' ) + OEndOfifNotEvenK = EndOfifNotEven.OutPort( 'K' , 'long' ) + OEndOfifNotEvenGate = EndOfifNotEven.GetOutPort( 'Gate' ) + ifNotEven.SetName( 'ifNotEven' ) + ifNotEven.SetAuthor( '' ) + ifNotEven.SetComment( 'ifNotEven' ) + ifNotEven.Coords( 407 , 282 ) + IifNotEvenSyrComponent = ifNotEven.InPort( 'SyrComponent' , 'objref' ) + IifNotEvenN = ifNotEven.InPort( 'N' , 'long' ) + IifNotEvenK = ifNotEven.InPort( 'K' , 'long' ) + IifNotEvenGate = ifNotEven.GetInPort( 'Gate' ) + OifNotEvenOdd = ifNotEven.OutPort( 'Odd' , 'long' ) + OifNotEvenEven = ifNotEven.OutPort( 'Even' , 'long' ) + OifNotEvenSyrComponent = ifNotEven.OutPort( 'SyrComponent' , 'objref' ) + OifNotEvenN = ifNotEven.OutPort( 'N' , 'long' ) + OifNotEvenK = ifNotEven.OutPort( 'K' , 'long' ) + OifNotEvenDefault = ifNotEven.GetOutPort( 'Default' ) + + # Creation of Links + Lm3anIntegerm3incraCount = SyrStruct.Link( Om3anInteger , Im3incraCount ) + + Lm3incraNewCountEndOfifNotEvenN = SyrStruct.Link( Om3incraNewCount , IEndOfifNotEvenN ) + Lm3incraNewCountEndOfifNotEvenN.AddCoord( 1 , 1193 , 362 ) + Lm3incraNewCountEndOfifNotEvenN.AddCoord( 2 , 1191 , 100 ) + + LincraaNewCountEndOfforiK = SyrStruct.Link( OincraaNewCount , IEndOfforiK ) + + Ldiv2anIntegerEndOfwhileEvenN = SyrStruct.Link( Odiv2anInteger , IEndOfwhileEvenN ) + + LincrbaNewCountEndOfwhileEvenK = SyrStruct.Link( OincrbaNewCount , IEndOfwhileEvenK ) + LincrbaNewCountEndOfwhileEvenK.AddCoord( 1 , 992 , 521 ) + LincrbaNewCountEndOfwhileEvenK.AddCoord( 2 , 992 , 645 ) + + LSyrComponentSyrComponentobjrefforNSyrComponent = SyrStruct.Link( OSyrComponentSyrComponentobjref , IforNSyrComponent ) + LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 1 , 8 , 373 ) + LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 2 , 8 , 181 ) + LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 3 , 196 , 181 ) + LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 4 , 196 , 71 ) + + LforNNwhileNotOneN = SyrStruct.Link( OforNN , IwhileNotOneN ) + + LforNNEndOfforNN = SyrStruct.Link( OforNN , IEndOfforNN ) + + LforNKwhileNotOneK = SyrStruct.Link( OforNK , IwhileNotOneK ) + + LforNSyrComponentEndOfforNSyrComponent = SyrStruct.Link( OforNSyrComponent , IEndOfforNSyrComponent ) + + LforNSyrComponentwhileNotOneSyrComponent = SyrStruct.Link( OforNSyrComponent , IwhileNotOneSyrComponent ) + LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 1 , 197 , 313 ) + LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 2 , 197 , 373 ) + + LforNminEndOfforNmin = SyrStruct.Link( OforNmin , IEndOfforNmin ) + + LforNmaxEndOfforNmax = SyrStruct.Link( OforNmax , IEndOfforNmax ) + + LwhileNotOneSyrComponentEndOfwhileNotOneSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IEndOfwhileNotOneSyrComponent ) + + LwhileNotOneSyrComponentifNotEvenSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IifNotEvenSyrComponent ) + + LwhileNotOneNifNotEvenN = SyrStruct.Link( OwhileNotOneN , IifNotEvenN ) + + LwhileNotOneKifNotEvenK = SyrStruct.Link( OwhileNotOneK , IifNotEvenK ) + + LEndOfwhileNotOneKEndOfforNK = SyrStruct.Link( OEndOfwhileNotOneK , IEndOfforNK ) + + LforiiEndOfforii = SyrStruct.Link( Oforii , IEndOfforii ) + + LforiKincraaCount = SyrStruct.Link( OforiK , IincraaCount ) + + LEndOfforiKEndOfifNotEvenK = SyrStruct.Link( OEndOfforiK , IEndOfifNotEvenK ) + LEndOfforiKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 ) + LEndOfforiKEndOfifNotEvenK.AddCoord( 2 , 1180 , 289 ) + + LwhileEvenSyrComponentEndOfwhileEvenSyrComponent = SyrStruct.Link( OwhileEvenSyrComponent , IEndOfwhileEvenSyrComponent ) + + LwhileEvenNdiv2anEvenInteger = SyrStruct.Link( OwhileEvenN , Idiv2anEvenInteger ) + + LwhileEvenKincrbaCount = SyrStruct.Link( OwhileEvenK , IincrbaCount ) + LwhileEvenKincrbaCount.AddCoord( 1 , 805 , 645 ) + LwhileEvenKincrbaCount.AddCoord( 2 , 805 , 522 ) + + LEndOfwhileEvenNEndOfifNotEvenN = SyrStruct.Link( OEndOfwhileEvenN , IEndOfifNotEvenN ) + LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 1 , 1192 , 362 ) + LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 2 , 1192 , 502 ) + + LEndOfwhileEvenKEndOfifNotEvenK = SyrStruct.Link( OEndOfwhileEvenK , IEndOfifNotEvenK ) + LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 ) + LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 2 , 1180 , 522 ) + + LifNotEvenOddm3Gate = SyrStruct.Link( OifNotEvenOdd , Im3Gate ) + LifNotEvenOddm3Gate.AddCoord( 1 , 594 , 123 ) + LifNotEvenOddm3Gate.AddCoord( 2 , 594 , 313 ) + + LifNotEvenOddforiGate = SyrStruct.Link( OifNotEvenOdd , IforiGate ) + + LifNotEvenEvenwhileEvenGate = SyrStruct.Link( OifNotEvenEven , IwhileEvenGate ) + LifNotEvenEvenwhileEvenGate.AddCoord( 1 , 594 , 546 ) + LifNotEvenEvenwhileEvenGate.AddCoord( 2 , 594 , 334 ) + + LifNotEvenSyrComponentwhileEvenSyrComponent = SyrStruct.Link( OifNotEvenSyrComponent , IwhileEvenSyrComponent ) + LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 1 , 588 , 482 ) + LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 2 , 588 , 354 ) + + LifNotEvenNwhileEvenN = SyrStruct.Link( OifNotEvenN , IwhileEvenN ) + LifNotEvenNwhileEvenN.AddCoord( 1 , 603 , 502 ) + LifNotEvenNwhileEvenN.AddCoord( 2 , 603 , 373 ) + + LifNotEvenNm3anOddInteger = SyrStruct.Link( OifNotEvenN , Im3anOddInteger ) + LifNotEvenNm3anOddInteger.AddCoord( 1 , 605 , 99 ) + LifNotEvenNm3anOddInteger.AddCoord( 2 , 604 , 372 ) + + LifNotEvenKwhileEvenK = SyrStruct.Link( OifNotEvenK , IwhileEvenK ) + LifNotEvenKwhileEvenK.AddCoord( 1 , 620 , 523 ) + LifNotEvenKwhileEvenK.AddCoord( 2 , 620 , 396 ) + + LifNotEvenKforiK = SyrStruct.Link( OifNotEvenK , IforiK ) + LifNotEvenKforiK.AddCoord( 1 , 620 , 289 ) + LifNotEvenKforiK.AddCoord( 2 , 620 , 395 ) + + LifNotEvenDefaultEndOfifNotEvenDefault = SyrStruct.Link( OifNotEvenDefault , IEndOfifNotEvenDefault ) + LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 1 , 1204 , 407 ) + LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 ) + LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 ) + LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 4 , 581 , 418 ) + + LEndOfifNotEvenNEndOfwhileNotOneN = SyrStruct.Link( OEndOfifNotEvenN , IEndOfwhileNotOneN ) + + LEndOfifNotEvenKEndOfwhileNotOneK = SyrStruct.Link( OEndOfifNotEvenK , IEndOfwhileNotOneK ) + + # Input datas + ISyrComponentaContainer.Input( 'FactoryServer' ) + ISyrComponentaComponent.Input( 'SyrComponent' ) + IforNN.Input( 0 ) + IforNK.Input( 0 ) + IforNmin.Input( 5 ) + IforNmax.Input( 9 ) + Iforii.Input( 0 ) + + # Output Ports of the graph + #OEndOfforNN = EndOfforN.GetOutPort( 'N' ) + #OEndOfforNK = EndOfforN.GetOutPort( 'K' ) + #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' ) + #OEndOfforNmin = EndOfforN.GetOutPort( 'min' ) + #OEndOfforNmax = EndOfforN.GetOutPort( 'max' ) + #OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' ) + #OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' ) + #OEndOfforii = EndOffori.GetOutPort( 'i' ) + #OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' ) + return SyrStruct + + +SyrStruct = DefSyrStruct() diff --git a/examples/SyrStruct.xml b/examples/SyrStruct.xml index 8038092..bce3fda 100644 --- a/examples/SyrStruct.xml +++ b/examples/SyrStruct.xml @@ -1,1157 +1,1170 @@ - + + ? - ? - SyrStruct - 1 - ? - + ? + SyrStruct + 1 + ? + SyrStruct - + string - SyrComponent\aContainer - + SyrComponent__aContainer + string - SyrComponent\aComponent - + SyrComponent__aComponent + long - forN\N - + forN__N + long - forN\K - + forN__K + long - forN\min - + forN__min + long - forN\max - + forN__max + long - fori\i - + fori__i + long - EndOfforN\N - + EndOfforN__N + long - EndOfforN\K - + EndOfforN__K + objref - EndOfforN\SyrComponent - + EndOfforN__SyrComponent + long - EndOfforN\min - + EndOfforN__min + long - EndOfforN\max - + EndOfforN__max + objref - EndOfwhileNotOne\SyrComponent - + EndOfwhileNotOne__SyrComponent + long - EndOfwhileNotOne\N - + EndOfwhileNotOne__N + long - EndOffori\i - + EndOffori__i + objref - EndOfwhileEven\SyrComponent - - - 4/8/2003 - 17:56:20 - 1/10/2003 - 17:39:29 - 1.04 - JR - ? - Syracuse algorithm - 0 - 0 - + EndOfwhileEven__SyrComponent + + + 4/8/2003 - 17:56:20 + 19/1/2005 - 13:1:13 + 1.04 + JR + ? + Syracuse algorithm + 0 + 0 + SyrComponent - SyrComponent - m3 - 0 - ? - + SyrComponent + m3 + 0 + ? + C_M3 - + long - anOddInteger - + anOddInteger + long - anInteger - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - localhost/FactoryServer - C_M3 from SyrComponent - 672 - 28 - + anInteger + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + localhost/FactoryServer + C_M3 from SyrComponent + 672 + 28 + SyrComponent - SyrComponent - m3incr - 0 - ? - + SyrComponent + m3incr + 0 + ? + C_INCR - + long - aCount - + aCount + long - aNewCount - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - localhost/FactoryServer - C_INCR from SyrComponent - 898 - 29 - + aNewCount + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + localhost/FactoryServer + C_INCR from SyrComponent + 899 + 28 + SyrComponent - SyrComponent - incra - 0 - ? - + SyrComponent + incra + 0 + ? + C_INCR - + long - aCount - + aCount + long - aNewCount - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - localhost/FactoryServer - C_INCR from SyrComponent - 803 - 195 - + aNewCount + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + localhost/FactoryServer + C_INCR from SyrComponent + 824 + 218 + SyrComponent - SyrComponent - div2 - 0 - ? - + SyrComponent + div2 + 0 + ? + C_DIV2 - + long - anEvenInteger - + anEvenInteger + long - anInteger - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - localhost/FactoryServer - C_DIV2 from SyrComponent - 810 - 435 - + anInteger + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + localhost/FactoryServer + C_DIV2 from SyrComponent + 817 + 431 + SyrComponent - SyrComponent - incrb - 0 - ? - + SyrComponent + incrb + 0 + ? + C_INCR - + long - aCount - + aCount + long - aNewCount - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - localhost/FactoryServer - C_INCR from SyrComponent - 809 - 574 - + aNewCount + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + localhost/FactoryServer + C_INCR from SyrComponent + 821 + 574 + ? - ? - SyrComponent - 3 - ? - + ? + SyrComponent + 3 + ? + SyrComponent - + string - aContainer - + aContainer + string - aComponent - + aComponent + objref - SyrComponentobjref - - + SyrComponentobjref + + SyrComponent - - - - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - SyrComponent( aContainer , aComponent ) - 0 - 0 - + + + + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + SyrComponent( aContainer , aComponent ) + 0 + 0 + ? - ? - forN - 4 - EndOfforN - + ? + forN + 4 + EndOfforN + forN - + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - min - + min + long - max - + max + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - min - + min + long - max - - + max + + InitN - - - 0 : ]]> - = min : ]]> - - - + + + 0 : ]]> + = min : ]]> + + + MoreN - - - - NN : ]]> - - - + + + + NN : ]]> + + + NextN - - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - InitN , MoreN , NextN - 20 - 302 - + + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + InitN , MoreN , NextN + 20 + 302 + ? - ? - EndOfforN - 5 - forN - + ? + EndOfforN + 5 + forN + EndOfforN - + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - min - + min + long - max - + max + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - min - + min + long - max - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ? - 1535 - 332 - + max + + + +? + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Compute Node + 1590 + 331 + ? - ? - whileNotOne - 4 - EndOfwhileNotOne - + ? + whileNotOne + 4 + EndOfwhileNotOne + whileNotOne - + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - - + K + + InitNotOne - - - - - + + + + + MoreNotOne - - - - - + + + + + NextNotOne - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - InitNotOne , MoreNotOne , NextNotOne - 212 - 274 - + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + InitNotOne , MoreNotOne , NextNotOne + 215 + 282 + ? - ? - EndOfwhileNotOne - 5 - whileNotOne - + ? + EndOfwhileNotOne + 5 + whileNotOne + EndOfwhileNotOne - + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ? - 1366 - 303 - + K + + + +? + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Compute Node + 1405 + 311 + ? - ? - fori - 4 - EndOffori - + ? + fori + 4 + EndOffori + fori - + long - i - + i + long - K - + K + long - i - + i + long - K - - + K + + Initfori - - - + + + + Morefori - - - ii :]]> - - - + + + + + + + Nextfori - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - Initfori, Morefori, Nextfori - 635 - 212 - + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Initfori, Morefori, Nextfori + 641 + 238 + ? - ? - EndOffori - 5 - fori - + ? + EndOffori + 5 + fori + EndOffori - + long - i - + i + long - K - + K + long - i - + i + long - K - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ? - 976 - 212 - + K + + + +? + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Compute Node + 1009 + 238 + ? - ? - whileEven - 4 - EndOfwhileEven - + ? + whileEven + 4 + EndOfwhileEven + whileEven - + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - - + K + + InitEven - - - - + + + + MoreEven - - - - - + + + + + NextEven - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - InitEven, MoreEven, NextEven - 632 - 451 - + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + InitEven, MoreEven, NextEven + 632 + 451 + ? - ? - EndOfwhileEven - 5 - whileEven - + ? + EndOfwhileEven + 5 + whileEven + EndOfwhileEven - + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - + K + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ? - 988 - 451 - + K + + + +? + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Compute Node + 1006 + 451 + ? - ? - ifNotEven - 6 - EndOfifNotEven - + ? + ifNotEven + 6 + EndOfifNotEven + ifNotEven - + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - + K + long - Odd - + Odd + long - Even - + Even + objref - SyrComponent - + SyrComponent + long - N - + N + long - K - - + K + + ifNotEven - - - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ifNotEven - 418 - 274 - + + + + + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + ifNotEven + 407 + 282 + ? - ? - EndOfifNotEven - 7 - ifNotEven - + ? + EndOfifNotEven + 7 + ifNotEven + EndOfifNotEven - + long - N - + N + long - K - + K + long - N - + N + long - K - - - - 1/10/2003 - 17:39:29 - 1/10/2003 - 17:39:29 - 1.04 - ? - ? - ? - 1205 - 331 - + K + + + +? + + 19/1/2005 - 13:1:13 + 19/1/2005 - 13:1:13 + 1.04 + ? + ? + Compute Node + 1220 + 331 + m3 - anInteger - m3incr - aCount - - + anInteger + m3incr + aCount + + m3incr - aNewCount - EndOfifNotEven - N - + aNewCount + EndOfifNotEven + N + -1190 - 366 - +1193 + 362 + 1191 - 109 - + 100 + incra - aNewCount - EndOffori - K - - + aNewCount + EndOffori + K + + div2 - anInteger - EndOfwhileEven - N - - + anInteger + EndOfwhileEven + N + + incrb - aNewCount - EndOfwhileEven - K - + aNewCount + EndOfwhileEven + K + -988 - 543 - -988 - 654 - +992 + 521 + +992 + 645 + SyrComponent - SyrComponentobjref - forN - SyrComponent - + SyrComponentobjref + forN + SyrComponent + -13 - 394 - -12 - 181 - +8 + 373 + +8 + 181 + 196 - 181 - -197 - 81 - + 181 + +196 + 71 + forN - DoLoop - EndOfforN - DoLoop - - + DoLoop + EndOfforN + DoLoop + + forN - N - whileNotOne - N - - + N + whileNotOne + N + + forN - N - EndOfforN - N - - + N + EndOfforN + N + + forN - K - whileNotOne - K - - + K + whileNotOne + K + + forN - SyrComponent - EndOfforN - SyrComponent - - + SyrComponent + EndOfforN + SyrComponent + + forN - SyrComponent - whileNotOne - SyrComponent - + SyrComponent + whileNotOne + SyrComponent + -192 - 309 - -191 - 394 - +197 + 313 + +197 + 373 + forN - min - EndOfforN - min - - + min + EndOfforN + min + + forN - max - EndOfforN - max - - + max + EndOfforN + max + + EndOfforN - DoLoop - forN - DoLoop - - + DoLoop + forN + DoLoop + + whileNotOne - DoLoop - EndOfwhileNotOne - DoLoop - - + DoLoop + EndOfwhileNotOne + DoLoop + + whileNotOne - SyrComponent - EndOfwhileNotOne - SyrComponent - - + SyrComponent + EndOfwhileNotOne + SyrComponent + + whileNotOne - SyrComponent - ifNotEven - SyrComponent - - + SyrComponent + ifNotEven + SyrComponent + + whileNotOne - N - ifNotEven - N - - + N + ifNotEven + N + + whileNotOne - K - ifNotEven - K - - + K + ifNotEven + K + + EndOfwhileNotOne - DoLoop - whileNotOne - DoLoop - - + DoLoop + whileNotOne + DoLoop + + EndOfwhileNotOne - K - EndOfforN - K - - + K + EndOfforN + K + + fori - DoLoop - EndOffori - DoLoop - - + DoLoop + EndOffori + DoLoop + + fori - i - EndOffori - i - - + i + EndOffori + i + + fori - K - incra - aCount - - + K + incra + aCount + + EndOffori - DoLoop - fori - DoLoop - - + DoLoop + fori + DoLoop + + EndOffori - K - EndOfifNotEven - K - + K + EndOfifNotEven + K + -1170 - 396 - -1169 - 275 - +1180 + 382 + +1180 + 289 + whileEven - DoLoop - EndOfwhileEven - DoLoop - - + DoLoop + EndOfwhileEven + DoLoop + + whileEven - SyrComponent - EndOfwhileEven - SyrComponent - - + SyrComponent + EndOfwhileEven + SyrComponent + + whileEven - N - div2 - anEvenInteger - - + N + div2 + anEvenInteger + + whileEven - K - incrb - aCount - + K + incrb + aCount + -796 - 655 - -795 - 543 - +805 + 645 + +805 + 522 + EndOfwhileEven - DoLoop - whileEven - DoLoop - - + DoLoop + whileEven + DoLoop + + EndOfwhileEven - N - EndOfifNotEven - N - + N + EndOfifNotEven + N + -1191 - 366 - -1191 - 513 - +1192 + 362 + +1192 + 502 + EndOfwhileEven - K - EndOfifNotEven - K - + K + EndOfifNotEven + K + -1169 - 395 - -1170 - 543 - +1180 + 382 + +1180 + 522 + ifNotEven - Odd - m3 - InGate - + Odd + m3 + Gate + -593 - 141 - -593 - 307 - +594 + 123 + +594 + 313 + ifNotEven - Odd - fori - InGate - - + Odd + fori + Gate + + ifNotEven - Even - whileEven - InGate - + Even + whileEven + Gate + -593 - 576 - -592 - 339 - +594 + 546 + +594 + 334 + ifNotEven - SyrComponent - whileEven - SyrComponent - + SyrComponent + whileEven + SyrComponent + -586 - 486 - -587 - 367 - +588 + 482 + +588 + 354 + ifNotEven - N - whileEven - N - + N + whileEven + N + -604 - 513 - 603 - 397 - + 502 + +603 + 373 + ifNotEven - N - m3 - anOddInteger - + N + m3 + anOddInteger + +605 + 99 + 604 - 107 - -604 - 395 - + 372 + ifNotEven - K - whileEven - K - + K + whileEven + K + -621 - 544 - -622 - 426 - +620 + 523 + +620 + 396 + ifNotEven - K - fori - K - + K + fori + K + -622 - 275 - -622 - 426 - +620 + 289 + +620 + 395 + ifNotEven - Default - EndOfifNotEven - Default - + Default + EndOfifNotEven + Default + 1204 - 429 - + 407 + 1203 - 12 - + 12 + 581 - 13 - + 13 + 581 - 458 - + 418 + EndOfifNotEven - N - EndOfwhileNotOne - N - - + N + EndOfwhileNotOne + N + + EndOfifNotEven - K - EndOfwhileNotOne - K - - + K + EndOfwhileNotOne + K + + SyrStruct - SyrComponent\aContainer - SyrComponent - aContainer - + SyrComponent__aContainer + SyrComponent + aContainer + 18 - FactoryServer - - + FactoryServer + + SyrStruct - SyrComponent\aComponent - SyrComponent - aComponent - + SyrComponent__aComponent + SyrComponent + aComponent + 18 - SyrComponent - - + SyrComponent + + SyrStruct - forN\N - forN - N - + forN__N + forN + N + 3 - 0 - - + 0 + + SyrStruct - forN\K - forN - K - + forN__K + forN + K + 3 - 0 - - + 0 + + SyrStruct - forN\min - forN - min - + forN__min + forN + min + 3 - 5 - - + 5 + + SyrStruct - forN\max - forN - max - + forN__max + forN + max + 3 - 9 - - + 9 + + SyrStruct - fori\i - fori - i - + fori__i + fori + i + 3 - 0 - + 0 +