Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_Super1 / Super1.lus @ eb639349

History | View | Annotate | Download (14.9 KB)

1
-- This file has been generated by cocoSim
2

    
3

    
4
-- System nodes
5

    
6

    
7

    
8

    
9

    
10

    
11

    
12

    
13

    
14

    
15

    
16

    
17

    
18

    
19

    
20

    
21

    
22
-- Entry action for state :Super1_B
23
node Super1_B_en(idSuper1_Super1_1:int;
24
	s_1:int;
25
	isInner:bool)
26

    
27
returns (idSuper1_Super1:int;
28
	s:int);
29

    
30

    
31
var 	idSuper1_Super1_2:int;
32
	s_2:int;
33

    
34

    
35
let
36

    
37

    
38

    
39
	-- set state as active 
40
	idSuper1_Super1_2 
41
	= 1839;
42
	
43

    
44
	s_2 
45
	= if (not isInner) then 5
46
	 else s_1;
47
	
48

    
49
	(idSuper1_Super1, s) 
50
	= (idSuper1_Super1_2, s_2);
51
	
52

    
53
tel
54

    
55

    
56

    
57

    
58

    
59
-- Exit action for state :Super1_B
60
node Super1_B_ex(idSuper1_Super1_1:int;
61
	isInner:bool)
62

    
63
returns (idSuper1_Super1:int);
64

    
65

    
66
var 	idSuper1_Super1_2:int;
67

    
68

    
69
let
70

    
71

    
72

    
73
	-- set state as inactive 
74
	idSuper1_Super1_2
75
	 = if (not isInner) then 0 else idSuper1_Super1_1;
76

    
77

    
78
	(idSuper1_Super1) 
79
	= (idSuper1_Super1_1);
80
	
81

    
82
tel
83

    
84

    
85

    
86

    
87

    
88

    
89
-- Entry action for state :C_C1
90
node C_C1_en(idSuper1_C_1:int;
91
	s_1:int;
92
	isInner:bool)
93

    
94
returns (idSuper1_C:int;
95
	s:int);
96

    
97

    
98
var 	idSuper1_C_2:int;
99
	s_2:int;
100

    
101

    
102
let
103

    
104

    
105

    
106
	-- set state as active 
107
	idSuper1_C_2 
108
	= 1841;
109
	
110

    
111
	s_2 
112
	= if (not isInner) then 3
113
	 else s_1;
114
	
115

    
116
	(idSuper1_C, s) 
117
	= (idSuper1_C_2, s_2);
118
	
119

    
120
tel
121

    
122

    
123

    
124

    
125

    
126
-- Exit action for state :C_C1
127
node C_C1_ex(idSuper1_C_1:int;
128
	isInner:bool)
129

    
130
returns (idSuper1_C:int);
131

    
132

    
133
var 	idSuper1_C_2:int;
134

    
135

    
136
let
137

    
138

    
139

    
140
	-- set state as inactive 
141
	idSuper1_C_2
142
	 = if (not isInner) then 0 else idSuper1_C_1;
143

    
144

    
145
	(idSuper1_C) 
146
	= (idSuper1_C_1);
147
	
148

    
149
tel
150

    
151

    
152

    
153

    
154

    
155

    
156
-- Entry action for state :C_C2
157
node C_C2_en(idSuper1_C_1:int;
158
	s_1:int;
159
	isInner:bool)
160

    
161
returns (idSuper1_C:int;
162
	s:int);
163

    
164

    
165
var 	idSuper1_C_2:int;
166
	s_2:int;
167

    
168

    
169
let
170

    
171

    
172

    
173
	-- set state as active 
174
	idSuper1_C_2 
175
	= 1842;
176
	
177

    
178
	s_2 
179
	= if (not isInner) then 4
180
	 else s_1;
181
	
182

    
183
	(idSuper1_C, s) 
184
	= (idSuper1_C_2, s_2);
185
	
186

    
187
tel
188

    
189

    
190

    
191

    
192

    
193
-- Exit action for state :C_C2
194
node C_C2_ex(idSuper1_C_1:int;
195
	isInner:bool)
196

    
197
returns (idSuper1_C:int);
198

    
199

    
200
var 	idSuper1_C_2:int;
201

    
202

    
203
let
204

    
205

    
206

    
207
	-- set state as inactive 
208
	idSuper1_C_2
209
	 = if (not isInner) then 0 else idSuper1_C_1;
210

    
211

    
212
	(idSuper1_C) 
213
	= (idSuper1_C_1);
214
	
215

    
216
tel
217

    
218

    
219

    
220

    
221

    
222

    
223
-- Entry action for state :Super1_C
224
node Super1_C_en(idSuper1_C_1:int;
225
	idSuper1_Super1_1:int;
226
	s_1:int;
227
	isInner:bool)
228

    
229
returns (idSuper1_C:int;
230
	idSuper1_Super1:int;
231
	s:int);
232

    
233

    
234
var 	idSuper1_C_2, idSuper1_C_3, idSuper1_C_4, idSuper1_C_5, idSuper1_C_6:int;
235
	idSuper1_Super1_2, idSuper1_Super1_3, idSuper1_Super1_4:int;
236
	s_2, s_3, s_4, s_5, s_6:int;
237

    
238

    
239
let
240

    
241

    
242

    
243
	-- set state as active 
244
	idSuper1_Super1_2 
245
	= 1840;
246
	
247

    
248
	
249
-- transition trace :
250
	--POINT__To__C_C1_1
251
		(idSuper1_C_2, s_2) 
252
	= C_C1_en(idSuper1_C_1, s_1, false);
253
		
254

    
255
	(idSuper1_C_3, idSuper1_Super1_3, s_3) 
256
	= 
257

    
258
	if ( idSuper1_C_1 = 0) then
259

    
260
	 (idSuper1_C_2, idSuper1_Super1_2, s_2)
261

    
262
	 else(idSuper1_C_1, idSuper1_Super1_2, s_1);
263

    
264
	
265

    
266
	(idSuper1_C_4, s_4) 
267
	= 
268
	if ( idSuper1_C_1 = 1841) then
269
	C_C1_en(idSuper1_C_1, s_1, false)
270
	 else (idSuper1_C_1, s_1);
271

    
272
	
273

    
274
	(idSuper1_C_5, s_5) 
275
	= 
276
	if ( idSuper1_C_1 = 1842) then
277
	C_C2_en(idSuper1_C_1, s_1, false)
278
	 else (idSuper1_C_1, s_1);
279

    
280
	
281

    
282
	(idSuper1_C_6, idSuper1_Super1_4, s_6) 
283
	= 
284
		 if ( idSuper1_C_1 = 0) then 
285
		(idSuper1_C_3, idSuper1_Super1_3, s_3)
286
		 else
287
		 if ( idSuper1_C_1 = 1841) then 
288
		(idSuper1_C_4, idSuper1_Super1_3, s_4)
289
		 else
290
		 if ( idSuper1_C_1 = 1842) then 
291
		(idSuper1_C_5, idSuper1_Super1_3, s_5)
292
		 else (idSuper1_C_1, idSuper1_Super1_2, s_1);
293

    
294

    
295
	(idSuper1_C, idSuper1_Super1, s) 
296
	= (idSuper1_C_6, idSuper1_Super1_4, s_6);
297
	
298

    
299
tel
300

    
301

    
302

    
303

    
304

    
305
-- Exit action for state :Super1_C
306
node Super1_C_ex(idSuper1_C_1:int;
307
	idSuper1_Super1_1:int;
308
	isInner:bool)
309

    
310
returns (idSuper1_C:int;
311
	idSuper1_Super1:int);
312

    
313

    
314
var 	idSuper1_C_2, idSuper1_C_3, idSuper1_C_4, idSuper1_C_5:int;
315
	idSuper1_Super1_2:int;
316

    
317

    
318
let
319

    
320

    
321

    
322
	
323
	(idSuper1_C_2) 
324
	= 
325
	if ( idSuper1_C_1 = 1841) then
326
	C_C1_ex(idSuper1_C_1, false)
327
	 else (idSuper1_C_1);
328

    
329
	
330

    
331
	(idSuper1_C_3) 
332
	= 
333
	if ( idSuper1_C_1 = 1842) then
334
	C_C2_ex(idSuper1_C_1, false)
335
	 else (idSuper1_C_1);
336

    
337
	
338

    
339
	(idSuper1_C_4) 
340
	= 
341
		 if ( idSuper1_C_1 = 1841) then 
342
		(idSuper1_C_2)
343
		 else
344
		 if ( idSuper1_C_1 = 1842) then 
345
		(idSuper1_C_3)
346
		 else (idSuper1_C_1);
347

    
348

    
349
	-- set state as inactive 
350
	idSuper1_Super1_2
351
	 = if (not isInner) then 0 else idSuper1_Super1_1;
352

    
353
	idSuper1_C_5 
354
	= 0;
355
	
356

    
357
	(idSuper1_C, idSuper1_Super1) 
358
	= (idSuper1_C_5, idSuper1_Super1_1);
359
	
360

    
361
tel
362

    
363

    
364

    
365

    
366

    
367

    
368
-- Entry action for state :Super1_A
369
node Super1_A_en(idSuper1_Super1_1:int;
370
	s_1:int;
371
	isInner:bool)
372

    
373
returns (idSuper1_Super1:int;
374
	s:int);
375

    
376

    
377
var 	idSuper1_Super1_2:int;
378
	s_2:int;
379

    
380

    
381
let
382

    
383

    
384

    
385
	-- set state as active 
386
	idSuper1_Super1_2 
387
	= 1838;
388
	
389

    
390
	s_2 
391
	= if (not isInner) then 1
392
	 else s_1;
393
	
394

    
395
	(idSuper1_Super1, s) 
396
	= (idSuper1_Super1_2, s_2);
397
	
398

    
399
tel
400

    
401

    
402

    
403

    
404

    
405
-- Exit action for state :Super1_A
406
node Super1_A_ex(idSuper1_Super1_1:int;
407
	isInner:bool)
408

    
409
returns (idSuper1_Super1:int);
410

    
411

    
412
var 	idSuper1_Super1_2:int;
413

    
414

    
415
let
416

    
417

    
418

    
419
	-- set state as inactive 
420
	idSuper1_Super1_2
421
	 = if (not isInner) then 0 else idSuper1_Super1_1;
422

    
423

    
424
	(idSuper1_Super1) 
425
	= (idSuper1_Super1_1);
426
	
427

    
428
tel
429

    
430

    
431

    
432

    
433

    
434

    
435
-- Entry action for state :Super1_D
436
node Super1_D_en(idSuper1_Super1_1:int;
437
	s_1:int;
438
	isInner:bool)
439

    
440
returns (idSuper1_Super1:int;
441
	s:int);
442

    
443

    
444
var 	idSuper1_Super1_2:int;
445
	s_2:int;
446

    
447

    
448
let
449

    
450

    
451

    
452
	-- set state as active 
453
	idSuper1_Super1_2 
454
	= 1843;
455
	
456

    
457
	s_2 
458
	= if (not isInner) then 2
459
	 else s_1;
460
	
461

    
462
	(idSuper1_Super1, s) 
463
	= (idSuper1_Super1_2, s_2);
464
	
465

    
466
tel
467

    
468

    
469

    
470

    
471

    
472
-- Exit action for state :Super1_D
473
node Super1_D_ex(idSuper1_Super1_1:int;
474
	isInner:bool)
475

    
476
returns (idSuper1_Super1:int);
477

    
478

    
479
var 	idSuper1_Super1_2:int;
480

    
481

    
482
let
483

    
484

    
485

    
486
	-- set state as inactive 
487
	idSuper1_Super1_2
488
	 = if (not isInner) then 0 else idSuper1_Super1_1;
489

    
490

    
491
	(idSuper1_Super1) 
492
	= (idSuper1_Super1_1);
493
	
494

    
495
tel
496

    
497

    
498
--***************************************************State :Super1_C Automaton***************************************************
499

    
500
node Super1_C_node(idSuper1_C_1:int;
501
	s_1:int;
502
	E:bool;
503
	idSuper1_Super1_1:int;
504
	F:bool;
505
	x:int)
506

    
507
returns (idSuper1_C:int;
508
	s:int;
509
	idSuper1_Super1:int);
510

    
511

    
512
let
513

    
514
	 automaton super1_c
515

    
516
	state POINTSuper1_C:
517
	unless (idSuper1_C_1=0) restart POINT__TO__C_C1_1
518

    
519

    
520

    
521
	unless (idSuper1_C_1=1841) and E restart C_C1__TO__SUPER1_B_1
522

    
523

    
524

    
525
	unless (idSuper1_C_1=1841) and F restart C_C1__TO__C_C2_2
526

    
527

    
528

    
529
	unless (idSuper1_C_1=1842) and E and ( x<2 ) restart C_C2__TO__SUPER1_SUPER1JUNCTION1852_1
530

    
531

    
532

    
533
	unless (idSuper1_C_1=1842) and F restart C_C2__TO__C_C1_2
534

    
535

    
536

    
537
	unless (idSuper1_C_1=1841) restart C_C1_IDL
538

    
539
	unless (idSuper1_C_1=1842) restart C_C2_IDL
540

    
541
	let
542

    
543
		(idSuper1_C, s, idSuper1_Super1) 
544
	= (idSuper1_C_1, s_1, idSuper1_Super1_1);
545
	
546

    
547
	tel
548

    
549

    
550

    
551
	state POINT__TO__C_C1_1:
552

    
553
	 var 	idSuper1_C_2:int;
554
	s_2:int;
555
	let
556

    
557
		-- transition trace :
558
	--POINT__To__C_C1_1
559
		(idSuper1_C_2, s_2) 
560
	= C_C1_en(idSuper1_C_1, s_1, false);
561
		
562

    
563
	(idSuper1_C, s) 
564
	=  (idSuper1_C_2, s_2);
565

    
566
	--add unused variables
567
	(idSuper1_Super1) 
568
	= (idSuper1_Super1_1);
569
	
570

    
571
	tel
572

    
573
	until true restart POINTSuper1_C
574

    
575

    
576

    
577
	state C_C1__TO__SUPER1_B_1:
578

    
579
	 var 	idSuper1_C_2:int;
580
	s_2:int;
581
	idSuper1_Super1_2, idSuper1_Super1_3:int;
582
	let
583

    
584
		-- transition trace :
585
	--C_C1__To__Super1_B_1
586
		(idSuper1_C_2, idSuper1_Super1_2) 
587
	= Super1_C_ex(idSuper1_C_1, idSuper1_Super1_1, false);
588
		
589

    
590
		(idSuper1_Super1_3, s_2) 
591
	= Super1_B_en(idSuper1_Super1_2, s_1, false);
592
		
593

    
594
	(idSuper1_C, s, idSuper1_Super1) 
595
	=  (idSuper1_C_2, s_2, idSuper1_Super1_3);
596

    
597

    
598
	tel
599

    
600
	until true restart POINTSuper1_C
601

    
602

    
603

    
604
	state C_C1__TO__C_C2_2:
605

    
606
	 var 	idSuper1_C_2, idSuper1_C_3:int;
607
	s_2:int;
608
	let
609

    
610
		-- transition trace :
611
	--C_C1__To__C_C2_2
612
		(idSuper1_C_2) 
613
	= C_C1_ex(idSuper1_C_1, false);
614
		
615

    
616
		(idSuper1_C_3, s_2) 
617
	= C_C2_en(idSuper1_C_2, s_1, false);
618
		
619

    
620
	(idSuper1_C, s, idSuper1_Super1) 
621
	=  (idSuper1_C_3, s_2, idSuper1_Super1_1);
622

    
623

    
624
	tel
625

    
626
	until true restart POINTSuper1_C
627

    
628

    
629

    
630
	state C_C2__TO__SUPER1_SUPER1JUNCTION1852_1:
631

    
632
	 var 	idSuper1_C_2, idSuper1_C_3:int;
633
	s_2, s_3:int;
634
	idSuper1_Super1_2, idSuper1_Super1_3, idSuper1_Super1_4, idSuper1_Super1_5:int;
635
	let
636

    
637
		
638

    
639
-- transition trace :
640
	--C_C2__To__Junction1852_1, Junction1852__To__Super1_D_1
641
		(idSuper1_C_2, idSuper1_Super1_2) 
642
	= 
643
		 if (( x!=0 )) then 
644
		Super1_C_ex(idSuper1_C_1, idSuper1_Super1_1, false)
645
		 else (idSuper1_C_1, idSuper1_Super1_1);
646
		
647

    
648
		(idSuper1_Super1_3, s_2) 
649
	= 
650
		 if (( x!=0 )) then 
651
		Super1_D_en(idSuper1_Super1_2, s_1, false)
652
		 else (idSuper1_Super1_2, s_1);
653
		
654

    
655

    
656
-- transition trace :
657
	--C_C2__To__Junction1852_1, Junction1852__To__Super1_A_2
658
		(idSuper1_C_3, idSuper1_Super1_4) 
659
	= 
660
		 if (( x=0 )) then 
661
		Super1_C_ex(idSuper1_C_1, idSuper1_Super1_1, false)
662
		 else (idSuper1_C_1, idSuper1_Super1_1);
663
		
664

    
665
		(idSuper1_Super1_5, s_3) 
666
	= 
667
		 if (( x=0 )) then 
668
		Super1_A_en(idSuper1_Super1_4, s_1, false)
669
		 else (idSuper1_Super1_4, s_1);
670
		
671

    
672
	(idSuper1_C, s, idSuper1_Super1) 
673
	= 
674
		 if (( x!=0 )) then 
675
		(idSuper1_C_2, s_2, idSuper1_Super1_3)
676
		 else
677
		 if (( x=0 )) then 
678
		(idSuper1_C_3, s_3, idSuper1_Super1_5)
679
		 else (idSuper1_C_1, s_1, idSuper1_Super1_1);
680

    
681

    
682
	tel
683

    
684
	until true restart POINTSuper1_C
685

    
686

    
687

    
688
	state C_C2__TO__C_C1_2:
689

    
690
	 var 	idSuper1_C_2, idSuper1_C_3:int;
691
	s_2:int;
692
	let
693

    
694
		-- transition trace :
695
	--C_C2__To__C_C1_2
696
		(idSuper1_C_2) 
697
	= C_C2_ex(idSuper1_C_1, false);
698
		
699

    
700
		(idSuper1_C_3, s_2) 
701
	= C_C1_en(idSuper1_C_2, s_1, false);
702
		
703

    
704
	(idSuper1_C, s, idSuper1_Super1) 
705
	=  (idSuper1_C_3, s_2, idSuper1_Super1_1);
706

    
707

    
708
	tel
709

    
710
	until true restart POINTSuper1_C
711

    
712

    
713

    
714
	state C_C1_IDL:
715

    
716
	 	let
717

    
718
		
719

    
720
	(idSuper1_C, s, idSuper1_Super1) 
721
	= (idSuper1_C_1, s_1, idSuper1_Super1_1);
722
	
723

    
724
	tel
725

    
726
	until true restart POINTSuper1_C
727

    
728

    
729

    
730
	state C_C2_IDL:
731

    
732
	 	let
733

    
734
		
735

    
736
	(idSuper1_C, s, idSuper1_Super1) 
737
	= (idSuper1_C_1, s_1, idSuper1_Super1_1);
738
	
739

    
740
	tel
741

    
742
	until true restart POINTSuper1_C
743

    
744

    
745

    
746
tel
747

    
748

    
749
--***************************************************State :Super1_Super1 Automaton***************************************************
750

    
751
node Super1_Super1_node(idSuper1_Super1_1:int;
752
	s_1:int;
753
	E:bool;
754
	x:int;
755
	idSuper1_C_1:int;
756
	F:bool)
757

    
758
returns (idSuper1_Super1:int;
759
	s:int;
760
	idSuper1_C:int);
761

    
762

    
763
let
764

    
765
	 automaton super1_super1
766

    
767
	state POINTSuper1_Super1:
768
	unless (idSuper1_Super1_1=0) restart POINT__TO__SUPER1_A_1
769

    
770

    
771

    
772
	unless (idSuper1_Super1_1=1838) and E restart SUPER1_A__TO__SUPER1_SUPER1JUNCTION1851_1
773

    
774

    
775

    
776
	unless (idSuper1_Super1_1=1839) and E restart SUPER1_B__TO__C_C2_1
777

    
778

    
779

    
780
	unless (idSuper1_Super1_1=1843) and F restart SUPER1_D__TO__SUPER1_A_1
781

    
782

    
783

    
784
	unless (idSuper1_Super1_1=1838) restart SUPER1_A_IDL
785

    
786
	unless (idSuper1_Super1_1=1839) restart SUPER1_B_IDL
787

    
788
	unless (idSuper1_Super1_1=1840) restart SUPER1_C_IDL
789

    
790
	unless (idSuper1_Super1_1=1843) restart SUPER1_D_IDL
791

    
792
	let
793

    
794
		(idSuper1_Super1, s, idSuper1_C) 
795
	= (idSuper1_Super1_1, s_1, idSuper1_C_1);
796
	
797

    
798
	tel
799

    
800

    
801

    
802
	state POINT__TO__SUPER1_A_1:
803

    
804
	 var 	idSuper1_Super1_2:int;
805
	s_2:int;
806
	let
807

    
808
		-- transition trace :
809
	--POINT__To__Super1_A_1
810
		(idSuper1_Super1_2, s_2) 
811
	= Super1_A_en(idSuper1_Super1_1, s_1, false);
812
		
813

    
814
	(idSuper1_Super1, s) 
815
	=  (idSuper1_Super1_2, s_2);
816

    
817
	--add unused variables
818
	(idSuper1_C) 
819
	= (idSuper1_C_1);
820
	
821

    
822
	tel
823

    
824
	until true restart POINTSuper1_Super1
825

    
826

    
827

    
828
	state SUPER1_A__TO__SUPER1_SUPER1JUNCTION1851_1:
829

    
830
	 var 	idSuper1_Super1_2, idSuper1_Super1_3, idSuper1_Super1_4, idSuper1_Super1_5:int;
831
	s_2, s_3:int;
832
	idSuper1_C_2, idSuper1_C_3:int;
833
	let
834

    
835
		
836

    
837
-- transition trace :
838
	--Super1_A__To__Junction1851_1, Junction1851__To__C_C1_1
839
		(idSuper1_Super1_2) 
840
	= 
841
		 if (( x=0 )) then 
842
		Super1_A_ex(idSuper1_Super1_1, false)
843
		 else (idSuper1_Super1_1);
844
		
845

    
846
		idSuper1_C_2 
847
	= 1841;
848
	
849
		(idSuper1_C_3, idSuper1_Super1_3, s_2) 
850
	= 
851
		 if (( x=0 )) then 
852
		Super1_C_en(idSuper1_C_2, idSuper1_Super1_2, s_1, false)
853
		 else (idSuper1_C_2, idSuper1_Super1_2, s_1);
854
		
855

    
856

    
857
-- transition trace :
858
	--Super1_A__To__Junction1851_1, Junction1851__To__Super1_D_2
859
		(idSuper1_Super1_4) 
860
	= 
861
		 if (( x!=0 )) then 
862
		Super1_A_ex(idSuper1_Super1_1, false)
863
		 else (idSuper1_Super1_1);
864
		
865

    
866
		(idSuper1_Super1_5, s_3) 
867
	= 
868
		 if (( x!=0 )) then 
869
		Super1_D_en(idSuper1_Super1_4, s_1, false)
870
		 else (idSuper1_Super1_4, s_1);
871
		
872

    
873
	(idSuper1_Super1, s, idSuper1_C) 
874
	= 
875
		 if (( x=0 )) then 
876
		(idSuper1_Super1_3, s_2, idSuper1_C_3)
877
		 else
878
		 if (( x!=0 )) then 
879
		(idSuper1_Super1_5, s_3, idSuper1_C_1)
880
		 else (idSuper1_Super1_1, s_1, idSuper1_C_1);
881

    
882

    
883
	tel
884

    
885
	until true restart POINTSuper1_Super1
886

    
887

    
888

    
889
	state SUPER1_B__TO__C_C2_1:
890

    
891
	 var 	idSuper1_Super1_2, idSuper1_Super1_3:int;
892
	s_2:int;
893
	idSuper1_C_2, idSuper1_C_3:int;
894
	let
895

    
896
		-- transition trace :
897
	--Super1_B__To__C_C2_1
898
		(idSuper1_Super1_2) 
899
	= Super1_B_ex(idSuper1_Super1_1, false);
900
		
901

    
902
		idSuper1_C_2 
903
	= 1842;
904
	
905
		(idSuper1_C_3, idSuper1_Super1_3, s_2) 
906
	= Super1_C_en(idSuper1_C_2, idSuper1_Super1_2, s_1, false);
907
		
908

    
909
	(idSuper1_Super1, s, idSuper1_C) 
910
	=  (idSuper1_Super1_3, s_2, idSuper1_C_3);
911

    
912

    
913
	tel
914

    
915
	until true restart POINTSuper1_Super1
916

    
917

    
918

    
919
	state SUPER1_D__TO__SUPER1_A_1:
920

    
921
	 var 	idSuper1_Super1_2, idSuper1_Super1_3:int;
922
	s_2:int;
923
	let
924

    
925
		-- transition trace :
926
	--Super1_D__To__Super1_A_1
927
		(idSuper1_Super1_2) 
928
	= Super1_D_ex(idSuper1_Super1_1, false);
929
		
930

    
931
		(idSuper1_Super1_3, s_2) 
932
	= Super1_A_en(idSuper1_Super1_2, s_1, false);
933
		
934

    
935
	(idSuper1_Super1, s, idSuper1_C) 
936
	=  (idSuper1_Super1_3, s_2, idSuper1_C_1);
937

    
938

    
939
	tel
940

    
941
	until true restart POINTSuper1_Super1
942

    
943

    
944

    
945
	state SUPER1_A_IDL:
946

    
947
	 	let
948

    
949
		
950

    
951
	(idSuper1_Super1, s, idSuper1_C) 
952
	= (idSuper1_Super1_1, s_1, idSuper1_C_1);
953
	
954

    
955
	tel
956

    
957
	until true restart POINTSuper1_Super1
958

    
959

    
960

    
961
	state SUPER1_B_IDL:
962

    
963
	 	let
964

    
965
		
966

    
967
	(idSuper1_Super1, s, idSuper1_C) 
968
	= (idSuper1_Super1_1, s_1, idSuper1_C_1);
969
	
970

    
971
	tel
972

    
973
	until true restart POINTSuper1_Super1
974

    
975

    
976

    
977
	state SUPER1_C_IDL:
978

    
979
	 var 	idSuper1_Super1_2:int;
980
	s_2:int;
981
	idSuper1_C_2:int;
982
	let
983

    
984
		
985
	(idSuper1_C_2, s_2, idSuper1_Super1_2) 
986
	= Super1_C_node(idSuper1_C_1, s_1, E, idSuper1_Super1_1, F, x);
987

    
988
		
989

    
990

    
991
	(idSuper1_Super1, s, idSuper1_C) 
992
	= (idSuper1_Super1_2, s_2, idSuper1_C_2);
993
	
994

    
995
	tel
996

    
997
	until true restart POINTSuper1_Super1
998

    
999

    
1000

    
1001
	state SUPER1_D_IDL:
1002

    
1003
	 	let
1004

    
1005
		
1006

    
1007
	(idSuper1_Super1, s, idSuper1_C) 
1008
	= (idSuper1_Super1_1, s_1, idSuper1_C_1);
1009
	
1010

    
1011
	tel
1012

    
1013
	until true restart POINTSuper1_Super1
1014

    
1015

    
1016

    
1017
tel
1018

    
1019

    
1020
--***************************************************State :Super1_Super1 Automaton***************************************************
1021

    
1022
node Super1_Super1(x:int;
1023
	E:bool;
1024
	F:bool)
1025

    
1026
returns (s:int);
1027

    
1028

    
1029
var s_1: int;
1030

    
1031
	idSuper1_Super1, idSuper1_Super1_1: int;
1032

    
1033
	idSuper1_C, idSuper1_C_1: int;
1034

    
1035
		idSuper1_Super1_2:int;
1036
	s_2:int;
1037
	idSuper1_C_2:int;
1038
let
1039

    
1040
	s_1 = 0 -> pre s;
1041

    
1042
	idSuper1_Super1_1 = 0 -> pre idSuper1_Super1;
1043

    
1044
	idSuper1_C_1 = 0 -> pre idSuper1_C;
1045

    
1046
	
1047

    
1048

    
1049

    
1050
	(idSuper1_Super1_2, s_2, idSuper1_C_2)
1051
	 = 
1052

    
1053
	 if E then Super1_Super1_node(idSuper1_Super1_1, s_1, E, x, idSuper1_C_1, false)
1054

    
1055
	 else (idSuper1_Super1_1, s_1, idSuper1_C_1);
1056

    
1057
	
1058

    
1059

    
1060

    
1061
	(idSuper1_Super1, s, idSuper1_C)
1062
	 = 
1063

    
1064
	 if F then Super1_Super1_node(idSuper1_Super1_2, s_2, false, x, idSuper1_C_2, F)
1065

    
1066
	 else (idSuper1_Super1_2, s_2, idSuper1_C_2);
1067

    
1068
	
1069

    
1070

    
1071
--unused outputs
1072
	
1073

    
1074
tel
1075

    
1076

    
1077

    
1078
node Super1 (x_1_1 : int; E_1_1 : real; F_1_1 : real)
1079
returns (s_1_1 : int); 
1080
var
1081
	Mux_1_1 : real; Mux_1_2 : real;
1082
	Super1_1_1 : int;
1083
	i_virtual_local : real;
1084
	Super1Mux_1_1_event: bool;
1085
	Super1Mux_1_2_event: bool;
1086
let 
1087
	Mux_1_1 = E_1_1 ;
1088
	Mux_1_2 = F_1_1 ;
1089
	Super1Mux_1_1_event = false -> ((pre(Mux_1_1) > 0.0 and Mux_1_1 <= 0.0) or (pre(Mux_1_1) <= 0.0 and Mux_1_1 > 0.0));
1090
	Super1Mux_1_2_event = false -> ((pre(Mux_1_2) > 0.0 and Mux_1_2 <= 0.0) or (pre(Mux_1_2) <= 0.0 and Mux_1_2 > 0.0));
1091
	Super1_1_1 =  Super1_Super1(x_1_1, Super1Mux_1_1_event, Super1Mux_1_2_event);
1092
	s_1_1 = Super1_1_1;
1093
	i_virtual_local= 0.0 -> 1.0;
1094
tel
1095