Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_Arrays3_0 / Arrays3_0.lus @ eb639349

History | View | Annotate | Download (8.38 KB)

1
-- This file has been generated by cocoSim
2

    
3

    
4
-- System nodes
5

    
6

    
7

    
8

    
9

    
10

    
11

    
12

    
13
-- Entry action for state :Arrays2_B
14
node Arrays2_B_en(idArrays2_Arrays2_1:int;
15
	x_1_1_1_1:int;
16
	s_1:int;
17
	isInner:bool)
18

    
19
returns (idArrays2_Arrays2:int;
20
	x_1_1_1:int;
21
	s:int);
22

    
23

    
24
var 	idArrays2_Arrays2_2:int;
25
	x_1_1_1_2, x_1_1_1_3, x_1_1_1_4, x_1_1_1_5:int;
26
	s_2:int;
27

    
28

    
29
let
30

    
31

    
32

    
33
	-- set state as active 
34
	idArrays2_Arrays2_2 
35
	= 538;
36
	
37

    
38
	x_1_1_1_2 
39
	= if (not isInner) then  x_1_1_1_1  + 1
40
	 else x_1_1_1_1;
41
	
42

    
43
	x_1_1_1_3 
44
	= if (not isInner) then  x_1_1_1_2 +2
45
	 else x_1_1_1_2;
46
	
47

    
48
	x_1_1_1_4 
49
	= if (not isInner) then  x_1_1_1_3 +3
50
	 else x_1_1_1_3;
51
	
52

    
53
	x_1_1_1_5 
54
	= if (not isInner) then  x_1_1_1_4 +1
55
	 else x_1_1_1_4;
56
	
57

    
58
	s_2 
59
	= if (not isInner) then 2
60
	 else s_1;
61
	
62

    
63
	(idArrays2_Arrays2, x_1_1_1, s) 
64
	= (idArrays2_Arrays2_2, x_1_1_1_5, s_2);
65
	
66

    
67
tel
68

    
69

    
70

    
71

    
72

    
73
-- Exit action for state :Arrays2_B
74
node Arrays2_B_ex(idArrays2_Arrays2_1:int;
75
	isInner:bool)
76

    
77
returns (idArrays2_Arrays2:int);
78

    
79

    
80
var 	idArrays2_Arrays2_2:int;
81

    
82

    
83
let
84

    
85

    
86

    
87
	-- set state as inactive 
88
	idArrays2_Arrays2_2
89
	 = if (not isInner) then 0 else idArrays2_Arrays2_1;
90

    
91

    
92
	(idArrays2_Arrays2) 
93
	= (idArrays2_Arrays2_1);
94
	
95

    
96
tel
97

    
98

    
99

    
100

    
101

    
102

    
103
-- Entry action for state :Arrays2_A
104
node Arrays2_A_en(idArrays2_Arrays2_1:int;
105
	x_1_1_1_1:int;
106
	s_1:int;
107
	isInner:bool)
108

    
109
returns (idArrays2_Arrays2:int;
110
	x_1_1_1:int;
111
	s:int);
112

    
113

    
114
var 	idArrays2_Arrays2_2:int;
115
	x_1_1_1_2, x_1_1_1_3, x_1_1_1_4, x_1_1_1_5:int;
116
	s_2:int;
117

    
118

    
119
let
120

    
121

    
122

    
123
	-- set state as active 
124
	idArrays2_Arrays2_2 
125
	= 537;
126
	
127

    
128
	x_1_1_1_2 
129
	= if (not isInner) then  x_1_1_1_1  + 1
130
	 else x_1_1_1_1;
131
	
132

    
133
	x_1_1_1_3 
134
	= if (not isInner) then  x_1_1_1_2 +2
135
	 else x_1_1_1_2;
136
	
137

    
138
	x_1_1_1_4 
139
	= if (not isInner) then  x_1_1_1_3 +3
140
	 else x_1_1_1_3;
141
	
142

    
143
	x_1_1_1_5 
144
	= if (not isInner) then  x_1_1_1_4 +1
145
	 else x_1_1_1_4;
146
	
147

    
148
	s_2 
149
	= if (not isInner) then 1
150
	 else s_1;
151
	
152

    
153
	(idArrays2_Arrays2, x_1_1_1, s) 
154
	= (idArrays2_Arrays2_2, x_1_1_1_5, s_2);
155
	
156

    
157
tel
158

    
159

    
160

    
161

    
162

    
163
-- Exit action for state :Arrays2_A
164
node Arrays2_A_ex(idArrays2_Arrays2_1:int;
165
	isInner:bool)
166

    
167
returns (idArrays2_Arrays2:int);
168

    
169

    
170
var 	idArrays2_Arrays2_2:int;
171

    
172

    
173
let
174

    
175

    
176

    
177
	-- set state as inactive 
178
	idArrays2_Arrays2_2
179
	 = if (not isInner) then 0 else idArrays2_Arrays2_1;
180

    
181

    
182
	(idArrays2_Arrays2) 
183
	= (idArrays2_Arrays2_1);
184
	
185

    
186
tel
187

    
188

    
189

    
190

    
191

    
192

    
193
-- Entry action for state :Arrays2_C
194
node Arrays2_C_en(idArrays2_Arrays2_1:int;
195
	x_2_1_1_1:int;
196
	s_1:int;
197
	isInner:bool)
198

    
199
returns (idArrays2_Arrays2:int;
200
	x_2_1_1:int;
201
	s:int);
202

    
203

    
204
var 	idArrays2_Arrays2_2:int;
205
	x_2_1_1_2, x_2_1_1_3, x_2_1_1_4, x_2_1_1_5:int;
206
	s_2:int;
207

    
208

    
209
let
210

    
211

    
212

    
213
	-- set state as active 
214
	idArrays2_Arrays2_2 
215
	= 539;
216
	
217

    
218
	x_2_1_1_2 
219
	= if (not isInner) then  x_2_1_1_1  + 1
220
	 else x_2_1_1_1;
221
	
222

    
223
	x_2_1_1_3 
224
	= if (not isInner) then  x_2_1_1_2 +2
225
	 else x_2_1_1_2;
226
	
227

    
228
	x_2_1_1_4 
229
	= if (not isInner) then  x_2_1_1_3 +3
230
	 else x_2_1_1_3;
231
	
232

    
233
	x_2_1_1_5 
234
	= if (not isInner) then  x_2_1_1_4 +1
235
	 else x_2_1_1_4;
236
	
237

    
238
	s_2 
239
	= if (not isInner) then 3
240
	 else s_1;
241
	
242

    
243
	(idArrays2_Arrays2, x_2_1_1, s) 
244
	= (idArrays2_Arrays2_2, x_2_1_1_5, s_2);
245
	
246

    
247
tel
248

    
249

    
250

    
251

    
252

    
253
-- Exit action for state :Arrays2_C
254
node Arrays2_C_ex(idArrays2_Arrays2_1:int;
255
	isInner:bool)
256

    
257
returns (idArrays2_Arrays2:int);
258

    
259

    
260
var 	idArrays2_Arrays2_2:int;
261

    
262

    
263
let
264

    
265

    
266

    
267
	-- set state as inactive 
268
	idArrays2_Arrays2_2
269
	 = if (not isInner) then 0 else idArrays2_Arrays2_1;
270

    
271

    
272
	(idArrays2_Arrays2) 
273
	= (idArrays2_Arrays2_1);
274
	
275

    
276
tel
277

    
278

    
279
--***************************************************State :Arrays2_Arrays2 Automaton***************************************************
280

    
281
node Arrays2_Arrays2_node(idArrays2_Arrays2_1:int;
282
	s_1:int;
283
	x_1_1_1_1:int;
284
	E:bool;
285
	x_2_1_1_1:int)
286

    
287
returns (idArrays2_Arrays2:int;
288
	s:int;
289
	x_1_1_1:int;
290
	x_2_1_1:int);
291

    
292

    
293
let
294

    
295
	 automaton arrays2_arrays2
296

    
297
	state POINTArrays2_Arrays2:
298
	unless (idArrays2_Arrays2_1=0) restart POINT__TO__ARRAYS2_A_1
299

    
300

    
301

    
302
	unless (idArrays2_Arrays2_1=537) and E restart ARRAYS2_A__TO__ARRAYS2_B_1
303

    
304

    
305

    
306
	unless (idArrays2_Arrays2_1=538) and E restart ARRAYS2_B__TO__ARRAYS2_C_1
307

    
308

    
309

    
310
	unless (idArrays2_Arrays2_1=539) and E restart ARRAYS2_C__TO__ARRAYS2_A_1
311

    
312

    
313

    
314
	unless (idArrays2_Arrays2_1=537) restart ARRAYS2_A_IDL
315

    
316
	unless (idArrays2_Arrays2_1=538) restart ARRAYS2_B_IDL
317

    
318
	unless (idArrays2_Arrays2_1=539) restart ARRAYS2_C_IDL
319

    
320
	let
321

    
322
		(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
323
	= (idArrays2_Arrays2_1, s_1, x_1_1_1_1, x_2_1_1_1);
324
	
325

    
326
	tel
327

    
328

    
329

    
330
	state POINT__TO__ARRAYS2_A_1:
331

    
332
	 var 	idArrays2_Arrays2_2:int;
333
	s_2:int;
334
	x_1_1_1_2:int;
335
	let
336

    
337
		-- transition trace :
338
	--POINT__To__Arrays2_A_1
339
		(idArrays2_Arrays2_2, x_1_1_1_2, s_2) 
340
	= Arrays2_A_en(idArrays2_Arrays2_1, x_1_1_1_1, s_1, false);
341
		
342

    
343
	(idArrays2_Arrays2, s, x_1_1_1) 
344
	=  (idArrays2_Arrays2_2, s_2, x_1_1_1_2);
345

    
346
	--add unused variables
347
	(x_2_1_1) 
348
	= (x_2_1_1_1);
349
	
350

    
351
	tel
352

    
353
	until true restart POINTArrays2_Arrays2
354

    
355

    
356

    
357
	state ARRAYS2_A__TO__ARRAYS2_B_1:
358

    
359
	 var 	idArrays2_Arrays2_2, idArrays2_Arrays2_3:int;
360
	s_2:int;
361
	x_1_1_1_2:int;
362
	let
363

    
364
		-- transition trace :
365
	--Arrays2_A__To__Arrays2_B_1
366
		(idArrays2_Arrays2_2) 
367
	= Arrays2_A_ex(idArrays2_Arrays2_1, false);
368
		
369

    
370
		(idArrays2_Arrays2_3, x_1_1_1_2, s_2) 
371
	= Arrays2_B_en(idArrays2_Arrays2_2, x_1_1_1_1, s_1, false);
372
		
373

    
374
	(idArrays2_Arrays2, s, x_1_1_1) 
375
	=  (idArrays2_Arrays2_3, s_2, x_1_1_1_2);
376

    
377
	--add unused variables
378
	(x_2_1_1) 
379
	= (x_2_1_1_1);
380
	
381

    
382
	tel
383

    
384
	until true restart POINTArrays2_Arrays2
385

    
386

    
387

    
388
	state ARRAYS2_B__TO__ARRAYS2_C_1:
389

    
390
	 var 	idArrays2_Arrays2_2, idArrays2_Arrays2_3:int;
391
	s_2:int;
392
	x_2_1_1_2:int;
393
	let
394

    
395
		-- transition trace :
396
	--Arrays2_B__To__Arrays2_C_1
397
		(idArrays2_Arrays2_2) 
398
	= Arrays2_B_ex(idArrays2_Arrays2_1, false);
399
		
400

    
401
		(idArrays2_Arrays2_3, x_2_1_1_2, s_2) 
402
	= Arrays2_C_en(idArrays2_Arrays2_2, x_2_1_1_1, s_1, false);
403
		
404

    
405
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
406
	=  (idArrays2_Arrays2_3, s_2, x_1_1_1_1, x_2_1_1_2);
407

    
408

    
409
	tel
410

    
411
	until true restart POINTArrays2_Arrays2
412

    
413

    
414

    
415
	state ARRAYS2_C__TO__ARRAYS2_A_1:
416

    
417
	 var 	idArrays2_Arrays2_2, idArrays2_Arrays2_3:int;
418
	s_2:int;
419
	x_1_1_1_2:int;
420
	let
421

    
422
		-- transition trace :
423
	--Arrays2_C__To__Arrays2_A_1
424
		(idArrays2_Arrays2_2) 
425
	= Arrays2_C_ex(idArrays2_Arrays2_1, false);
426
		
427

    
428
		(idArrays2_Arrays2_3, x_1_1_1_2, s_2) 
429
	= Arrays2_A_en(idArrays2_Arrays2_2, x_1_1_1_1, s_1, false);
430
		
431

    
432
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
433
	=  (idArrays2_Arrays2_3, s_2, x_1_1_1_2, x_2_1_1_1);
434

    
435

    
436
	tel
437

    
438
	until true restart POINTArrays2_Arrays2
439

    
440

    
441

    
442
	state ARRAYS2_A_IDL:
443

    
444
	 	let
445

    
446
		
447

    
448
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
449
	= (idArrays2_Arrays2_1, s_1, x_1_1_1_1, x_2_1_1_1);
450
	
451

    
452
	tel
453

    
454
	until true restart POINTArrays2_Arrays2
455

    
456

    
457

    
458
	state ARRAYS2_B_IDL:
459

    
460
	 	let
461

    
462
		
463

    
464
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
465
	= (idArrays2_Arrays2_1, s_1, x_1_1_1_1, x_2_1_1_1);
466
	
467

    
468
	tel
469

    
470
	until true restart POINTArrays2_Arrays2
471

    
472

    
473

    
474
	state ARRAYS2_C_IDL:
475

    
476
	 	let
477

    
478
		
479

    
480
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1) 
481
	= (idArrays2_Arrays2_1, s_1, x_1_1_1_1, x_2_1_1_1);
482
	
483

    
484
	tel
485

    
486
	until true restart POINTArrays2_Arrays2
487

    
488

    
489

    
490
tel
491

    
492

    
493
--***************************************************State :Arrays2_Arrays2 Automaton***************************************************
494

    
495
node Arrays3_0_Arrays2(E:bool)
496

    
497
returns (s:int);
498

    
499

    
500
var s_1: int;
501

    
502
	x_1_1_1, x_1_1_1_1: int;
503

    
504
	x_1_1_2, x_1_1_2_1: int;
505

    
506
	x_1_2_1, x_1_2_1_1: int;
507

    
508
	x_1_2_2, x_1_2_2_1: int;
509

    
510
	x_2_1_1, x_2_1_1_1: int;
511

    
512
	x_2_1_2, x_2_1_2_1: int;
513

    
514
	x_2_2_1, x_2_2_1_1: int;
515

    
516
	x_2_2_2, x_2_2_2_1: int;
517

    
518
	x_3_1_1, x_3_1_1_1: int;
519

    
520
	x_3_1_2, x_3_1_2_1: int;
521

    
522
	x_3_2_1, x_3_2_1_1: int;
523

    
524
	x_3_2_2, x_3_2_2_1: int;
525

    
526
	idArrays2_Arrays2, idArrays2_Arrays2_1: int;
527

    
528
	let
529

    
530
	s_1 = 0 -> pre s;
531

    
532
	x_1_1_1_1 = 0 -> pre x_1_1_1;
533

    
534
	x_1_1_2_1 = 0 -> pre x_1_1_2;
535

    
536
	x_1_2_1_1 = 0 -> pre x_1_2_1;
537

    
538
	x_1_2_2_1 = 0 -> pre x_1_2_2;
539

    
540
	x_2_1_1_1 = 0 -> pre x_2_1_1;
541

    
542
	x_2_1_2_1 = 0 -> pre x_2_1_2;
543

    
544
	x_2_2_1_1 = 0 -> pre x_2_2_1;
545

    
546
	x_2_2_2_1 = 0 -> pre x_2_2_2;
547

    
548
	x_3_1_1_1 = 0 -> pre x_3_1_1;
549

    
550
	x_3_1_2_1 = 0 -> pre x_3_1_2;
551

    
552
	x_3_2_1_1 = 0 -> pre x_3_2_1;
553

    
554
	x_3_2_2_1 = 0 -> pre x_3_2_2;
555

    
556
	idArrays2_Arrays2_1 = 0 -> pre idArrays2_Arrays2;
557

    
558
	
559

    
560

    
561

    
562
	(idArrays2_Arrays2, s, x_1_1_1, x_2_1_1)
563
	 = 
564

    
565
	 if E then Arrays2_Arrays2_node(idArrays2_Arrays2_1, s_1, x_1_1_1_1, E, x_2_1_1_1)
566

    
567
	 else (idArrays2_Arrays2_1, s_1, x_1_1_1_1, x_2_1_1_1);
568

    
569
	
570

    
571

    
572
--unused outputs
573
	x_1_1_2 = 0;
574

    
575
	x_1_2_1 = 0;
576

    
577
	x_1_2_2 = 0;
578

    
579
	x_2_1_2 = 0;
580

    
581
	x_2_2_1 = 0;
582

    
583
	x_2_2_2 = 0;
584

    
585
	x_3_1_1 = 0;
586

    
587
	x_3_1_2 = 0;
588

    
589
	x_3_2_1 = 0;
590

    
591
	x_3_2_2 = 0;
592

    
593
	
594

    
595
tel
596

    
597

    
598

    
599
node Arrays3_0 (E_1_1 : real)
600
returns (state_1_1 : int); 
601
var
602
	Arrays2_1_1 : int;
603
	i_virtual_local : real;
604
	Arrays2E_1_1_event: bool;
605
let 
606
	Arrays2E_1_1_event = false -> (pre(E_1_1) <= 0.0 and E_1_1 > 0.0);
607
	Arrays2_1_1 =  Arrays3_0_Arrays2(Arrays2E_1_1_event);
608
	state_1_1 = Arrays2_1_1;
609
	i_virtual_local= 0.0 -> 1.0;
610
tel
611