Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_Flowchart11 / Flowchart11.lus @ eb639349

History | View | Annotate | Download (7.5 KB)

1
-- This file has been generated by cocoSim
2

    
3

    
4
-- System nodes
5

    
6

    
7

    
8

    
9
node POINT__To__Flowchart10_Flowchart10Junction769_2_Condition_Action(y_1:int)
10

    
11
returns (y:int);
12

    
13

    
14
var 	y_2:int;
15

    
16

    
17
let
18

    
19

    
20

    
21
	y_2 
22
	=  y_1  - 1;
23
	
24

    
25
	(y) 
26
	= (y_2);
27
	
28

    
29
tel
30

    
31

    
32

    
33

    
34

    
35

    
36
node Flowchart10_A__To__Flowchart10_Flowchart10Junction771_1_Condition_Action(y_1:int)
37

    
38
returns (y:int);
39

    
40

    
41
var 	y_2:int;
42

    
43

    
44
let
45

    
46

    
47

    
48
	y_2 
49
	=  y_1 -2;
50
	
51

    
52
	(y) 
53
	= (y_2);
54
	
55

    
56
tel
57

    
58

    
59

    
60

    
61

    
62

    
63
node POINT__To__Flowchart10_Flowchart10Junction768_1_Condition_Action(y_1:int)
64

    
65
returns (y:int);
66

    
67

    
68
var 	y_2:int;
69

    
70

    
71
let
72

    
73

    
74

    
75
	y_2 
76
	=  y_1  + 1;
77
	
78

    
79
	(y) 
80
	= (y_2);
81
	
82

    
83
tel
84

    
85

    
86

    
87

    
88

    
89

    
90
node Flowchart10_A__To__Flowchart10_Flowchart10Junction770_2_Condition_Action(y_1:int)
91

    
92
returns (y:int);
93

    
94

    
95
var 	y_2:int;
96

    
97

    
98
let
99

    
100

    
101

    
102
	y_2 
103
	=  y_1 +2;
104
	
105

    
106
	(y) 
107
	= (y_2);
108
	
109

    
110
tel
111

    
112

    
113

    
114

    
115

    
116

    
117
-- Entry action for state :Flowchart10_A
118
node Flowchart10_A_en(idFlowchart10_A_1:int;
119
	idFlowchart10_Flowchart10_1:int;
120
	x:int;
121
	y_1:int;
122
	isInner:bool)
123

    
124
returns (idFlowchart10_A:int;
125
	idFlowchart10_Flowchart10:int;
126
	y:int);
127

    
128

    
129
var 	idFlowchart10_A_2, idFlowchart10_A_3, idFlowchart10_A_4:int;
130
	idFlowchart10_Flowchart10_2, idFlowchart10_Flowchart10_3, idFlowchart10_Flowchart10_4:int;
131
	y_2, y_3, y_4, y_5:int;
132

    
133

    
134
let
135

    
136

    
137

    
138
	-- set state as active 
139
	idFlowchart10_Flowchart10_2 
140
	= 767;
141
	
142

    
143
	
144
-- transition trace :
145
	--POINT__To__Junction768_1
146
		-- condition Action : y++;
147
		
148
		(y_2) 
149
	= 
150
		 if (( x=0 )) then 
151
		POINT__To__Flowchart10_Flowchart10Junction768_1_Condition_Action(y_1)
152
		 else (y_1);
153
		
154

    
155
-- transition trace :
156
	--POINT__To__Junction769_2
157
		-- condition Action : y--;
158
		
159
		(y_3) 
160
	= 
161
		 if (( x>0 )) then 
162
		POINT__To__Flowchart10_Flowchart10Junction769_2_Condition_Action(y_1)
163
		 else (y_1);
164
		
165

    
166
	(idFlowchart10_A_2, idFlowchart10_Flowchart10_3, y_4) 
167
	= 
168

    
169
	if ( idFlowchart10_A_1 = 0) then
170

    
171
	
172
		 if (( x=0 )) then 
173
		(idFlowchart10_A_1, idFlowchart10_Flowchart10_2, y_2)
174
		 else
175
		 if (( x>0 )) then 
176
		(idFlowchart10_A_1, idFlowchart10_Flowchart10_2, y_3)
177
		 else (idFlowchart10_A_1, idFlowchart10_Flowchart10_2, y_1)
178

    
179
	 else(idFlowchart10_A_1, idFlowchart10_Flowchart10_2, y_1);
180

    
181
	
182

    
183
	(idFlowchart10_A_3, idFlowchart10_Flowchart10_4, y_5) 
184
	= 
185
		 if ( idFlowchart10_A_1 = 0) then 
186
		(idFlowchart10_A_2, idFlowchart10_Flowchart10_3, y_4)
187
		 else (idFlowchart10_A_1, idFlowchart10_Flowchart10_2, y_1);
188
-- case of state without states but contains transitions 
189
	idFlowchart10_A_4 
190
	= -1;
191
	
192

    
193
	(idFlowchart10_A, idFlowchart10_Flowchart10, y) 
194
	= (idFlowchart10_A_4, idFlowchart10_Flowchart10_4, y_5);
195
	
196

    
197
tel
198

    
199

    
200

    
201

    
202

    
203
-- Exit action for state :Flowchart10_A
204
node Flowchart10_A_ex(idFlowchart10_Flowchart10_1:int;
205
	isInner:bool)
206

    
207
returns (idFlowchart10_Flowchart10:int);
208

    
209

    
210
var 	idFlowchart10_Flowchart10_2:int;
211

    
212

    
213
let
214

    
215

    
216

    
217
	-- set state as inactive 
218
	idFlowchart10_Flowchart10_2
219
	 = if (not isInner) then 0 else idFlowchart10_Flowchart10_1;
220

    
221

    
222
	(idFlowchart10_Flowchart10) 
223
	= (idFlowchart10_Flowchart10_1);
224
	
225

    
226
tel
227

    
228

    
229

    
230

    
231

    
232
--During action for state :Flowchart10_A
233
node Flowchart10_A_du(x:int;
234
	y_1:int)
235

    
236
returns (y:int);
237

    
238

    
239

    
240

    
241
let
242

    
243

    
244

    
245
		 automaton flowchart10_a_INNER
246

    
247
	state POINTFlowchart10_A_INNER:
248
	unless true and ( x>0 ) restart FLOWCHART10_A__TO__FLOWCHART10_FLOWCHART10JUNCTION771_1
249

    
250

    
251

    
252
	unless true and ( x=0 ) restart FLOWCHART10_A__TO__FLOWCHART10_FLOWCHART10JUNCTION770_2
253

    
254

    
255

    
256
	let
257

    
258
		(y) 
259
	= (y_1);
260
	
261

    
262
	tel
263

    
264

    
265

    
266
	state FLOWCHART10_A__TO__FLOWCHART10_FLOWCHART10JUNCTION771_1:
267

    
268
	 var 	y_2:int;
269
	let
270

    
271
		-- transition trace :
272
	--Flowchart10_A__To__Junction771_1
273
		-- condition Action : y-=2;
274
		
275
		(y_2) 
276
	= Flowchart10_A__To__Flowchart10_Flowchart10Junction771_1_Condition_Action(y_1);
277
		
278

    
279
	(y) 
280
	=  (y_2);
281

    
282

    
283
	tel
284

    
285
	until true restart POINTFlowchart10_A_INNER
286

    
287

    
288

    
289
	state FLOWCHART10_A__TO__FLOWCHART10_FLOWCHART10JUNCTION770_2:
290

    
291
	 var 	y_2:int;
292
	let
293

    
294
		-- transition trace :
295
	--Flowchart10_A__To__Junction770_2
296
		-- condition Action : y+=2;
297
		
298
		(y_2) 
299
	= Flowchart10_A__To__Flowchart10_Flowchart10Junction770_2_Condition_Action(y_1);
300
		
301

    
302
	(y) 
303
	=  (y_2);
304

    
305

    
306
	tel
307

    
308
	until true restart POINTFlowchart10_A_INNER
309

    
310

    
311

    
312
tel
313

    
314

    
315
--***************************************************State :Flowchart10_A Automaton***************************************************
316

    
317
node Flowchart10_A_node(idFlowchart10_A_1:int;
318
	x:int;
319
	y_1:int)
320

    
321
returns (idFlowchart10_A:int;
322
	y:int);
323

    
324

    
325
let
326

    
327
	 automaton flowchart10_a
328

    
329
	state POINTFlowchart10_A:
330
	unless (idFlowchart10_A_1=0) and ( x=0 ) restart POINT__TO__FLOWCHART10_FLOWCHART10JUNCTION768_1
331

    
332

    
333

    
334
	unless (idFlowchart10_A_1=0) and ( x>0 ) restart POINT__TO__FLOWCHART10_FLOWCHART10JUNCTION769_2
335

    
336

    
337

    
338
	let
339

    
340
		(idFlowchart10_A, y) 
341
	= (idFlowchart10_A_1, y_1);
342
	
343

    
344
	tel
345

    
346

    
347

    
348
	state POINT__TO__FLOWCHART10_FLOWCHART10JUNCTION768_1:
349

    
350
	 var 	y_2:int;
351
	let
352

    
353
		-- transition trace :
354
	--POINT__To__Junction768_1
355
		-- condition Action : y++;
356
		
357
		(y_2) 
358
	= POINT__To__Flowchart10_Flowchart10Junction768_1_Condition_Action(y_1);
359
		
360

    
361
	(idFlowchart10_A, y) 
362
	=  (idFlowchart10_A_1, y_2);
363

    
364

    
365
	tel
366

    
367
	until true restart POINTFlowchart10_A
368

    
369

    
370

    
371
	state POINT__TO__FLOWCHART10_FLOWCHART10JUNCTION769_2:
372

    
373
	 var 	y_2:int;
374
	let
375

    
376
		-- transition trace :
377
	--POINT__To__Junction769_2
378
		-- condition Action : y--;
379
		
380
		(y_2) 
381
	= POINT__To__Flowchart10_Flowchart10Junction769_2_Condition_Action(y_1);
382
		
383

    
384
	(idFlowchart10_A, y) 
385
	=  (idFlowchart10_A_1, y_2);
386

    
387

    
388
	tel
389

    
390
	until true restart POINTFlowchart10_A
391

    
392

    
393

    
394
tel
395

    
396

    
397
--***************************************************State :Flowchart10_Flowchart10 Automaton***************************************************
398

    
399
node Flowchart10_Flowchart10_node(idFlowchart10_Flowchart10_1:int;
400
	idFlowchart10_A_1:int;
401
	x:int;
402
	y_1:int)
403

    
404
returns (idFlowchart10_Flowchart10:int;
405
	idFlowchart10_A:int;
406
	y:int);
407

    
408

    
409
let
410

    
411
	 automaton flowchart10_flowchart10
412

    
413
	state POINTFlowchart10_Flowchart10:
414
	unless (idFlowchart10_Flowchart10_1=0) restart POINT__TO__FLOWCHART10_A_1
415

    
416

    
417

    
418
	unless (idFlowchart10_Flowchart10_1=767) restart FLOWCHART10_A_IDL
419

    
420
	let
421

    
422
		(idFlowchart10_Flowchart10, idFlowchart10_A, y) 
423
	= (idFlowchart10_Flowchart10_1, idFlowchart10_A_1, y_1);
424
	
425

    
426
	tel
427

    
428

    
429

    
430
	state POINT__TO__FLOWCHART10_A_1:
431

    
432
	 var 	idFlowchart10_Flowchart10_2:int;
433
	idFlowchart10_A_2:int;
434
	y_2:int;
435
	let
436

    
437
		-- transition trace :
438
	--POINT__To__Flowchart10_A_1
439
		(idFlowchart10_A_2, idFlowchart10_Flowchart10_2, y_2) 
440
	= Flowchart10_A_en(idFlowchart10_A_1, idFlowchart10_Flowchart10_1, x, y_1, false);
441
		
442

    
443
	(idFlowchart10_Flowchart10, idFlowchart10_A, y) 
444
	=  (idFlowchart10_Flowchart10_2, idFlowchart10_A_2, y_2);
445

    
446

    
447
	tel
448

    
449
	until true restart POINTFlowchart10_Flowchart10
450

    
451

    
452

    
453
	state FLOWCHART10_A_IDL:
454

    
455
	 var 	idFlowchart10_A_2:int;
456
	y_2, y_3:int;
457
	let
458

    
459
		
460
	(y_2) 
461
	= Flowchart10_A_du(x, y_1);
462

    
463
		
464

    
465
	(idFlowchart10_A_2, y_3) 
466
	= Flowchart10_A_node(idFlowchart10_A_1, x, y_2);
467

    
468
		
469

    
470

    
471
	(idFlowchart10_Flowchart10, idFlowchart10_A, y) 
472
	= (idFlowchart10_Flowchart10_1, idFlowchart10_A_2, y_3);
473
	
474

    
475
	tel
476

    
477
	until true restart POINTFlowchart10_Flowchart10
478

    
479

    
480

    
481
tel
482

    
483

    
484
--***************************************************State :Flowchart10_Flowchart10 Automaton***************************************************
485

    
486
node Flowchart11_Flowchart10(x:int)
487

    
488
returns (y:int);
489

    
490

    
491
var y_1: int;
492

    
493
	idFlowchart10_Flowchart10, idFlowchart10_Flowchart10_1: int;
494

    
495
	idFlowchart10_A, idFlowchart10_A_1: int;
496

    
497
	let
498

    
499
	y_1 = 0 -> pre y;
500

    
501
	idFlowchart10_Flowchart10_1 = 0 -> pre idFlowchart10_Flowchart10;
502

    
503
	idFlowchart10_A_1 = 0 -> pre idFlowchart10_A;
504

    
505
	
506

    
507

    
508

    
509
	(idFlowchart10_Flowchart10, idFlowchart10_A, y)
510
	 = Flowchart10_Flowchart10_node(idFlowchart10_Flowchart10_1, idFlowchart10_A_1, x, y_1);
511

    
512

    
513
--unused outputs
514
	
515

    
516
tel
517

    
518

    
519

    
520
node Flowchart11 (x_1_1 : int)
521
returns (y_1_1 : int); 
522
var
523
	Flowchart10_1_1 : int;
524
	i_virtual_local : real;
525
let 
526
	Flowchart10_1_1 =  Flowchart11_Flowchart10(x_1_1);
527
	y_1_1 = Flowchart10_1_1;
528
	i_virtual_local= 0.0 -> 1.0;
529
tel
530