2 # Generated python file of Graph GraphMacroNodes
6 # Graph creation of GraphMacroNodes
7 def DefGraphMacroNodes() :
8 GraphMacroNodes = Graph( 'GraphMacroNodes' )
9 GraphMacroNodes.SetName( 'GraphMacroNodes' )
10 GraphMacroNodes.SetAuthor( '' )
11 GraphMacroNodes.SetComment( '' )
12 GraphMacroNodes.Coords( 0 , 0 )
14 # Creation of Factory Nodes
16 Add = GraphMacroNodes.FNode( 'AddComponent' , 'AddComponent' , 'Add' )
19 Add.SetContainer( 'FactoryServer' )
21 Add.Coords( 15 , 241 )
22 IAddx = Add.GetInPort( 'x' )
23 IAddy = Add.GetInPort( 'y' )
24 IAddGate = Add.GetInPort( 'Gate' )
25 OAddFuncValue = Add.GetOutPort( 'FuncValue' )
26 OAddz = Add.GetOutPort( 'z' )
27 OAddGate = Add.GetOutPort( 'Gate' )
29 Sub = GraphMacroNodes.FNode( 'SubComponent' , 'SubComponent' , 'Sub' )
32 Sub.SetContainer( 'FactoryServer' )
34 Sub.Coords( 227 , 99 )
35 ISubx = Sub.GetInPort( 'x' )
36 ISuby = Sub.GetInPort( 'y' )
37 ISubGate = Sub.GetInPort( 'Gate' )
38 OSubz = Sub.GetOutPort( 'z' )
39 OSubGate = Sub.GetOutPort( 'Gate' )
41 Mul = GraphMacroNodes.FNode( 'MulComponent' , 'MulComponent' , 'Mul' )
44 Mul.SetContainer( 'FactoryServer' )
46 Mul.Coords( 443 , 278 )
47 IMulx = Mul.GetInPort( 'x' )
48 IMuly = Mul.GetInPort( 'y' )
49 IMulGate = Mul.GetInPort( 'Gate' )
50 OMulz = Mul.GetOutPort( 'z' )
51 OMulGate = Mul.GetOutPort( 'Gate' )
53 Div = GraphMacroNodes.FNode( 'DivComponent' , 'DivComponent' , 'Div' )
56 Div.SetContainer( 'FactoryServer' )
58 Div.Coords( 634 , 97 )
59 IDivx = Div.GetInPort( 'x' )
60 IDivy = Div.GetInPort( 'y' )
61 IDivGate = Div.GetInPort( 'Gate' )
62 ODivz = Div.GetOutPort( 'z' )
63 ODivGate = Div.GetOutPort( 'Gate' )
65 # Creation of Macro Nodes
66 SyrStruct_1 = DefSyrStruct_1()
67 Macro_SyrStruct = GraphMacroNodes.GraphMNode( SyrStruct_1 )
68 Macro_SyrStruct.SetName( 'Macro_SyrStruct' )
69 Macro_SyrStruct.SetAuthor( '' )
70 Macro_SyrStruct.SetComment( '' )
71 Macro_SyrStruct.Coords( 0 , 0 )
72 IMacro_SyrStructSyrComponent__aContainer = Macro_SyrStruct.GetInPort( 'SyrComponent__aContainer' )
73 IMacro_SyrStructSyrComponent__aComponent = Macro_SyrStruct.GetInPort( 'SyrComponent__aComponent' )
74 IMacro_SyrStructforN__N = Macro_SyrStruct.GetInPort( 'forN__N' )
75 IMacro_SyrStructforN__K = Macro_SyrStruct.GetInPort( 'forN__K' )
76 IMacro_SyrStructforN__min = Macro_SyrStruct.GetInPort( 'forN__min' )
77 IMacro_SyrStructforN__max = Macro_SyrStruct.GetInPort( 'forN__max' )
78 IMacro_SyrStructfori__i = Macro_SyrStruct.GetInPort( 'fori__i' )
79 IMacro_SyrStructGate = Macro_SyrStruct.GetInPort( 'Gate' )
80 OMacro_SyrStructEndOfforN__N = Macro_SyrStruct.GetOutPort( 'EndOfforN__N' )
81 OMacro_SyrStructEndOfforN__K = Macro_SyrStruct.GetOutPort( 'EndOfforN__K' )
82 OMacro_SyrStructEndOfforN__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfforN__SyrComponent' )
83 OMacro_SyrStructEndOfforN__min = Macro_SyrStruct.GetOutPort( 'EndOfforN__min' )
84 OMacro_SyrStructEndOfforN__max = Macro_SyrStruct.GetOutPort( 'EndOfforN__max' )
85 OMacro_SyrStructEndOfwhileNotOne__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfwhileNotOne__SyrComponent' )
86 OMacro_SyrStructEndOfwhileNotOne__N = Macro_SyrStruct.GetOutPort( 'EndOfwhileNotOne__N' )
87 OMacro_SyrStructEndOffori__i = Macro_SyrStruct.GetOutPort( 'EndOffori__i' )
88 OMacro_SyrStructEndOfwhileEven__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfwhileEven__SyrComponent' )
89 OMacro_SyrStructGate = Macro_SyrStruct.GetOutPort( 'Gate' )
91 SyrStruct_1_1 = DefSyrStruct_1_1()
92 Macro_SyrStruct_1 = GraphMacroNodes.GraphMNode( SyrStruct_1_1 )
93 Macro_SyrStruct_1.SetName( 'Macro_SyrStruct_1' )
94 Macro_SyrStruct_1.SetAuthor( '' )
95 Macro_SyrStruct_1.SetComment( '' )
96 Macro_SyrStruct_1.Coords( 0 , 0 )
97 IMacro_SyrStruct_1SyrComponent__aContainer = Macro_SyrStruct_1.GetInPort( 'SyrComponent__aContainer' )
98 IMacro_SyrStruct_1SyrComponent__aComponent = Macro_SyrStruct_1.GetInPort( 'SyrComponent__aComponent' )
99 IMacro_SyrStruct_1forN__N = Macro_SyrStruct_1.GetInPort( 'forN__N' )
100 IMacro_SyrStruct_1forN__K = Macro_SyrStruct_1.GetInPort( 'forN__K' )
101 IMacro_SyrStruct_1forN__min = Macro_SyrStruct_1.GetInPort( 'forN__min' )
102 IMacro_SyrStruct_1forN__max = Macro_SyrStruct_1.GetInPort( 'forN__max' )
103 IMacro_SyrStruct_1fori__i = Macro_SyrStruct_1.GetInPort( 'fori__i' )
104 IMacro_SyrStruct_1Gate = Macro_SyrStruct_1.GetInPort( 'Gate' )
105 OMacro_SyrStruct_1EndOfforN__N = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__N' )
106 OMacro_SyrStruct_1EndOfforN__K = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__K' )
107 OMacro_SyrStruct_1EndOfforN__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__SyrComponent' )
108 OMacro_SyrStruct_1EndOfforN__min = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__min' )
109 OMacro_SyrStruct_1EndOfforN__max = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__max' )
110 OMacro_SyrStruct_1EndOfwhileNotOne__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileNotOne__SyrComponent' )
111 OMacro_SyrStruct_1EndOfwhileNotOne__N = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileNotOne__N' )
112 OMacro_SyrStruct_1EndOffori__i = Macro_SyrStruct_1.GetOutPort( 'EndOffori__i' )
113 OMacro_SyrStruct_1EndOfwhileEven__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileEven__SyrComponent' )
114 OMacro_SyrStruct_1Gate = Macro_SyrStruct_1.GetOutPort( 'Gate' )
117 LAddzSuby = GraphMacroNodes.Link( OAddz , ISuby )
119 LAddzMuly = GraphMacroNodes.Link( OAddz , IMuly )
121 LSubzMulx = GraphMacroNodes.Link( OSubz , IMulx )
123 LSubzDivx = GraphMacroNodes.Link( OSubz , IDivx )
125 LMulzDivy = GraphMacroNodes.Link( OMulz , IDivy )
131 IMacro_SyrStructSyrComponent__aContainer.Input( 'FactoryServer' )
132 IMacro_SyrStructSyrComponent__aComponent.Input( 'SyrComponent' )
133 IMacro_SyrStructforN__N.Input( 0 )
134 IMacro_SyrStructforN__K.Input( 0 )
135 IMacro_SyrStructforN__min.Input( 5 )
136 IMacro_SyrStructforN__max.Input( 9 )
137 IMacro_SyrStructfori__i.Input( 0 )
138 IMacro_SyrStruct_1SyrComponent__aContainer.Input( 'FactoryServer' )
139 IMacro_SyrStruct_1SyrComponent__aComponent.Input( 'SyrComponent' )
140 IMacro_SyrStruct_1forN__N.Input( 0 )
141 IMacro_SyrStruct_1forN__K.Input( 0 )
142 IMacro_SyrStruct_1forN__min.Input( 5 )
143 IMacro_SyrStruct_1forN__max.Input( 9 )
144 IMacro_SyrStruct_1fori__i.Input( 0 )
146 # Output Ports of the graph
147 #OAddFuncValue = Add.GetOutPort( 'FuncValue' )
148 #ODivz = Div.GetOutPort( 'z' )
149 #OMacro_SyrStructEndOfforN__N = Macro_SyrStruct.GetOutPort( 'EndOfforN__N' )
150 #OMacro_SyrStructEndOfforN__K = Macro_SyrStruct.GetOutPort( 'EndOfforN__K' )
151 #OMacro_SyrStructEndOfforN__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfforN__SyrComponent' )
152 #OMacro_SyrStructEndOfforN__min = Macro_SyrStruct.GetOutPort( 'EndOfforN__min' )
153 #OMacro_SyrStructEndOfforN__max = Macro_SyrStruct.GetOutPort( 'EndOfforN__max' )
154 #OMacro_SyrStructEndOfwhileNotOne__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfwhileNotOne__SyrComponent' )
155 #OMacro_SyrStructEndOfwhileNotOne__N = Macro_SyrStruct.GetOutPort( 'EndOfwhileNotOne__N' )
156 #OMacro_SyrStructEndOffori__i = Macro_SyrStruct.GetOutPort( 'EndOffori__i' )
157 #OMacro_SyrStructEndOfwhileEven__SyrComponent = Macro_SyrStruct.GetOutPort( 'EndOfwhileEven__SyrComponent' )
158 #OMacro_SyrStruct_1EndOfforN__N = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__N' )
159 #OMacro_SyrStruct_1EndOfforN__K = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__K' )
160 #OMacro_SyrStruct_1EndOfforN__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__SyrComponent' )
161 #OMacro_SyrStruct_1EndOfforN__min = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__min' )
162 #OMacro_SyrStruct_1EndOfforN__max = Macro_SyrStruct_1.GetOutPort( 'EndOfforN__max' )
163 #OMacro_SyrStruct_1EndOfwhileNotOne__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileNotOne__SyrComponent' )
164 #OMacro_SyrStruct_1EndOfwhileNotOne__N = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileNotOne__N' )
165 #OMacro_SyrStruct_1EndOffori__i = Macro_SyrStruct_1.GetOutPort( 'EndOffori__i' )
166 #OMacro_SyrStruct_1EndOfwhileEven__SyrComponent = Macro_SyrStruct_1.GetOutPort( 'EndOfwhileEven__SyrComponent' )
167 return GraphMacroNodes
169 # Graph creation of SyrStruct_1
170 def DefSyrStruct_1() :
171 SyrStruct_1 = Graph( 'SyrStruct_1' )
172 SyrStruct_1.SetName( 'SyrStruct_1' )
173 SyrStruct_1.SetAuthor( 'JR' )
174 SyrStruct_1.SetComment( 'Syracuse algorithm' )
175 SyrStruct_1.Coords( 0 , 0 )
177 # Creation of Factory Nodes
179 m3 = SyrStruct_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
182 m3.SetContainer( 'localhost/FactoryServer' )
183 m3.SetComment( 'C_M3 from SyrComponent' )
184 m3.Coords( 672 , 28 )
185 Im3anOddInteger = m3.GetInPort( 'anOddInteger' )
186 Im3Gate = m3.GetInPort( 'Gate' )
187 Om3anInteger = m3.GetOutPort( 'anInteger' )
188 Om3Gate = m3.GetOutPort( 'Gate' )
190 m3incr = SyrStruct_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
191 m3incr.SetName( 'm3incr' )
192 m3incr.SetAuthor( '' )
193 m3incr.SetContainer( 'localhost/FactoryServer' )
194 m3incr.SetComment( 'C_INCR from SyrComponent' )
195 m3incr.Coords( 898 , 29 )
196 Im3incraCount = m3incr.GetInPort( 'aCount' )
197 Im3incrGate = m3incr.GetInPort( 'Gate' )
198 Om3incraNewCount = m3incr.GetOutPort( 'aNewCount' )
199 Om3incrGate = m3incr.GetOutPort( 'Gate' )
201 incra = SyrStruct_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
202 incra.SetName( 'incra' )
203 incra.SetAuthor( '' )
204 incra.SetContainer( 'localhost/FactoryServer' )
205 incra.SetComment( 'C_INCR from SyrComponent' )
206 incra.Coords( 803 , 195 )
207 IincraaCount = incra.GetInPort( 'aCount' )
208 IincraGate = incra.GetInPort( 'Gate' )
209 OincraaNewCount = incra.GetOutPort( 'aNewCount' )
210 OincraGate = incra.GetOutPort( 'Gate' )
212 div2 = SyrStruct_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
213 div2.SetName( 'div2' )
215 div2.SetContainer( 'localhost/FactoryServer' )
216 div2.SetComment( 'C_DIV2 from SyrComponent' )
217 div2.Coords( 810 , 435 )
218 Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
219 Idiv2Gate = div2.GetInPort( 'Gate' )
220 Odiv2anInteger = div2.GetOutPort( 'anInteger' )
221 Odiv2Gate = div2.GetOutPort( 'Gate' )
223 incrb = SyrStruct_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
224 incrb.SetName( 'incrb' )
225 incrb.SetAuthor( '' )
226 incrb.SetContainer( 'localhost/FactoryServer' )
227 incrb.SetComment( 'C_INCR from SyrComponent' )
228 incrb.Coords( 809 , 574 )
229 IincrbaCount = incrb.GetInPort( 'aCount' )
230 IincrbGate = incrb.GetInPort( 'Gate' )
231 OincrbaNewCount = incrb.GetOutPort( 'aNewCount' )
232 OincrbGate = incrb.GetOutPort( 'Gate' )
234 # Creation of InLine Nodes
236 PySyrComponent.append( 'from LifeCycleCORBA import * ' )
237 PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
238 PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
239 PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
240 PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
241 PySyrComponent.append( ' return ComponentRef ' )
242 SyrComponent = SyrStruct_1.INode( 'SyrComponent' , PySyrComponent )
243 SyrComponent.SetName( 'SyrComponent' )
244 SyrComponent.SetAuthor( '' )
245 SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
246 SyrComponent.Coords( 0 , 0 )
247 ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
248 ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
249 ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
250 OSyrComponentSyrComponentobjref = SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
251 OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
253 # Creation of Loop Nodes
255 PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
256 PyforN.append( ' N = max ' )
257 PyforN.append( ' if min > 0 : ' )
258 PyforN.append( ' if max >= min : ' )
259 PyforN.append( ' N = min ' )
260 PyforN.append( ' return N,K,SyrComponent,min,max ' )
262 PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
263 PyMoreforN.append( ' N = NN ' )
264 PyMoreforN.append( ' OutLoop = 0 ' )
265 PyMoreforN.append( ' if max > NN : ' )
266 PyMoreforN.append( ' OutLoop = 1 ' )
267 PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max ' )
269 PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
270 PyNextforN.append( ' N = NN + 1 ' )
271 PyNextforN.append( ' K = KK ' )
272 PyNextforN.append( ' return N,K,SyrComponent,min,max ' )
273 forN,EndOfforN = SyrStruct_1.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
274 EndOfforN.SetName( 'EndOfforN' )
275 EndOfforN.SetAuthor( '' )
276 EndOfforN.SetComment( '' )
277 EndOfforN.Coords( 1535 , 332 )
279 EndOfforN.SetPyFunction( '' , PyEndOfforN )
280 IforNInitLoop = forN.GetInPort( 'InitLoop' )
281 IforNN = forN.InPort( 'N' , 'long' )
282 IforNK = forN.InPort( 'K' , 'long' )
283 IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
284 IforNmin = forN.InPort( 'min' , 'long' )
285 IforNmax = forN.InPort( 'max' , 'long' )
286 IforNGate = forN.GetInPort( 'Gate' )
287 OforNDoLoop = forN.GetOutPort( 'DoLoop' )
288 OforNN = forN.GetOutPort( 'N' )
289 OforNK = forN.GetOutPort( 'K' )
290 OforNSyrComponent = forN.GetOutPort( 'SyrComponent' )
291 OforNmin = forN.GetOutPort( 'min' )
292 OforNmax = forN.GetOutPort( 'max' )
293 IEndOfforNDoLoop = EndOfforN.GetInPort( 'DoLoop' )
294 IEndOfforNN = EndOfforN.GetInPort( 'N' )
295 IEndOfforNK = EndOfforN.GetInPort( 'K' )
296 IEndOfforNSyrComponent = EndOfforN.GetInPort( 'SyrComponent' )
297 IEndOfforNmin = EndOfforN.GetInPort( 'min' )
298 IEndOfforNmax = EndOfforN.GetInPort( 'max' )
299 IEndOfforNGate = EndOfforN.GetInPort( 'Gate' )
300 OEndOfforNDoLoop = EndOfforN.GetOutPort( 'DoLoop' )
301 OEndOfforNN = EndOfforN.GetOutPort( 'N' )
302 OEndOfforNK = EndOfforN.GetOutPort( 'K' )
303 OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
304 OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
305 OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
306 forN.SetName( 'forN' )
308 forN.SetComment( 'InitN , MoreN , NextN' )
309 forN.Coords( 20 , 302 )
312 PywhileNotOne.append( 'import threading' )
313 PywhileNotOne.append( 'import SyrComponent_idl' )
314 PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
315 PywhileNotOne.append( ' return SyrComponent,N,K' )
316 PyMorewhileNotOne = []
317 PyMorewhileNotOne.append( 'import SyrComponent_idl' )
318 PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
319 PyMorewhileNotOne.append( ' OutLoop = 1 - SyrComponent.C_ISONE( N )' )
320 PyMorewhileNotOne.append( ' return OutLoop,SyrComponent,N,K ' )
321 PyNextwhileNotOne = []
322 PyNextwhileNotOne.append( 'import SyrComponent_idl' )
323 PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
324 PyNextwhileNotOne.append( ' return SyrComponent,N,K' )
325 whileNotOne,EndOfwhileNotOne = SyrStruct_1.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
326 EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
327 EndOfwhileNotOne.SetAuthor( '' )
328 EndOfwhileNotOne.SetComment( '' )
329 EndOfwhileNotOne.Coords( 1366 , 303 )
330 PyEndOfwhileNotOne = []
331 EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
332 IwhileNotOneInitLoop = whileNotOne.GetInPort( 'InitLoop' )
333 IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
334 IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
335 IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
336 IwhileNotOneGate = whileNotOne.GetInPort( 'Gate' )
337 OwhileNotOneDoLoop = whileNotOne.GetOutPort( 'DoLoop' )
338 OwhileNotOneSyrComponent = whileNotOne.GetOutPort( 'SyrComponent' )
339 OwhileNotOneN = whileNotOne.GetOutPort( 'N' )
340 OwhileNotOneK = whileNotOne.GetOutPort( 'K' )
341 IEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetInPort( 'DoLoop' )
342 IEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetInPort( 'SyrComponent' )
343 IEndOfwhileNotOneN = EndOfwhileNotOne.GetInPort( 'N' )
344 IEndOfwhileNotOneK = EndOfwhileNotOne.GetInPort( 'K' )
345 IEndOfwhileNotOneGate = EndOfwhileNotOne.GetInPort( 'Gate' )
346 OEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetOutPort( 'DoLoop' )
347 OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
348 OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
349 OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
350 whileNotOne.SetName( 'whileNotOne' )
351 whileNotOne.SetAuthor( '' )
352 whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
353 whileNotOne.Coords( 212 , 274 )
356 Pyfori.append( 'def Initfori( ii , K ) :' )
357 Pyfori.append( ' return 1,0,K' )
359 PyMorefori.append( 'def Morefori( ii , K ) :' )
360 PyMorefori.append( ' OutLoop = 0' )
361 PyMorefori.append( ' if 2 > ii :' )
362 PyMorefori.append( ' OutLoop = 1' )
363 PyMorefori.append( ' return OutLoop,ii,K' )
365 PyNextfori.append( 'def Nextfori( ii , K ) :' )
366 PyNextfori.append( ' ii = ii + 1' )
367 PyNextfori.append( ' return ii,K' )
368 fori,EndOffori = SyrStruct_1.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
369 EndOffori.SetName( 'EndOffori' )
370 EndOffori.SetAuthor( '' )
371 EndOffori.SetComment( '' )
372 EndOffori.Coords( 976 , 212 )
374 EndOffori.SetPyFunction( '' , PyEndOffori )
375 IforiInitLoop = fori.GetInPort( 'InitLoop' )
376 Iforii = fori.InPort( 'i' , 'long' )
377 IforiK = fori.InPort( 'K' , 'long' )
378 IforiGate = fori.GetInPort( 'Gate' )
379 OforiDoLoop = fori.GetOutPort( 'DoLoop' )
380 Oforii = fori.GetOutPort( 'i' )
381 OforiK = fori.GetOutPort( 'K' )
382 IEndOfforiDoLoop = EndOffori.GetInPort( 'DoLoop' )
383 IEndOfforii = EndOffori.GetInPort( 'i' )
384 IEndOfforiK = EndOffori.GetInPort( 'K' )
385 IEndOfforiGate = EndOffori.GetInPort( 'Gate' )
386 OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
387 OEndOfforii = EndOffori.GetOutPort( 'i' )
388 OEndOfforiK = EndOffori.GetOutPort( 'K' )
389 fori.SetName( 'fori' )
391 fori.SetComment( 'Initfori, Morefori, Nextfori' )
392 fori.Coords( 635 , 212 )
395 PywhileEven.append( 'import SyrComponent_idl' )
396 PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
397 PywhileEven.append( ' return SyrComponent,N,K' )
399 PyMorewhileEven.append( 'import SyrComponent_idl' )
400 PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
401 PyMorewhileEven.append( ' OutLoop = SyrComponent.C_ISEVEN( N )' )
402 PyMorewhileEven.append( ' return OutLoop,SyrComponent,N,K ' )
404 PyNextwhileEven.append( 'import SyrComponent_idl' )
405 PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
406 PyNextwhileEven.append( ' return SyrComponent,N,K' )
407 whileEven,EndOfwhileEven = SyrStruct_1.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
408 EndOfwhileEven.SetName( 'EndOfwhileEven' )
409 EndOfwhileEven.SetAuthor( '' )
410 EndOfwhileEven.SetComment( '' )
411 EndOfwhileEven.Coords( 988 , 451 )
412 PyEndOfwhileEven = []
413 EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
414 IwhileEvenInitLoop = whileEven.GetInPort( 'InitLoop' )
415 IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
416 IwhileEvenN = whileEven.InPort( 'N' , 'long' )
417 IwhileEvenK = whileEven.InPort( 'K' , 'long' )
418 IwhileEvenGate = whileEven.GetInPort( 'Gate' )
419 OwhileEvenDoLoop = whileEven.GetOutPort( 'DoLoop' )
420 OwhileEvenSyrComponent = whileEven.GetOutPort( 'SyrComponent' )
421 OwhileEvenN = whileEven.GetOutPort( 'N' )
422 OwhileEvenK = whileEven.GetOutPort( 'K' )
423 IEndOfwhileEvenDoLoop = EndOfwhileEven.GetInPort( 'DoLoop' )
424 IEndOfwhileEvenSyrComponent = EndOfwhileEven.GetInPort( 'SyrComponent' )
425 IEndOfwhileEvenN = EndOfwhileEven.GetInPort( 'N' )
426 IEndOfwhileEvenK = EndOfwhileEven.GetInPort( 'K' )
427 IEndOfwhileEvenGate = EndOfwhileEven.GetInPort( 'Gate' )
428 OEndOfwhileEvenDoLoop = EndOfwhileEven.GetOutPort( 'DoLoop' )
429 OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
430 OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
431 OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
432 whileEven.SetName( 'whileEven' )
433 whileEven.SetAuthor( '' )
434 whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
435 whileEven.Coords( 632 , 451 )
437 # Creation of Switch Nodes
439 PyifNotEven.append( 'import SyrComponent_idl' )
440 PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
441 PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )' )
442 PyifNotEven.append( ' Odd = 1 - Even' )
443 PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K' )
444 ifNotEven,EndOfifNotEven = SyrStruct_1.SNode( 'ifNotEven' , PyifNotEven )
445 EndOfifNotEven.SetName( 'EndOfifNotEven' )
446 EndOfifNotEven.SetAuthor( '' )
447 EndOfifNotEven.SetComment( '' )
448 EndOfifNotEven.Coords( 1205 , 331 )
449 PyEndOfifNotEven = []
450 EndOfifNotEven.SetPyFunction( '' , PyEndOfifNotEven )
451 IEndOfifNotEvenN = EndOfifNotEven.InPort( 'N' , 'long' )
452 IEndOfifNotEvenK = EndOfifNotEven.InPort( 'K' , 'long' )
453 IEndOfifNotEvenDefault = EndOfifNotEven.GetInPort( 'Default' )
454 OEndOfifNotEvenN = EndOfifNotEven.OutPort( 'N' , 'long' )
455 OEndOfifNotEvenK = EndOfifNotEven.OutPort( 'K' , 'long' )
456 OEndOfifNotEvenGate = EndOfifNotEven.GetOutPort( 'Gate' )
457 ifNotEven.SetName( 'ifNotEven' )
458 ifNotEven.SetAuthor( '' )
459 ifNotEven.SetComment( 'ifNotEven' )
460 ifNotEven.Coords( 418 , 274 )
461 IifNotEvenSyrComponent = ifNotEven.InPort( 'SyrComponent' , 'objref' )
462 IifNotEvenN = ifNotEven.InPort( 'N' , 'long' )
463 IifNotEvenK = ifNotEven.InPort( 'K' , 'long' )
464 IifNotEvenGate = ifNotEven.GetInPort( 'Gate' )
465 OifNotEvenOdd = ifNotEven.OutPort( 'Odd' , 'long' )
466 OifNotEvenEven = ifNotEven.OutPort( 'Even' , 'long' )
467 OifNotEvenSyrComponent = ifNotEven.OutPort( 'SyrComponent' , 'objref' )
468 OifNotEvenN = ifNotEven.OutPort( 'N' , 'long' )
469 OifNotEvenK = ifNotEven.OutPort( 'K' , 'long' )
470 OifNotEvenDefault = ifNotEven.GetOutPort( 'Default' )
473 Lm3anIntegerm3incraCount = SyrStruct_1.Link( Om3anInteger , Im3incraCount )
475 Lm3incraNewCountEndOfifNotEvenN = SyrStruct_1.Link( Om3incraNewCount , IEndOfifNotEvenN )
476 Lm3incraNewCountEndOfifNotEvenN.AddCoord( 1 , 1190 , 366 )
477 Lm3incraNewCountEndOfifNotEvenN.AddCoord( 2 , 1191 , 109 )
479 LincraaNewCountEndOfforiK = SyrStruct_1.Link( OincraaNewCount , IEndOfforiK )
481 Ldiv2anIntegerEndOfwhileEvenN = SyrStruct_1.Link( Odiv2anInteger , IEndOfwhileEvenN )
483 LincrbaNewCountEndOfwhileEvenK = SyrStruct_1.Link( OincrbaNewCount , IEndOfwhileEvenK )
484 LincrbaNewCountEndOfwhileEvenK.AddCoord( 1 , 988 , 543 )
485 LincrbaNewCountEndOfwhileEvenK.AddCoord( 2 , 988 , 654 )
487 LSyrComponentSyrComponentobjrefforNSyrComponent = SyrStruct_1.Link( OSyrComponentSyrComponentobjref , IforNSyrComponent )
488 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 1 , 13 , 394 )
489 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 2 , 12 , 181 )
490 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 3 , 196 , 181 )
491 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 4 , 197 , 81 )
493 LforNNwhileNotOneN = SyrStruct_1.Link( OforNN , IwhileNotOneN )
495 LforNNEndOfforNN = SyrStruct_1.Link( OforNN , IEndOfforNN )
497 LforNKwhileNotOneK = SyrStruct_1.Link( OforNK , IwhileNotOneK )
499 LforNSyrComponentEndOfforNSyrComponent = SyrStruct_1.Link( OforNSyrComponent , IEndOfforNSyrComponent )
501 LforNSyrComponentwhileNotOneSyrComponent = SyrStruct_1.Link( OforNSyrComponent , IwhileNotOneSyrComponent )
502 LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 1 , 192 , 309 )
503 LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 2 , 191 , 394 )
505 LforNminEndOfforNmin = SyrStruct_1.Link( OforNmin , IEndOfforNmin )
507 LforNmaxEndOfforNmax = SyrStruct_1.Link( OforNmax , IEndOfforNmax )
509 LwhileNotOneSyrComponentEndOfwhileNotOneSyrComponent = SyrStruct_1.Link( OwhileNotOneSyrComponent , IEndOfwhileNotOneSyrComponent )
511 LwhileNotOneSyrComponentifNotEvenSyrComponent = SyrStruct_1.Link( OwhileNotOneSyrComponent , IifNotEvenSyrComponent )
513 LwhileNotOneNifNotEvenN = SyrStruct_1.Link( OwhileNotOneN , IifNotEvenN )
515 LwhileNotOneKifNotEvenK = SyrStruct_1.Link( OwhileNotOneK , IifNotEvenK )
517 LEndOfwhileNotOneKEndOfforNK = SyrStruct_1.Link( OEndOfwhileNotOneK , IEndOfforNK )
519 LforiiEndOfforii = SyrStruct_1.Link( Oforii , IEndOfforii )
521 LforiKincraaCount = SyrStruct_1.Link( OforiK , IincraaCount )
523 LEndOfforiKEndOfifNotEvenK = SyrStruct_1.Link( OEndOfforiK , IEndOfifNotEvenK )
524 LEndOfforiKEndOfifNotEvenK.AddCoord( 1 , 1170 , 396 )
525 LEndOfforiKEndOfifNotEvenK.AddCoord( 2 , 1169 , 275 )
527 LwhileEvenSyrComponentEndOfwhileEvenSyrComponent = SyrStruct_1.Link( OwhileEvenSyrComponent , IEndOfwhileEvenSyrComponent )
529 LwhileEvenNdiv2anEvenInteger = SyrStruct_1.Link( OwhileEvenN , Idiv2anEvenInteger )
531 LwhileEvenKincrbaCount = SyrStruct_1.Link( OwhileEvenK , IincrbaCount )
532 LwhileEvenKincrbaCount.AddCoord( 1 , 796 , 655 )
533 LwhileEvenKincrbaCount.AddCoord( 2 , 795 , 543 )
535 LEndOfwhileEvenNEndOfifNotEvenN = SyrStruct_1.Link( OEndOfwhileEvenN , IEndOfifNotEvenN )
536 LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 1 , 1191 , 366 )
537 LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 2 , 1191 , 513 )
539 LEndOfwhileEvenKEndOfifNotEvenK = SyrStruct_1.Link( OEndOfwhileEvenK , IEndOfifNotEvenK )
540 LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 1 , 1169 , 395 )
541 LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 2 , 1170 , 543 )
543 LifNotEvenOddm3Gate = SyrStruct_1.Link( OifNotEvenOdd , Im3Gate )
544 LifNotEvenOddm3Gate.AddCoord( 1 , 593 , 141 )
545 LifNotEvenOddm3Gate.AddCoord( 2 , 593 , 307 )
547 LifNotEvenOddforiGate = SyrStruct_1.Link( OifNotEvenOdd , IforiGate )
549 LifNotEvenEvenwhileEvenGate = SyrStruct_1.Link( OifNotEvenEven , IwhileEvenGate )
550 LifNotEvenEvenwhileEvenGate.AddCoord( 1 , 593 , 576 )
551 LifNotEvenEvenwhileEvenGate.AddCoord( 2 , 592 , 339 )
553 LifNotEvenSyrComponentwhileEvenSyrComponent = SyrStruct_1.Link( OifNotEvenSyrComponent , IwhileEvenSyrComponent )
554 LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 1 , 586 , 486 )
555 LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 2 , 587 , 367 )
557 LifNotEvenNwhileEvenN = SyrStruct_1.Link( OifNotEvenN , IwhileEvenN )
558 LifNotEvenNwhileEvenN.AddCoord( 1 , 604 , 513 )
559 LifNotEvenNwhileEvenN.AddCoord( 2 , 603 , 397 )
561 LifNotEvenNm3anOddInteger = SyrStruct_1.Link( OifNotEvenN , Im3anOddInteger )
562 LifNotEvenNm3anOddInteger.AddCoord( 1 , 604 , 107 )
563 LifNotEvenNm3anOddInteger.AddCoord( 2 , 604 , 395 )
565 LifNotEvenKwhileEvenK = SyrStruct_1.Link( OifNotEvenK , IwhileEvenK )
566 LifNotEvenKwhileEvenK.AddCoord( 1 , 621 , 544 )
567 LifNotEvenKwhileEvenK.AddCoord( 2 , 622 , 426 )
569 LifNotEvenKforiK = SyrStruct_1.Link( OifNotEvenK , IforiK )
570 LifNotEvenKforiK.AddCoord( 1 , 622 , 275 )
571 LifNotEvenKforiK.AddCoord( 2 , 622 , 426 )
573 LifNotEvenDefaultEndOfifNotEvenDefault = SyrStruct_1.Link( OifNotEvenDefault , IEndOfifNotEvenDefault )
574 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 1 , 1204 , 429 )
575 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
576 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
577 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 4 , 581 , 458 )
579 LEndOfifNotEvenNEndOfwhileNotOneN = SyrStruct_1.Link( OEndOfifNotEvenN , IEndOfwhileNotOneN )
581 LEndOfifNotEvenKEndOfwhileNotOneK = SyrStruct_1.Link( OEndOfifNotEvenK , IEndOfwhileNotOneK )
583 # Input Ports of the graph
584 #ISyrComponentaContainer = SyrComponent.GetInPort( 'aContainer' )
585 #ISyrComponentaComponent = SyrComponent.GetInPort( 'aComponent' )
586 #IforNN = forN.GetInPort( 'N' )
587 #IforNK = forN.GetInPort( 'K' )
588 #IforNmin = forN.GetInPort( 'min' )
589 #IforNmax = forN.GetInPort( 'max' )
590 #Iforii = fori.GetInPort( 'i' )
592 # Output Ports of the graph
593 #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
594 #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
595 #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
596 #OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
597 #OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
598 #OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
599 #OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
600 #OEndOfforii = EndOffori.GetOutPort( 'i' )
601 #OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
604 # Graph creation of SyrStruct_1_1
605 def DefSyrStruct_1_1() :
606 SyrStruct_1_1 = Graph( 'SyrStruct_1_1' )
607 SyrStruct_1_1.SetName( 'SyrStruct_1_1' )
608 SyrStruct_1_1.SetAuthor( 'JR' )
609 SyrStruct_1_1.SetComment( 'Syracuse algorithm' )
610 SyrStruct_1_1.Coords( 0 , 0 )
612 # Creation of Factory Nodes
614 m3 = SyrStruct_1_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
617 m3.SetContainer( 'localhost/FactoryServer' )
618 m3.SetComment( 'C_M3 from SyrComponent' )
619 m3.Coords( 672 , 28 )
620 Im3anOddInteger = m3.GetInPort( 'anOddInteger' )
621 Im3Gate = m3.GetInPort( 'Gate' )
622 Om3anInteger = m3.GetOutPort( 'anInteger' )
623 Om3Gate = m3.GetOutPort( 'Gate' )
625 m3incr = SyrStruct_1_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
626 m3incr.SetName( 'm3incr' )
627 m3incr.SetAuthor( '' )
628 m3incr.SetContainer( 'localhost/FactoryServer' )
629 m3incr.SetComment( 'C_INCR from SyrComponent' )
630 m3incr.Coords( 898 , 29 )
631 Im3incraCount = m3incr.GetInPort( 'aCount' )
632 Im3incrGate = m3incr.GetInPort( 'Gate' )
633 Om3incraNewCount = m3incr.GetOutPort( 'aNewCount' )
634 Om3incrGate = m3incr.GetOutPort( 'Gate' )
636 incra = SyrStruct_1_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
637 incra.SetName( 'incra' )
638 incra.SetAuthor( '' )
639 incra.SetContainer( 'localhost/FactoryServer' )
640 incra.SetComment( 'C_INCR from SyrComponent' )
641 incra.Coords( 803 , 195 )
642 IincraaCount = incra.GetInPort( 'aCount' )
643 IincraGate = incra.GetInPort( 'Gate' )
644 OincraaNewCount = incra.GetOutPort( 'aNewCount' )
645 OincraGate = incra.GetOutPort( 'Gate' )
647 div2 = SyrStruct_1_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
648 div2.SetName( 'div2' )
650 div2.SetContainer( 'localhost/FactoryServer' )
651 div2.SetComment( 'C_DIV2 from SyrComponent' )
652 div2.Coords( 810 , 435 )
653 Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
654 Idiv2Gate = div2.GetInPort( 'Gate' )
655 Odiv2anInteger = div2.GetOutPort( 'anInteger' )
656 Odiv2Gate = div2.GetOutPort( 'Gate' )
658 incrb = SyrStruct_1_1.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
659 incrb.SetName( 'incrb' )
660 incrb.SetAuthor( '' )
661 incrb.SetContainer( 'localhost/FactoryServer' )
662 incrb.SetComment( 'C_INCR from SyrComponent' )
663 incrb.Coords( 809 , 574 )
664 IincrbaCount = incrb.GetInPort( 'aCount' )
665 IincrbGate = incrb.GetInPort( 'Gate' )
666 OincrbaNewCount = incrb.GetOutPort( 'aNewCount' )
667 OincrbGate = incrb.GetOutPort( 'Gate' )
669 # Creation of InLine Nodes
671 PySyrComponent.append( 'from LifeCycleCORBA import * ' )
672 PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
673 PySyrComponent.append( ' orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
674 PySyrComponent.append( ' lcc = LifeCycleCORBA(orb) ' )
675 PySyrComponent.append( ' ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
676 PySyrComponent.append( ' return ComponentRef ' )
677 SyrComponent = SyrStruct_1_1.INode( 'SyrComponent' , PySyrComponent )
678 SyrComponent.SetName( 'SyrComponent' )
679 SyrComponent.SetAuthor( '' )
680 SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
681 SyrComponent.Coords( 0 , 0 )
682 ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
683 ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
684 ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
685 OSyrComponentSyrComponentobjref = SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
686 OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
688 # Creation of Loop Nodes
690 PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
691 PyforN.append( ' N = max ' )
692 PyforN.append( ' if min > 0 : ' )
693 PyforN.append( ' if max >= min : ' )
694 PyforN.append( ' N = min ' )
695 PyforN.append( ' return N,K,SyrComponent,min,max ' )
697 PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
698 PyMoreforN.append( ' N = NN ' )
699 PyMoreforN.append( ' OutLoop = 0 ' )
700 PyMoreforN.append( ' if max > NN : ' )
701 PyMoreforN.append( ' OutLoop = 1 ' )
702 PyMoreforN.append( ' return OutLoop,N,0,SyrComponent,min,max ' )
704 PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
705 PyNextforN.append( ' N = NN + 1 ' )
706 PyNextforN.append( ' K = KK ' )
707 PyNextforN.append( ' return N,K,SyrComponent,min,max ' )
708 forN,EndOfforN = SyrStruct_1_1.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
709 EndOfforN.SetName( 'EndOfforN' )
710 EndOfforN.SetAuthor( '' )
711 EndOfforN.SetComment( '' )
712 EndOfforN.Coords( 1535 , 332 )
714 EndOfforN.SetPyFunction( '' , PyEndOfforN )
715 IforNInitLoop = forN.GetInPort( 'InitLoop' )
716 IforNN = forN.InPort( 'N' , 'long' )
717 IforNK = forN.InPort( 'K' , 'long' )
718 IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
719 IforNmin = forN.InPort( 'min' , 'long' )
720 IforNmax = forN.InPort( 'max' , 'long' )
721 IforNGate = forN.GetInPort( 'Gate' )
722 OforNDoLoop = forN.GetOutPort( 'DoLoop' )
723 OforNN = forN.GetOutPort( 'N' )
724 OforNK = forN.GetOutPort( 'K' )
725 OforNSyrComponent = forN.GetOutPort( 'SyrComponent' )
726 OforNmin = forN.GetOutPort( 'min' )
727 OforNmax = forN.GetOutPort( 'max' )
728 IEndOfforNDoLoop = EndOfforN.GetInPort( 'DoLoop' )
729 IEndOfforNN = EndOfforN.GetInPort( 'N' )
730 IEndOfforNK = EndOfforN.GetInPort( 'K' )
731 IEndOfforNSyrComponent = EndOfforN.GetInPort( 'SyrComponent' )
732 IEndOfforNmin = EndOfforN.GetInPort( 'min' )
733 IEndOfforNmax = EndOfforN.GetInPort( 'max' )
734 IEndOfforNGate = EndOfforN.GetInPort( 'Gate' )
735 OEndOfforNDoLoop = EndOfforN.GetOutPort( 'DoLoop' )
736 OEndOfforNN = EndOfforN.GetOutPort( 'N' )
737 OEndOfforNK = EndOfforN.GetOutPort( 'K' )
738 OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
739 OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
740 OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
741 forN.SetName( 'forN' )
743 forN.SetComment( 'InitN , MoreN , NextN' )
744 forN.Coords( 20 , 302 )
747 PywhileNotOne.append( 'import threading' )
748 PywhileNotOne.append( 'import SyrComponent_idl' )
749 PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
750 PywhileNotOne.append( ' return SyrComponent,N,K' )
751 PyMorewhileNotOne = []
752 PyMorewhileNotOne.append( 'import SyrComponent_idl' )
753 PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
754 PyMorewhileNotOne.append( ' OutLoop = 1 - SyrComponent.C_ISONE( N )' )
755 PyMorewhileNotOne.append( ' return OutLoop,SyrComponent,N,K ' )
756 PyNextwhileNotOne = []
757 PyNextwhileNotOne.append( 'import SyrComponent_idl' )
758 PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
759 PyNextwhileNotOne.append( ' return SyrComponent,N,K' )
760 whileNotOne,EndOfwhileNotOne = SyrStruct_1_1.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
761 EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
762 EndOfwhileNotOne.SetAuthor( '' )
763 EndOfwhileNotOne.SetComment( '' )
764 EndOfwhileNotOne.Coords( 1366 , 303 )
765 PyEndOfwhileNotOne = []
766 EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
767 IwhileNotOneInitLoop = whileNotOne.GetInPort( 'InitLoop' )
768 IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
769 IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
770 IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
771 IwhileNotOneGate = whileNotOne.GetInPort( 'Gate' )
772 OwhileNotOneDoLoop = whileNotOne.GetOutPort( 'DoLoop' )
773 OwhileNotOneSyrComponent = whileNotOne.GetOutPort( 'SyrComponent' )
774 OwhileNotOneN = whileNotOne.GetOutPort( 'N' )
775 OwhileNotOneK = whileNotOne.GetOutPort( 'K' )
776 IEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetInPort( 'DoLoop' )
777 IEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetInPort( 'SyrComponent' )
778 IEndOfwhileNotOneN = EndOfwhileNotOne.GetInPort( 'N' )
779 IEndOfwhileNotOneK = EndOfwhileNotOne.GetInPort( 'K' )
780 IEndOfwhileNotOneGate = EndOfwhileNotOne.GetInPort( 'Gate' )
781 OEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetOutPort( 'DoLoop' )
782 OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
783 OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
784 OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
785 whileNotOne.SetName( 'whileNotOne' )
786 whileNotOne.SetAuthor( '' )
787 whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
788 whileNotOne.Coords( 212 , 274 )
791 Pyfori.append( 'def Initfori( ii , K ) :' )
792 Pyfori.append( ' return 1,0,K' )
794 PyMorefori.append( 'def Morefori( ii , K ) :' )
795 PyMorefori.append( ' OutLoop = 0' )
796 PyMorefori.append( ' if 2 > ii :' )
797 PyMorefori.append( ' OutLoop = 1' )
798 PyMorefori.append( ' return OutLoop,ii,K' )
800 PyNextfori.append( 'def Nextfori( ii , K ) :' )
801 PyNextfori.append( ' ii = ii + 1' )
802 PyNextfori.append( ' return ii,K' )
803 fori,EndOffori = SyrStruct_1_1.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
804 EndOffori.SetName( 'EndOffori' )
805 EndOffori.SetAuthor( '' )
806 EndOffori.SetComment( '' )
807 EndOffori.Coords( 976 , 212 )
809 EndOffori.SetPyFunction( '' , PyEndOffori )
810 IforiInitLoop = fori.GetInPort( 'InitLoop' )
811 Iforii = fori.InPort( 'i' , 'long' )
812 IforiK = fori.InPort( 'K' , 'long' )
813 IforiGate = fori.GetInPort( 'Gate' )
814 OforiDoLoop = fori.GetOutPort( 'DoLoop' )
815 Oforii = fori.GetOutPort( 'i' )
816 OforiK = fori.GetOutPort( 'K' )
817 IEndOfforiDoLoop = EndOffori.GetInPort( 'DoLoop' )
818 IEndOfforii = EndOffori.GetInPort( 'i' )
819 IEndOfforiK = EndOffori.GetInPort( 'K' )
820 IEndOfforiGate = EndOffori.GetInPort( 'Gate' )
821 OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
822 OEndOfforii = EndOffori.GetOutPort( 'i' )
823 OEndOfforiK = EndOffori.GetOutPort( 'K' )
824 fori.SetName( 'fori' )
826 fori.SetComment( 'Initfori, Morefori, Nextfori' )
827 fori.Coords( 635 , 212 )
830 PywhileEven.append( 'import SyrComponent_idl' )
831 PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
832 PywhileEven.append( ' return SyrComponent,N,K' )
834 PyMorewhileEven.append( 'import SyrComponent_idl' )
835 PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
836 PyMorewhileEven.append( ' OutLoop = SyrComponent.C_ISEVEN( N )' )
837 PyMorewhileEven.append( ' return OutLoop,SyrComponent,N,K ' )
839 PyNextwhileEven.append( 'import SyrComponent_idl' )
840 PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
841 PyNextwhileEven.append( ' return SyrComponent,N,K' )
842 whileEven,EndOfwhileEven = SyrStruct_1_1.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
843 EndOfwhileEven.SetName( 'EndOfwhileEven' )
844 EndOfwhileEven.SetAuthor( '' )
845 EndOfwhileEven.SetComment( '' )
846 EndOfwhileEven.Coords( 988 , 451 )
847 PyEndOfwhileEven = []
848 EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
849 IwhileEvenInitLoop = whileEven.GetInPort( 'InitLoop' )
850 IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
851 IwhileEvenN = whileEven.InPort( 'N' , 'long' )
852 IwhileEvenK = whileEven.InPort( 'K' , 'long' )
853 IwhileEvenGate = whileEven.GetInPort( 'Gate' )
854 OwhileEvenDoLoop = whileEven.GetOutPort( 'DoLoop' )
855 OwhileEvenSyrComponent = whileEven.GetOutPort( 'SyrComponent' )
856 OwhileEvenN = whileEven.GetOutPort( 'N' )
857 OwhileEvenK = whileEven.GetOutPort( 'K' )
858 IEndOfwhileEvenDoLoop = EndOfwhileEven.GetInPort( 'DoLoop' )
859 IEndOfwhileEvenSyrComponent = EndOfwhileEven.GetInPort( 'SyrComponent' )
860 IEndOfwhileEvenN = EndOfwhileEven.GetInPort( 'N' )
861 IEndOfwhileEvenK = EndOfwhileEven.GetInPort( 'K' )
862 IEndOfwhileEvenGate = EndOfwhileEven.GetInPort( 'Gate' )
863 OEndOfwhileEvenDoLoop = EndOfwhileEven.GetOutPort( 'DoLoop' )
864 OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
865 OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
866 OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
867 whileEven.SetName( 'whileEven' )
868 whileEven.SetAuthor( '' )
869 whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
870 whileEven.Coords( 632 , 451 )
872 # Creation of Switch Nodes
874 PyifNotEven.append( 'import SyrComponent_idl' )
875 PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
876 PyifNotEven.append( ' Even = SyrComponent.C_ISEVEN( N )' )
877 PyifNotEven.append( ' Odd = 1 - Even' )
878 PyifNotEven.append( ' return Odd,Even,SyrComponent,N,K' )
879 ifNotEven,EndOfifNotEven = SyrStruct_1_1.SNode( 'ifNotEven' , PyifNotEven )
880 EndOfifNotEven.SetName( 'EndOfifNotEven' )
881 EndOfifNotEven.SetAuthor( '' )
882 EndOfifNotEven.SetComment( '' )
883 EndOfifNotEven.Coords( 1205 , 331 )
884 PyEndOfifNotEven = []
885 EndOfifNotEven.SetPyFunction( '' , PyEndOfifNotEven )
886 IEndOfifNotEvenN = EndOfifNotEven.InPort( 'N' , 'long' )
887 IEndOfifNotEvenK = EndOfifNotEven.InPort( 'K' , 'long' )
888 IEndOfifNotEvenDefault = EndOfifNotEven.GetInPort( 'Default' )
889 OEndOfifNotEvenN = EndOfifNotEven.OutPort( 'N' , 'long' )
890 OEndOfifNotEvenK = EndOfifNotEven.OutPort( 'K' , 'long' )
891 OEndOfifNotEvenGate = EndOfifNotEven.GetOutPort( 'Gate' )
892 ifNotEven.SetName( 'ifNotEven' )
893 ifNotEven.SetAuthor( '' )
894 ifNotEven.SetComment( 'ifNotEven' )
895 ifNotEven.Coords( 418 , 274 )
896 IifNotEvenSyrComponent = ifNotEven.InPort( 'SyrComponent' , 'objref' )
897 IifNotEvenN = ifNotEven.InPort( 'N' , 'long' )
898 IifNotEvenK = ifNotEven.InPort( 'K' , 'long' )
899 IifNotEvenGate = ifNotEven.GetInPort( 'Gate' )
900 OifNotEvenOdd = ifNotEven.OutPort( 'Odd' , 'long' )
901 OifNotEvenEven = ifNotEven.OutPort( 'Even' , 'long' )
902 OifNotEvenSyrComponent = ifNotEven.OutPort( 'SyrComponent' , 'objref' )
903 OifNotEvenN = ifNotEven.OutPort( 'N' , 'long' )
904 OifNotEvenK = ifNotEven.OutPort( 'K' , 'long' )
905 OifNotEvenDefault = ifNotEven.GetOutPort( 'Default' )
908 Lm3anIntegerm3incraCount = SyrStruct_1_1.Link( Om3anInteger , Im3incraCount )
910 Lm3incraNewCountEndOfifNotEvenN = SyrStruct_1_1.Link( Om3incraNewCount , IEndOfifNotEvenN )
911 Lm3incraNewCountEndOfifNotEvenN.AddCoord( 1 , 1190 , 366 )
912 Lm3incraNewCountEndOfifNotEvenN.AddCoord( 2 , 1191 , 109 )
914 LincraaNewCountEndOfforiK = SyrStruct_1_1.Link( OincraaNewCount , IEndOfforiK )
916 Ldiv2anIntegerEndOfwhileEvenN = SyrStruct_1_1.Link( Odiv2anInteger , IEndOfwhileEvenN )
918 LincrbaNewCountEndOfwhileEvenK = SyrStruct_1_1.Link( OincrbaNewCount , IEndOfwhileEvenK )
919 LincrbaNewCountEndOfwhileEvenK.AddCoord( 1 , 988 , 543 )
920 LincrbaNewCountEndOfwhileEvenK.AddCoord( 2 , 988 , 654 )
922 LSyrComponentSyrComponentobjrefforNSyrComponent = SyrStruct_1_1.Link( OSyrComponentSyrComponentobjref , IforNSyrComponent )
923 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 1 , 13 , 394 )
924 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 2 , 12 , 181 )
925 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 3 , 196 , 181 )
926 LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 4 , 197 , 81 )
928 LforNNwhileNotOneN = SyrStruct_1_1.Link( OforNN , IwhileNotOneN )
930 LforNNEndOfforNN = SyrStruct_1_1.Link( OforNN , IEndOfforNN )
932 LforNKwhileNotOneK = SyrStruct_1_1.Link( OforNK , IwhileNotOneK )
934 LforNSyrComponentEndOfforNSyrComponent = SyrStruct_1_1.Link( OforNSyrComponent , IEndOfforNSyrComponent )
936 LforNSyrComponentwhileNotOneSyrComponent = SyrStruct_1_1.Link( OforNSyrComponent , IwhileNotOneSyrComponent )
937 LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 1 , 192 , 309 )
938 LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 2 , 191 , 394 )
940 LforNminEndOfforNmin = SyrStruct_1_1.Link( OforNmin , IEndOfforNmin )
942 LforNmaxEndOfforNmax = SyrStruct_1_1.Link( OforNmax , IEndOfforNmax )
944 LwhileNotOneSyrComponentEndOfwhileNotOneSyrComponent = SyrStruct_1_1.Link( OwhileNotOneSyrComponent , IEndOfwhileNotOneSyrComponent )
946 LwhileNotOneSyrComponentifNotEvenSyrComponent = SyrStruct_1_1.Link( OwhileNotOneSyrComponent , IifNotEvenSyrComponent )
948 LwhileNotOneNifNotEvenN = SyrStruct_1_1.Link( OwhileNotOneN , IifNotEvenN )
950 LwhileNotOneKifNotEvenK = SyrStruct_1_1.Link( OwhileNotOneK , IifNotEvenK )
952 LEndOfwhileNotOneKEndOfforNK = SyrStruct_1_1.Link( OEndOfwhileNotOneK , IEndOfforNK )
954 LforiiEndOfforii = SyrStruct_1_1.Link( Oforii , IEndOfforii )
956 LforiKincraaCount = SyrStruct_1_1.Link( OforiK , IincraaCount )
958 LEndOfforiKEndOfifNotEvenK = SyrStruct_1_1.Link( OEndOfforiK , IEndOfifNotEvenK )
959 LEndOfforiKEndOfifNotEvenK.AddCoord( 1 , 1170 , 396 )
960 LEndOfforiKEndOfifNotEvenK.AddCoord( 2 , 1169 , 275 )
962 LwhileEvenSyrComponentEndOfwhileEvenSyrComponent = SyrStruct_1_1.Link( OwhileEvenSyrComponent , IEndOfwhileEvenSyrComponent )
964 LwhileEvenNdiv2anEvenInteger = SyrStruct_1_1.Link( OwhileEvenN , Idiv2anEvenInteger )
966 LwhileEvenKincrbaCount = SyrStruct_1_1.Link( OwhileEvenK , IincrbaCount )
967 LwhileEvenKincrbaCount.AddCoord( 1 , 796 , 655 )
968 LwhileEvenKincrbaCount.AddCoord( 2 , 795 , 543 )
970 LEndOfwhileEvenNEndOfifNotEvenN = SyrStruct_1_1.Link( OEndOfwhileEvenN , IEndOfifNotEvenN )
971 LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 1 , 1191 , 366 )
972 LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 2 , 1191 , 513 )
974 LEndOfwhileEvenKEndOfifNotEvenK = SyrStruct_1_1.Link( OEndOfwhileEvenK , IEndOfifNotEvenK )
975 LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 1 , 1169 , 395 )
976 LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 2 , 1170 , 543 )
978 LifNotEvenOddm3Gate = SyrStruct_1_1.Link( OifNotEvenOdd , Im3Gate )
979 LifNotEvenOddm3Gate.AddCoord( 1 , 593 , 141 )
980 LifNotEvenOddm3Gate.AddCoord( 2 , 593 , 307 )
982 LifNotEvenOddforiGate = SyrStruct_1_1.Link( OifNotEvenOdd , IforiGate )
984 LifNotEvenEvenwhileEvenGate = SyrStruct_1_1.Link( OifNotEvenEven , IwhileEvenGate )
985 LifNotEvenEvenwhileEvenGate.AddCoord( 1 , 593 , 576 )
986 LifNotEvenEvenwhileEvenGate.AddCoord( 2 , 592 , 339 )
988 LifNotEvenSyrComponentwhileEvenSyrComponent = SyrStruct_1_1.Link( OifNotEvenSyrComponent , IwhileEvenSyrComponent )
989 LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 1 , 586 , 486 )
990 LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 2 , 587 , 367 )
992 LifNotEvenNwhileEvenN = SyrStruct_1_1.Link( OifNotEvenN , IwhileEvenN )
993 LifNotEvenNwhileEvenN.AddCoord( 1 , 604 , 513 )
994 LifNotEvenNwhileEvenN.AddCoord( 2 , 603 , 397 )
996 LifNotEvenNm3anOddInteger = SyrStruct_1_1.Link( OifNotEvenN , Im3anOddInteger )
997 LifNotEvenNm3anOddInteger.AddCoord( 1 , 604 , 107 )
998 LifNotEvenNm3anOddInteger.AddCoord( 2 , 604 , 395 )
1000 LifNotEvenKwhileEvenK = SyrStruct_1_1.Link( OifNotEvenK , IwhileEvenK )
1001 LifNotEvenKwhileEvenK.AddCoord( 1 , 621 , 544 )
1002 LifNotEvenKwhileEvenK.AddCoord( 2 , 622 , 426 )
1004 LifNotEvenKforiK = SyrStruct_1_1.Link( OifNotEvenK , IforiK )
1005 LifNotEvenKforiK.AddCoord( 1 , 622 , 275 )
1006 LifNotEvenKforiK.AddCoord( 2 , 622 , 426 )
1008 LifNotEvenDefaultEndOfifNotEvenDefault = SyrStruct_1_1.Link( OifNotEvenDefault , IEndOfifNotEvenDefault )
1009 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 1 , 1204 , 429 )
1010 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
1011 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
1012 LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 4 , 581 , 458 )
1014 LEndOfifNotEvenNEndOfwhileNotOneN = SyrStruct_1_1.Link( OEndOfifNotEvenN , IEndOfwhileNotOneN )
1016 LEndOfifNotEvenKEndOfwhileNotOneK = SyrStruct_1_1.Link( OEndOfifNotEvenK , IEndOfwhileNotOneK )
1018 # Input Ports of the graph
1019 #ISyrComponentaContainer = SyrComponent.GetInPort( 'aContainer' )
1020 #ISyrComponentaComponent = SyrComponent.GetInPort( 'aComponent' )
1021 #IforNN = forN.GetInPort( 'N' )
1022 #IforNK = forN.GetInPort( 'K' )
1023 #IforNmin = forN.GetInPort( 'min' )
1024 #IforNmax = forN.GetInPort( 'max' )
1025 #Iforii = fori.GetInPort( 'i' )
1027 # Output Ports of the graph
1028 #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
1029 #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
1030 #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
1031 #OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
1032 #OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
1033 #OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
1034 #OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
1035 #OEndOfforii = EndOffori.GetOutPort( 'i' )
1036 #OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
1037 return SyrStruct_1_1
1040 GraphMacroNodes = DefGraphMacroNodes()