Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_Iek1 / Iek1.lus @ eb639349

History | View | Annotate | Download (23.1 KB)

1 eb639349 bourbouh
-- 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 :T2_C
23
node T2_C_en(idIek1_T2_1:int;
24
	sT2_1:real;
25
	isInner:bool)
26
27
returns (idIek1_T2:int;
28
	sT2:real);
29
30
31
var 	idIek1_T2_2:int;
32
	sT2_2:real;
33
34
35
let
36
37
38
39
	-- set state as active 
40
	idIek1_T2_2 
41
	= 1035;
42
	
43
44
	sT2_2 
45
	= if (not isInner) then 1.
46
	 else sT2_1;
47
	
48
49
	(idIek1_T2, sT2) 
50
	= (idIek1_T2_2, sT2_2);
51
	
52
53
tel
54
55
56
57
58
59
-- Exit action for state :T2_C
60
node T2_C_ex(idIek1_T2_1:int;
61
	isInner:bool)
62
63
returns (idIek1_T2:int);
64
65
66
var 	idIek1_T2_2:int;
67
68
69
let
70
71
72
73
	-- set state as inactive 
74
	idIek1_T2_2
75
	 = if (not isInner) then 0 else idIek1_T2_1;
76
77
78
	(idIek1_T2) 
79
	= (idIek1_T2_1);
80
	
81
82
tel
83
84
85
86
87
88
89
-- Entry action for state :T2_D
90
node T2_D_en(idIek1_T2_1:int;
91
	sT2_1:real;
92
	isInner:bool)
93
94
returns (idIek1_T2:int;
95
	sT2:real);
96
97
98
var 	idIek1_T2_2:int;
99
	sT2_2:real;
100
101
102
let
103
104
105
106
	-- set state as active 
107
	idIek1_T2_2 
108
	= 1036;
109
	
110
111
	sT2_2 
112
	= if (not isInner) then 2.
113
	 else sT2_1;
114
	
115
116
	(idIek1_T2, sT2) 
117
	= (idIek1_T2_2, sT2_2);
118
	
119
120
tel
121
122
123
124
125
126
-- Exit action for state :T2_D
127
node T2_D_ex(idIek1_T2_1:int;
128
	isInner:bool)
129
130
returns (idIek1_T2:int);
131
132
133
var 	idIek1_T2_2:int;
134
135
136
let
137
138
139
140
	-- set state as inactive 
141
	idIek1_T2_2
142
	 = if (not isInner) then 0 else idIek1_T2_1;
143
144
145
	(idIek1_T2) 
146
	= (idIek1_T2_1);
147
	
148
149
tel
150
151
152
153
154
155
156
-- Entry action for state :Iek1_T2
157
node Iek1_T2_en(idIek1_T2_1:int;
158
	idIek1_Iek1_1:int;
159
	sT2_1:real;
160
	isInner:bool)
161
162
returns (idIek1_T2:int;
163
	idIek1_Iek1:int;
164
	sT2:real);
165
166
167
var 	idIek1_T2_2, idIek1_T2_3, idIek1_T2_4, idIek1_T2_5, idIek1_T2_6:int;
168
	idIek1_Iek1_2, idIek1_Iek1_3, idIek1_Iek1_4:int;
169
	sT2_2, sT2_3, sT2_4, sT2_5, sT2_6:real;
170
171
172
let
173
174
175
176
	-- set state as active 
177
	idIek1_Iek1_2 
178
	= 1034;
179
	
180
181
	
182
-- transition trace :
183
	--POINT__To__T2_C_1
184
		(idIek1_T2_2, sT2_2) 
185
	= T2_C_en(idIek1_T2_1, sT2_1, false);
186
		
187
188
	(idIek1_T2_3, idIek1_Iek1_3, sT2_3) 
189
	= 
190
191
	if ( idIek1_T2_1 = 0) then
192
193
	 (idIek1_T2_2, idIek1_Iek1_2, sT2_2)
194
195
	 else(idIek1_T2_1, idIek1_Iek1_2, sT2_1);
196
197
	
198
199
	(idIek1_T2_4, sT2_4) 
200
	= 
201
	if ( idIek1_T2_1 = 1035) then
202
	T2_C_en(idIek1_T2_1, sT2_1, false)
203
	 else (idIek1_T2_1, sT2_1);
204
205
	
206
207
	(idIek1_T2_5, sT2_5) 
208
	= 
209
	if ( idIek1_T2_1 = 1036) then
210
	T2_D_en(idIek1_T2_1, sT2_1, false)
211
	 else (idIek1_T2_1, sT2_1);
212
213
	
214
215
	(idIek1_T2_6, idIek1_Iek1_4, sT2_6) 
216
	= 
217
		 if ( idIek1_T2_1 = 0) then 
218
		(idIek1_T2_3, idIek1_Iek1_3, sT2_3)
219
		 else
220
		 if ( idIek1_T2_1 = 1035) then 
221
		(idIek1_T2_4, idIek1_Iek1_3, sT2_4)
222
		 else
223
		 if ( idIek1_T2_1 = 1036) then 
224
		(idIek1_T2_5, idIek1_Iek1_3, sT2_5)
225
		 else (idIek1_T2_1, idIek1_Iek1_2, sT2_1);
226
227
228
	(idIek1_T2, idIek1_Iek1, sT2) 
229
	= (idIek1_T2_6, idIek1_Iek1_4, sT2_6);
230
	
231
232
tel
233
234
235
236
237
238
-- Exit action for state :Iek1_T2
239
node Iek1_T2_ex(idIek1_T2_1:int;
240
	idIek1_Iek1_1:int;
241
	isInner:bool)
242
243
returns (idIek1_T2:int;
244
	idIek1_Iek1:int);
245
246
247
var 	idIek1_T2_2, idIek1_T2_3, idIek1_T2_4, idIek1_T2_5:int;
248
	idIek1_Iek1_2:int;
249
250
251
let
252
253
254
255
	
256
	(idIek1_T2_2) 
257
	= 
258
	if ( idIek1_T2_1 = 1035) then
259
	T2_C_ex(idIek1_T2_1, false)
260
	 else (idIek1_T2_1);
261
262
	
263
264
	(idIek1_T2_3) 
265
	= 
266
	if ( idIek1_T2_1 = 1036) then
267
	T2_D_ex(idIek1_T2_1, false)
268
	 else (idIek1_T2_1);
269
270
	
271
272
	(idIek1_T2_4) 
273
	= 
274
		 if ( idIek1_T2_1 = 1035) then 
275
		(idIek1_T2_2)
276
		 else
277
		 if ( idIek1_T2_1 = 1036) then 
278
		(idIek1_T2_3)
279
		 else (idIek1_T2_1);
280
281
282
	-- set state as inactive 
283
	idIek1_Iek1_2
284
	 = if (not isInner) then 0 else idIek1_Iek1_1;
285
286
	idIek1_T2_5 
287
	= 0;
288
	
289
290
	(idIek1_T2, idIek1_Iek1) 
291
	= (idIek1_T2_5, idIek1_Iek1_1);
292
	
293
294
tel
295
296
297
298
299
300
301
-- Entry action for state :T1_A
302
node T1_A_en(idIek1_T1_1:int;
303
	sT1_1:real;
304
	isInner:bool)
305
306
returns (idIek1_T1:int;
307
	sT1:real);
308
309
310
var 	idIek1_T1_2:int;
311
	sT1_2:real;
312
313
314
let
315
316
317
318
	-- set state as active 
319
	idIek1_T1_2 
320
	= 1033;
321
	
322
323
	sT1_2 
324
	= if (not isInner) then 1.
325
	 else sT1_1;
326
	
327
328
	(idIek1_T1, sT1) 
329
	= (idIek1_T1_2, sT1_2);
330
	
331
332
tel
333
334
335
336
337
338
-- Exit action for state :T1_A
339
node T1_A_ex(idIek1_T1_1:int;
340
	isInner:bool)
341
342
returns (idIek1_T1:int);
343
344
345
var 	idIek1_T1_2:int;
346
347
348
let
349
350
351
352
	-- set state as inactive 
353
	idIek1_T1_2
354
	 = if (not isInner) then 0 else idIek1_T1_1;
355
356
357
	(idIek1_T1) 
358
	= (idIek1_T1_1);
359
	
360
361
tel
362
363
364
365
366
367
368
-- Entry action for state :T1_B
369
node T1_B_en(idIek1_T1_1:int;
370
	sT1_1:real;
371
	isInner:bool)
372
373
returns (idIek1_T1:int;
374
	sT1:real);
375
376
377
var 	idIek1_T1_2:int;
378
	sT1_2:real;
379
380
381
let
382
383
384
385
	-- set state as active 
386
	idIek1_T1_2 
387
	= 1032;
388
	
389
390
	sT1_2 
391
	= if (not isInner) then 2.
392
	 else sT1_1;
393
	
394
395
	(idIek1_T1, sT1) 
396
	= (idIek1_T1_2, sT1_2);
397
	
398
399
tel
400
401
402
403
404
405
-- Exit action for state :T1_B
406
node T1_B_ex(idIek1_T1_1:int;
407
	isInner:bool)
408
409
returns (idIek1_T1:int);
410
411
412
var 	idIek1_T1_2:int;
413
414
415
let
416
417
418
419
	-- set state as inactive 
420
	idIek1_T1_2
421
	 = if (not isInner) then 0 else idIek1_T1_1;
422
423
424
	(idIek1_T1) 
425
	= (idIek1_T1_1);
426
	
427
428
tel
429
430
431
432
433
434
435
-- Entry action for state :Iek1_T1
436
node Iek1_T1_en(idIek1_T1_1:int;
437
	idIek1_Iek1_1:int;
438
	sT1_1:real;
439
	isInner:bool)
440
441
returns (idIek1_T1:int;
442
	idIek1_Iek1:int;
443
	sT1:real);
444
445
446
var 	idIek1_T1_2, idIek1_T1_3, idIek1_T1_4, idIek1_T1_5, idIek1_T1_6:int;
447
	idIek1_Iek1_2, idIek1_Iek1_3, idIek1_Iek1_4:int;
448
	sT1_2, sT1_3, sT1_4, sT1_5, sT1_6:real;
449
450
451
let
452
453
454
455
	-- set state as active 
456
	idIek1_Iek1_2 
457
	= 1031;
458
	
459
460
	
461
-- transition trace :
462
	--POINT__To__T1_A_1
463
		(idIek1_T1_2, sT1_2) 
464
	= T1_A_en(idIek1_T1_1, sT1_1, false);
465
		
466
467
	(idIek1_T1_3, idIek1_Iek1_3, sT1_3) 
468
	= 
469
470
	if ( idIek1_T1_1 = 0) then
471
472
	 (idIek1_T1_2, idIek1_Iek1_2, sT1_2)
473
474
	 else(idIek1_T1_1, idIek1_Iek1_2, sT1_1);
475
476
	
477
478
	(idIek1_T1_4, sT1_4) 
479
	= 
480
	if ( idIek1_T1_1 = 1033) then
481
	T1_A_en(idIek1_T1_1, sT1_1, false)
482
	 else (idIek1_T1_1, sT1_1);
483
484
	
485
486
	(idIek1_T1_5, sT1_5) 
487
	= 
488
	if ( idIek1_T1_1 = 1032) then
489
	T1_B_en(idIek1_T1_1, sT1_1, false)
490
	 else (idIek1_T1_1, sT1_1);
491
492
	
493
494
	(idIek1_T1_6, idIek1_Iek1_4, sT1_6) 
495
	= 
496
		 if ( idIek1_T1_1 = 0) then 
497
		(idIek1_T1_3, idIek1_Iek1_3, sT1_3)
498
		 else
499
		 if ( idIek1_T1_1 = 1033) then 
500
		(idIek1_T1_4, idIek1_Iek1_3, sT1_4)
501
		 else
502
		 if ( idIek1_T1_1 = 1032) then 
503
		(idIek1_T1_5, idIek1_Iek1_3, sT1_5)
504
		 else (idIek1_T1_1, idIek1_Iek1_2, sT1_1);
505
506
507
	(idIek1_T1, idIek1_Iek1, sT1) 
508
	= (idIek1_T1_6, idIek1_Iek1_4, sT1_6);
509
	
510
511
tel
512
513
514
515
516
517
-- Exit action for state :Iek1_T1
518
node Iek1_T1_ex(idIek1_T1_1:int;
519
	idIek1_Iek1_1:int;
520
	isInner:bool)
521
522
returns (idIek1_T1:int;
523
	idIek1_Iek1:int);
524
525
526
var 	idIek1_T1_2, idIek1_T1_3, idIek1_T1_4, idIek1_T1_5:int;
527
	idIek1_Iek1_2:int;
528
529
530
let
531
532
533
534
	
535
	(idIek1_T1_2) 
536
	= 
537
	if ( idIek1_T1_1 = 1033) then
538
	T1_A_ex(idIek1_T1_1, false)
539
	 else (idIek1_T1_1);
540
541
	
542
543
	(idIek1_T1_3) 
544
	= 
545
	if ( idIek1_T1_1 = 1032) then
546
	T1_B_ex(idIek1_T1_1, false)
547
	 else (idIek1_T1_1);
548
549
	
550
551
	(idIek1_T1_4) 
552
	= 
553
		 if ( idIek1_T1_1 = 1033) then 
554
		(idIek1_T1_2)
555
		 else
556
		 if ( idIek1_T1_1 = 1032) then 
557
		(idIek1_T1_3)
558
		 else (idIek1_T1_1);
559
560
561
	-- set state as inactive 
562
	idIek1_Iek1_2
563
	 = if (not isInner) then 0 else idIek1_Iek1_1;
564
565
	idIek1_T1_5 
566
	= 0;
567
	
568
569
	(idIek1_T1, idIek1_Iek1) 
570
	= (idIek1_T1_5, idIek1_Iek1_1);
571
	
572
573
tel
574
575
576
577
578
579
580
-- Entry action for state :T3_d
581
node T3_d_en(idIek1_T3_1:int;
582
	sT3_1:real;
583
	isInner:bool)
584
585
returns (idIek1_T3:int;
586
	sT3:real);
587
588
589
var 	idIek1_T3_2:int;
590
	sT3_2:real;
591
592
593
let
594
595
596
597
	-- set state as active 
598
	idIek1_T3_2 
599
	= 1041;
600
	
601
602
	sT3_2 
603
	= if (not isInner) then 4.
604
	 else sT3_1;
605
	
606
607
	(idIek1_T3, sT3) 
608
	= (idIek1_T3_2, sT3_2);
609
	
610
611
tel
612
613
614
615
616
617
-- Exit action for state :T3_d
618
node T3_d_ex(idIek1_T3_1:int;
619
	isInner:bool)
620
621
returns (idIek1_T3:int);
622
623
624
var 	idIek1_T3_2:int;
625
626
627
let
628
629
630
631
	-- set state as inactive 
632
	idIek1_T3_2
633
	 = if (not isInner) then 0 else idIek1_T3_1;
634
635
636
	(idIek1_T3) 
637
	= (idIek1_T3_1);
638
	
639
640
tel
641
642
643
644
645
646
647
-- Entry action for state :T3_c
648
node T3_c_en(idIek1_T3_1:int;
649
	sT3_1:real;
650
	isInner:bool)
651
652
returns (idIek1_T3:int;
653
	sT3:real);
654
655
656
var 	idIek1_T3_2:int;
657
	sT3_2:real;
658
659
660
let
661
662
663
664
	-- set state as active 
665
	idIek1_T3_2 
666
	= 1039;
667
	
668
669
	sT3_2 
670
	= if (not isInner) then 3.
671
	 else sT3_1;
672
	
673
674
	(idIek1_T3, sT3) 
675
	= (idIek1_T3_2, sT3_2);
676
	
677
678
tel
679
680
681
682
683
684
-- Exit action for state :T3_c
685
node T3_c_ex(idIek1_T3_1:int;
686
	isInner:bool)
687
688
returns (idIek1_T3:int);
689
690
691
var 	idIek1_T3_2:int;
692
693
694
let
695
696
697
698
	-- set state as inactive 
699
	idIek1_T3_2
700
	 = if (not isInner) then 0 else idIek1_T3_1;
701
702
703
	(idIek1_T3) 
704
	= (idIek1_T3_1);
705
	
706
707
tel
708
709
710
711
712
713
714
-- Entry action for state :T3_a
715
node T3_a_en(idIek1_T3_1:int;
716
	sT3_1:real;
717
	isInner:bool)
718
719
returns (idIek1_T3:int;
720
	sT3:real);
721
722
723
var 	idIek1_T3_2:int;
724
	sT3_2:real;
725
726
727
let
728
729
730
731
	-- set state as active 
732
	idIek1_T3_2 
733
	= 1038;
734
	
735
736
	sT3_2 
737
	= if (not isInner) then 1.
738
	 else sT3_1;
739
	
740
741
	(idIek1_T3, sT3) 
742
	= (idIek1_T3_2, sT3_2);
743
	
744
745
tel
746
747
748
749
750
751
-- Exit action for state :T3_a
752
node T3_a_ex(idIek1_T3_1:int;
753
	isInner:bool)
754
755
returns (idIek1_T3:int);
756
757
758
var 	idIek1_T3_2:int;
759
760
761
let
762
763
764
765
	-- set state as inactive 
766
	idIek1_T3_2
767
	 = if (not isInner) then 0 else idIek1_T3_1;
768
769
770
	(idIek1_T3) 
771
	= (idIek1_T3_1);
772
	
773
774
tel
775
776
777
778
779
780
781
-- Entry action for state :T3_b
782
node T3_b_en(idIek1_T3_1:int;
783
	sT3_1:real;
784
	isInner:bool)
785
786
returns (idIek1_T3:int;
787
	sT3:real);
788
789
790
var 	idIek1_T3_2:int;
791
	sT3_2:real;
792
793
794
let
795
796
797
798
	-- set state as active 
799
	idIek1_T3_2 
800
	= 1040;
801
	
802
803
	sT3_2 
804
	= if (not isInner) then 2.
805
	 else sT3_1;
806
	
807
808
	(idIek1_T3, sT3) 
809
	= (idIek1_T3_2, sT3_2);
810
	
811
812
tel
813
814
815
816
817
818
-- Exit action for state :T3_b
819
node T3_b_ex(idIek1_T3_1:int;
820
	isInner:bool)
821
822
returns (idIek1_T3:int);
823
824
825
var 	idIek1_T3_2:int;
826
827
828
let
829
830
831
832
	-- set state as inactive 
833
	idIek1_T3_2
834
	 = if (not isInner) then 0 else idIek1_T3_1;
835
836
837
	(idIek1_T3) 
838
	= (idIek1_T3_1);
839
	
840
841
tel
842
843
844
845
846
847
848
-- Entry action for state :Iek1_T3
849
node Iek1_T3_en(idIek1_T3_1:int;
850
	idIek1_Iek1_1:int;
851
	sT3_1:real;
852
	isInner:bool)
853
854
returns (idIek1_T3:int;
855
	idIek1_Iek1:int;
856
	sT3:real);
857
858
859
var 	idIek1_T3_2, idIek1_T3_3, idIek1_T3_4, idIek1_T3_5, idIek1_T3_6, idIek1_T3_7, idIek1_T3_8:int;
860
	idIek1_Iek1_2, idIek1_Iek1_3, idIek1_Iek1_4:int;
861
	sT3_2, sT3_3, sT3_4, sT3_5, sT3_6, sT3_7, sT3_8:real;
862
863
864
let
865
866
867
868
	-- set state as active 
869
	idIek1_Iek1_2 
870
	= 1037;
871
	
872
873
	
874
-- transition trace :
875
	--POINT__To__T3_a_1
876
		(idIek1_T3_2, sT3_2) 
877
	= T3_a_en(idIek1_T3_1, sT3_1, false);
878
		
879
880
	(idIek1_T3_3, idIek1_Iek1_3, sT3_3) 
881
	= 
882
883
	if ( idIek1_T3_1 = 0) then
884
885
	 (idIek1_T3_2, idIek1_Iek1_2, sT3_2)
886
887
	 else(idIek1_T3_1, idIek1_Iek1_2, sT3_1);
888
889
	
890
891
	(idIek1_T3_4, sT3_4) 
892
	= 
893
	if ( idIek1_T3_1 = 1038) then
894
	T3_a_en(idIek1_T3_1, sT3_1, false)
895
	 else (idIek1_T3_1, sT3_1);
896
897
	
898
899
	(idIek1_T3_5, sT3_5) 
900
	= 
901
	if ( idIek1_T3_1 = 1039) then
902
	T3_c_en(idIek1_T3_1, sT3_1, false)
903
	 else (idIek1_T3_1, sT3_1);
904
905
	
906
907
	(idIek1_T3_6, sT3_6) 
908
	= 
909
	if ( idIek1_T3_1 = 1041) then
910
	T3_d_en(idIek1_T3_1, sT3_1, false)
911
	 else (idIek1_T3_1, sT3_1);
912
913
	
914
915
	(idIek1_T3_7, sT3_7) 
916
	= 
917
	if ( idIek1_T3_1 = 1040) then
918
	T3_b_en(idIek1_T3_1, sT3_1, false)
919
	 else (idIek1_T3_1, sT3_1);
920
921
	
922
923
	(idIek1_T3_8, idIek1_Iek1_4, sT3_8) 
924
	= 
925
		 if ( idIek1_T3_1 = 0) then 
926
		(idIek1_T3_3, idIek1_Iek1_3, sT3_3)
927
		 else
928
		 if ( idIek1_T3_1 = 1038) then 
929
		(idIek1_T3_4, idIek1_Iek1_3, sT3_4)
930
		 else
931
		 if ( idIek1_T3_1 = 1039) then 
932
		(idIek1_T3_5, idIek1_Iek1_3, sT3_5)
933
		 else
934
		 if ( idIek1_T3_1 = 1041) then 
935
		(idIek1_T3_6, idIek1_Iek1_3, sT3_6)
936
		 else
937
		 if ( idIek1_T3_1 = 1040) then 
938
		(idIek1_T3_7, idIek1_Iek1_3, sT3_7)
939
		 else (idIek1_T3_1, idIek1_Iek1_2, sT3_1);
940
941
942
	(idIek1_T3, idIek1_Iek1, sT3) 
943
	= (idIek1_T3_8, idIek1_Iek1_4, sT3_8);
944
	
945
946
tel
947
948
949
950
951
952
-- Exit action for state :Iek1_T3
953
node Iek1_T3_ex(idIek1_T3_1:int;
954
	idIek1_Iek1_1:int;
955
	isInner:bool)
956
957
returns (idIek1_T3:int;
958
	idIek1_Iek1:int);
959
960
961
var 	idIek1_T3_2, idIek1_T3_3, idIek1_T3_4, idIek1_T3_5, idIek1_T3_6, idIek1_T3_7:int;
962
	idIek1_Iek1_2:int;
963
964
965
let
966
967
968
969
	
970
	(idIek1_T3_2) 
971
	= 
972
	if ( idIek1_T3_1 = 1038) then
973
	T3_a_ex(idIek1_T3_1, false)
974
	 else (idIek1_T3_1);
975
976
	
977
978
	(idIek1_T3_3) 
979
	= 
980
	if ( idIek1_T3_1 = 1039) then
981
	T3_c_ex(idIek1_T3_1, false)
982
	 else (idIek1_T3_1);
983
984
	
985
986
	(idIek1_T3_4) 
987
	= 
988
	if ( idIek1_T3_1 = 1041) then
989
	T3_d_ex(idIek1_T3_1, false)
990
	 else (idIek1_T3_1);
991
992
	
993
994
	(idIek1_T3_5) 
995
	= 
996
	if ( idIek1_T3_1 = 1040) then
997
	T3_b_ex(idIek1_T3_1, false)
998
	 else (idIek1_T3_1);
999
1000
	
1001
1002
	(idIek1_T3_6) 
1003
	= 
1004
		 if ( idIek1_T3_1 = 1038) then 
1005
		(idIek1_T3_2)
1006
		 else
1007
		 if ( idIek1_T3_1 = 1039) then 
1008
		(idIek1_T3_3)
1009
		 else
1010
		 if ( idIek1_T3_1 = 1041) then 
1011
		(idIek1_T3_4)
1012
		 else
1013
		 if ( idIek1_T3_1 = 1040) then 
1014
		(idIek1_T3_5)
1015
		 else (idIek1_T3_1);
1016
1017
1018
	-- set state as inactive 
1019
	idIek1_Iek1_2
1020
	 = if (not isInner) then 0 else idIek1_Iek1_1;
1021
1022
	idIek1_T3_7 
1023
	= 0;
1024
	
1025
1026
	(idIek1_T3, idIek1_Iek1) 
1027
	= (idIek1_T3_7, idIek1_Iek1_1);
1028
	
1029
1030
tel
1031
1032
1033
--***************************************************State :Iek1_T2 Automaton***************************************************
1034
1035
node Iek1_T2_node(idIek1_T2_1:int;
1036
	sT2_1:real;
1037
	F:bool)
1038
1039
returns (idIek1_T2:int;
1040
	sT2:real);
1041
1042
1043
let
1044
1045
	 automaton iek1_t2
1046
1047
	state POINTIek1_T2:
1048
	unless (idIek1_T2_1=0) restart POINT__TO__T2_C_1
1049
1050
1051
1052
	unless (idIek1_T2_1=1035) and F restart T2_C__TO__T2_D_1
1053
1054
1055
1056
	unless (idIek1_T2_1=1036) and F restart T2_D__TO__T2_C_1
1057
1058
1059
1060
	unless (idIek1_T2_1=1035) restart T2_C_IDL
1061
1062
	unless (idIek1_T2_1=1036) restart T2_D_IDL
1063
1064
	let
1065
1066
		(idIek1_T2, sT2) 
1067
	= (idIek1_T2_1, sT2_1);
1068
	
1069
1070
	tel
1071
1072
1073
1074
	state POINT__TO__T2_C_1:
1075
1076
	 var 	idIek1_T2_2:int;
1077
	sT2_2:real;
1078
	let
1079
1080
		-- transition trace :
1081
	--POINT__To__T2_C_1
1082
		(idIek1_T2_2, sT2_2) 
1083
	= T2_C_en(idIek1_T2_1, sT2_1, false);
1084
		
1085
1086
	(idIek1_T2, sT2) 
1087
	=  (idIek1_T2_2, sT2_2);
1088
1089
1090
	tel
1091
1092
	until true restart POINTIek1_T2
1093
1094
1095
1096
	state T2_C__TO__T2_D_1:
1097
1098
	 var 	idIek1_T2_2, idIek1_T2_3:int;
1099
	sT2_2:real;
1100
	let
1101
1102
		-- transition trace :
1103
	--T2_C__To__T2_D_1
1104
		(idIek1_T2_2) 
1105
	= T2_C_ex(idIek1_T2_1, false);
1106
		
1107
1108
		(idIek1_T2_3, sT2_2) 
1109
	= T2_D_en(idIek1_T2_2, sT2_1, false);
1110
		
1111
1112
	(idIek1_T2, sT2) 
1113
	=  (idIek1_T2_3, sT2_2);
1114
1115
1116
	tel
1117
1118
	until true restart POINTIek1_T2
1119
1120
1121
1122
	state T2_D__TO__T2_C_1:
1123
1124
	 var 	idIek1_T2_2, idIek1_T2_3:int;
1125
	sT2_2:real;
1126
	let
1127
1128
		-- transition trace :
1129
	--T2_D__To__T2_C_1
1130
		(idIek1_T2_2) 
1131
	= T2_D_ex(idIek1_T2_1, false);
1132
		
1133
1134
		(idIek1_T2_3, sT2_2) 
1135
	= T2_C_en(idIek1_T2_2, sT2_1, false);
1136
		
1137
1138
	(idIek1_T2, sT2) 
1139
	=  (idIek1_T2_3, sT2_2);
1140
1141
1142
	tel
1143
1144
	until true restart POINTIek1_T2
1145
1146
1147
1148
	state T2_C_IDL:
1149
1150
	 	let
1151
1152
		
1153
1154
	(idIek1_T2, sT2) 
1155
	= (idIek1_T2_1, sT2_1);
1156
	
1157
1158
	tel
1159
1160
	until true restart POINTIek1_T2
1161
1162
1163
1164
	state T2_D_IDL:
1165
1166
	 	let
1167
1168
		
1169
1170
	(idIek1_T2, sT2) 
1171
	= (idIek1_T2_1, sT2_1);
1172
	
1173
1174
	tel
1175
1176
	until true restart POINTIek1_T2
1177
1178
1179
1180
tel
1181
1182
1183
--***************************************************State :Iek1_T1 Automaton***************************************************
1184
1185
node Iek1_T1_node(idIek1_T1_1:int;
1186
	sT1_1:real;
1187
	E:bool)
1188
1189
returns (idIek1_T1:int;
1190
	sT1:real);
1191
1192
1193
let
1194
1195
	 automaton iek1_t1
1196
1197
	state POINTIek1_T1:
1198
	unless (idIek1_T1_1=0) restart POINT__TO__T1_A_1
1199
1200
1201
1202
	unless (idIek1_T1_1=1033) and E restart T1_A__TO__T1_B_1
1203
1204
1205
1206
	unless (idIek1_T1_1=1032) and E restart T1_B__TO__T1_A_1
1207
1208
1209
1210
	unless (idIek1_T1_1=1033) restart T1_A_IDL
1211
1212
	unless (idIek1_T1_1=1032) restart T1_B_IDL
1213
1214
	let
1215
1216
		(idIek1_T1, sT1) 
1217
	= (idIek1_T1_1, sT1_1);
1218
	
1219
1220
	tel
1221
1222
1223
1224
	state POINT__TO__T1_A_1:
1225
1226
	 var 	idIek1_T1_2:int;
1227
	sT1_2:real;
1228
	let
1229
1230
		-- transition trace :
1231
	--POINT__To__T1_A_1
1232
		(idIek1_T1_2, sT1_2) 
1233
	= T1_A_en(idIek1_T1_1, sT1_1, false);
1234
		
1235
1236
	(idIek1_T1, sT1) 
1237
	=  (idIek1_T1_2, sT1_2);
1238
1239
1240
	tel
1241
1242
	until true restart POINTIek1_T1
1243
1244
1245
1246
	state T1_A__TO__T1_B_1:
1247
1248
	 var 	idIek1_T1_2, idIek1_T1_3:int;
1249
	sT1_2:real;
1250
	let
1251
1252
		-- transition trace :
1253
	--T1_A__To__T1_B_1
1254
		(idIek1_T1_2) 
1255
	= T1_A_ex(idIek1_T1_1, false);
1256
		
1257
1258
		(idIek1_T1_3, sT1_2) 
1259
	= T1_B_en(idIek1_T1_2, sT1_1, false);
1260
		
1261
1262
	(idIek1_T1, sT1) 
1263
	=  (idIek1_T1_3, sT1_2);
1264
1265
1266
	tel
1267
1268
	until true restart POINTIek1_T1
1269
1270
1271
1272
	state T1_B__TO__T1_A_1:
1273
1274
	 var 	idIek1_T1_2, idIek1_T1_3:int;
1275
	sT1_2:real;
1276
	let
1277
1278
		-- transition trace :
1279
	--T1_B__To__T1_A_1
1280
		(idIek1_T1_2) 
1281
	= T1_B_ex(idIek1_T1_1, false);
1282
		
1283
1284
		(idIek1_T1_3, sT1_2) 
1285
	= T1_A_en(idIek1_T1_2, sT1_1, false);
1286
		
1287
1288
	(idIek1_T1, sT1) 
1289
	=  (idIek1_T1_3, sT1_2);
1290
1291
1292
	tel
1293
1294
	until true restart POINTIek1_T1
1295
1296
1297
1298
	state T1_A_IDL:
1299
1300
	 	let
1301
1302
		
1303
1304
	(idIek1_T1, sT1) 
1305
	= (idIek1_T1_1, sT1_1);
1306
	
1307
1308
	tel
1309
1310
	until true restart POINTIek1_T1
1311
1312
1313
1314
	state T1_B_IDL:
1315
1316
	 	let
1317
1318
		
1319
1320
	(idIek1_T1, sT1) 
1321
	= (idIek1_T1_1, sT1_1);
1322
	
1323
1324
	tel
1325
1326
	until true restart POINTIek1_T1
1327
1328
1329
1330
tel
1331
1332
1333
--***************************************************State :Iek1_T3 Automaton***************************************************
1334
1335
node Iek1_T3_node(idIek1_T3_1:int;
1336
	sT3_1:real;
1337
	idIek1_T1_1:int;
1338
	idIek1_T2_1:int)
1339
1340
returns (idIek1_T3:int;
1341
	sT3:real);
1342
1343
1344
let
1345
1346
	 automaton iek1_t3
1347
1348
	state POINTIek1_T3:
1349
	unless (idIek1_T3_1=0) restart POINT__TO__T3_A_1
1350
1351
1352
1353
	unless (idIek1_T3_1=1038) and idIek1_T1_1 != 1033 restart T3_A__TO__T3_C_1
1354
1355
1356
1357
	unless (idIek1_T3_1=1039) and idIek1_T1_1 = 1033 restart T3_C__TO__T3_D_1
1358
1359
1360
1361
	unless (idIek1_T3_1=1039) and idIek1_T2_1 = 1036 restart T3_C__TO__T3_B_2
1362
1363
1364
1365
	unless (idIek1_T3_1=1041) and idIek1_T2_1 != 1035 restart T3_D__TO__T3_B_1
1366
1367
1368
1369
	unless (idIek1_T3_1=1040) and idIek1_T2_1 = 1035 restart T3_B__TO__T3_A_1
1370
1371
1372
1373
	unless (idIek1_T3_1=1040) and idIek1_T1_1 = 1032 restart T3_B__TO__T3_C_2
1374
1375
1376
1377
	unless (idIek1_T3_1=1038) restart T3_A_IDL
1378
1379
	unless (idIek1_T3_1=1039) restart T3_C_IDL
1380
1381
	unless (idIek1_T3_1=1041) restart T3_D_IDL
1382
1383
	unless (idIek1_T3_1=1040) restart T3_B_IDL
1384
1385
	let
1386
1387
		(idIek1_T3, sT3) 
1388
	= (idIek1_T3_1, sT3_1);
1389
	
1390
1391
	tel
1392
1393
1394
1395
	state POINT__TO__T3_A_1:
1396
1397
	 var 	idIek1_T3_2:int;
1398
	sT3_2:real;
1399
	let
1400
1401
		-- transition trace :
1402
	--POINT__To__T3_a_1
1403
		(idIek1_T3_2, sT3_2) 
1404
	= T3_a_en(idIek1_T3_1, sT3_1, false);
1405
		
1406
1407
	(idIek1_T3, sT3) 
1408
	=  (idIek1_T3_2, sT3_2);
1409
1410
1411
	tel
1412
1413
	until true restart POINTIek1_T3
1414
1415
1416
1417
	state T3_A__TO__T3_C_1:
1418
1419
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1420
	sT3_2:real;
1421
	let
1422
1423
		-- transition trace :
1424
	--T3_a__To__T3_c_1
1425
		(idIek1_T3_2) 
1426
	= T3_a_ex(idIek1_T3_1, false);
1427
		
1428
1429
		(idIek1_T3_3, sT3_2) 
1430
	= T3_c_en(idIek1_T3_2, sT3_1, false);
1431
		
1432
1433
	(idIek1_T3, sT3) 
1434
	=  (idIek1_T3_3, sT3_2);
1435
1436
1437
	tel
1438
1439
	until true restart POINTIek1_T3
1440
1441
1442
1443
	state T3_C__TO__T3_D_1:
1444
1445
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1446
	sT3_2:real;
1447
	let
1448
1449
		-- transition trace :
1450
	--T3_c__To__T3_d_1
1451
		(idIek1_T3_2) 
1452
	= T3_c_ex(idIek1_T3_1, false);
1453
		
1454
1455
		(idIek1_T3_3, sT3_2) 
1456
	= T3_d_en(idIek1_T3_2, sT3_1, false);
1457
		
1458
1459
	(idIek1_T3, sT3) 
1460
	=  (idIek1_T3_3, sT3_2);
1461
1462
1463
	tel
1464
1465
	until true restart POINTIek1_T3
1466
1467
1468
1469
	state T3_C__TO__T3_B_2:
1470
1471
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1472
	sT3_2:real;
1473
	let
1474
1475
		-- transition trace :
1476
	--T3_c__To__T3_b_2
1477
		(idIek1_T3_2) 
1478
	= T3_c_ex(idIek1_T3_1, false);
1479
		
1480
1481
		(idIek1_T3_3, sT3_2) 
1482
	= T3_b_en(idIek1_T3_2, sT3_1, false);
1483
		
1484
1485
	(idIek1_T3, sT3) 
1486
	=  (idIek1_T3_3, sT3_2);
1487
1488
1489
	tel
1490
1491
	until true restart POINTIek1_T3
1492
1493
1494
1495
	state T3_D__TO__T3_B_1:
1496
1497
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1498
	sT3_2:real;
1499
	let
1500
1501
		-- transition trace :
1502
	--T3_d__To__T3_b_1
1503
		(idIek1_T3_2) 
1504
	= T3_d_ex(idIek1_T3_1, false);
1505
		
1506
1507
		(idIek1_T3_3, sT3_2) 
1508
	= T3_b_en(idIek1_T3_2, sT3_1, false);
1509
		
1510
1511
	(idIek1_T3, sT3) 
1512
	=  (idIek1_T3_3, sT3_2);
1513
1514
1515
	tel
1516
1517
	until true restart POINTIek1_T3
1518
1519
1520
1521
	state T3_B__TO__T3_A_1:
1522
1523
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1524
	sT3_2:real;
1525
	let
1526
1527
		-- transition trace :
1528
	--T3_b__To__T3_a_1
1529
		(idIek1_T3_2) 
1530
	= T3_b_ex(idIek1_T3_1, false);
1531
		
1532
1533
		(idIek1_T3_3, sT3_2) 
1534
	= T3_a_en(idIek1_T3_2, sT3_1, false);
1535
		
1536
1537
	(idIek1_T3, sT3) 
1538
	=  (idIek1_T3_3, sT3_2);
1539
1540
1541
	tel
1542
1543
	until true restart POINTIek1_T3
1544
1545
1546
1547
	state T3_B__TO__T3_C_2:
1548
1549
	 var 	idIek1_T3_2, idIek1_T3_3:int;
1550
	sT3_2:real;
1551
	let
1552
1553
		-- transition trace :
1554
	--T3_b__To__T3_c_2
1555
		(idIek1_T3_2) 
1556
	= T3_b_ex(idIek1_T3_1, false);
1557
		
1558
1559
		(idIek1_T3_3, sT3_2) 
1560
	= T3_c_en(idIek1_T3_2, sT3_1, false);
1561
		
1562
1563
	(idIek1_T3, sT3) 
1564
	=  (idIek1_T3_3, sT3_2);
1565
1566
1567
	tel
1568
1569
	until true restart POINTIek1_T3
1570
1571
1572
1573
	state T3_A_IDL:
1574
1575
	 	let
1576
1577
		
1578
1579
	(idIek1_T3, sT3) 
1580
	= (idIek1_T3_1, sT3_1);
1581
	
1582
1583
	tel
1584
1585
	until true restart POINTIek1_T3
1586
1587
1588
1589
	state T3_C_IDL:
1590
1591
	 	let
1592
1593
		
1594
1595
	(idIek1_T3, sT3) 
1596
	= (idIek1_T3_1, sT3_1);
1597
	
1598
1599
	tel
1600
1601
	until true restart POINTIek1_T3
1602
1603
1604
1605
	state T3_D_IDL:
1606
1607
	 	let
1608
1609
		
1610
1611
	(idIek1_T3, sT3) 
1612
	= (idIek1_T3_1, sT3_1);
1613
	
1614
1615
	tel
1616
1617
	until true restart POINTIek1_T3
1618
1619
1620
1621
	state T3_B_IDL:
1622
1623
	 	let
1624
1625
		
1626
1627
	(idIek1_T3, sT3) 
1628
	= (idIek1_T3_1, sT3_1);
1629
	
1630
1631
	tel
1632
1633
	until true restart POINTIek1_T3
1634
1635
1636
1637
tel
1638
1639
1640
--***************************************************State :Iek1_Iek1 Automaton***************************************************
1641
1642
node Iek1_Iek1_node(idIek1_Iek1_1:int;
1643
	idIek1_T1_1:int;
1644
	sT1_1:real;
1645
	idIek1_T2_1:int;
1646
	sT2_1:real;
1647
	idIek1_T3_1:int;
1648
	sT3_1:real;
1649
	E:bool;
1650
	F:bool)
1651
1652
returns (idIek1_Iek1:int;
1653
	idIek1_T1:int;
1654
	sT1:real;
1655
	idIek1_T2:int;
1656
	sT2:real;
1657
	idIek1_T3:int;
1658
	sT3:real);
1659
1660
1661
let
1662
1663
	 automaton iek1_iek1
1664
1665
	state POINTIek1_Iek1:
1666
	unless (idIek1_Iek1_1=0) restart IEK1_IEK1_PARALLEL_ENTRY
1667
	unless true  restart IEK1_IEK1_PARALLEL_IDL
1668
1669
	let
1670
1671
		(idIek1_Iek1, idIek1_T1, sT1, idIek1_T2, sT2, idIek1_T3, sT3) 
1672
	= (idIek1_Iek1_1, idIek1_T1_1, sT1_1, idIek1_T2_1, sT2_1, idIek1_T3_1, sT3_1);
1673
	
1674
1675
	tel
1676
1677
1678
1679
	state IEK1_IEK1_PARALLEL_ENTRY:
1680
1681
	 var 	idIek1_Iek1_2, idIek1_Iek1_3, idIek1_Iek1_4:int;
1682
	idIek1_T1_2:int;
1683
	sT1_2:real;
1684
	idIek1_T2_2:int;
1685
	sT2_2:real;
1686
	idIek1_T3_2:int;
1687
	sT3_2:real;
1688
	let
1689
1690
		
1691
	(idIek1_T1_2, idIek1_Iek1_2, sT1_2) 
1692
	= Iek1_T1_en(idIek1_T1_1, idIek1_Iek1_1, sT1_1, false);
1693
1694
	(idIek1_T2_2, idIek1_Iek1_3, sT2_2) 
1695
	= Iek1_T2_en(idIek1_T2_1, idIek1_Iek1_2, sT2_1, false);
1696
1697
	(idIek1_T3_2, idIek1_Iek1_4, sT3_2) 
1698
	= Iek1_T3_en(idIek1_T3_1, idIek1_Iek1_3, sT3_1, false);
1699
1700
1701
	(idIek1_Iek1, idIek1_T1, sT1, idIek1_T2, sT2, idIek1_T3, sT3) 
1702
	= (idIek1_Iek1_4, idIek1_T1_2, sT1_2, idIek1_T2_2, sT2_2, idIek1_T3_2, sT3_2);
1703
	
1704
1705
	tel
1706
1707
	until true restart POINTIek1_Iek1
1708
1709
1710
1711
	state IEK1_IEK1_PARALLEL_IDL:
1712
1713
	 var 	idIek1_T1_2:int;
1714
	sT1_2:real;
1715
	idIek1_T2_2:int;
1716
	sT2_2:real;
1717
	idIek1_T3_2:int;
1718
	sT3_2:real;
1719
	let
1720
1721
		
1722
1723
		(idIek1_T1_2, sT1_2)
1724
	= if not (idIek1_T1_1= 0 ) then Iek1_T1_node(idIek1_T1_1, sT1_1, E)
1725
1726
		 else (idIek1_T1_1, sT1_1);
1727
1728
		
1729
1730
		
1731
1732
		(idIek1_T2_2, sT2_2)
1733
	= if not (idIek1_T2_1= 0 ) then Iek1_T2_node(idIek1_T2_1, sT2_1, F)
1734
1735
		 else (idIek1_T2_1, sT2_1);
1736
1737
		
1738
1739
		
1740
1741
		(idIek1_T3_2, sT3_2)
1742
	= if not (idIek1_T3_1= 0 ) then Iek1_T3_node(idIek1_T3_1, sT3_1, idIek1_T1_2, idIek1_T2_2)
1743
1744
		 else (idIek1_T3_1, sT3_1);
1745
1746
		
1747
1748
		
1749
1750
	(idIek1_Iek1, idIek1_T1, sT1, idIek1_T2, sT2, idIek1_T3, sT3) 
1751
	= (idIek1_Iek1_1, idIek1_T1_2, sT1_2, idIek1_T2_2, sT2_2, idIek1_T3_2, sT3_2);
1752
	
1753
1754
	tel
1755
1756
	until true restart POINTIek1_Iek1
1757
1758
1759
1760
tel
1761
1762
1763
--***************************************************State :Iek1_Iek1 Automaton***************************************************
1764
1765
node Iek1_Iek1(E:bool;
1766
	F:bool)
1767
1768
returns (sT1:real;
1769
	sT2:real;
1770
	sT3:real);
1771
1772
1773
var sT1_1: real;
1774
1775
	sT2_1: real;
1776
1777
	sT3_1: real;
1778
1779
	idIek1_Iek1, idIek1_Iek1_1: int;
1780
1781
	idIek1_T2, idIek1_T2_1: int;
1782
1783
	idIek1_T1, idIek1_T1_1: int;
1784
1785
	idIek1_T3, idIek1_T3_1: int;
1786
1787
		idIek1_Iek1_2:int;
1788
	idIek1_T1_2:int;
1789
	sT1_2:real;
1790
	idIek1_T2_2:int;
1791
	sT2_2:real;
1792
	idIek1_T3_2:int;
1793
	sT3_2:real;
1794
let
1795
1796
	sT1_1 = 0.0 -> pre sT1;
1797
1798
	sT2_1 = 0.0 -> pre sT2;
1799
1800
	sT3_1 = 0.0 -> pre sT3;
1801
1802
	idIek1_Iek1_1 = 0 -> pre idIek1_Iek1;
1803
1804
	idIek1_T2_1 = 0 -> pre idIek1_T2;
1805
1806
	idIek1_T1_1 = 0 -> pre idIek1_T1;
1807
1808
	idIek1_T3_1 = 0 -> pre idIek1_T3;
1809
1810
	
1811
1812
1813
1814
	(idIek1_Iek1_2, idIek1_T1_2, sT1_2, idIek1_T2_2, sT2_2, idIek1_T3_2, sT3_2)
1815
	 = 
1816
1817
	 if E then Iek1_Iek1_node(idIek1_Iek1_1, idIek1_T1_1, sT1_1, idIek1_T2_1, sT2_1, idIek1_T3_1, sT3_1, E, false)
1818
1819
	 else (idIek1_Iek1_1, idIek1_T1_1, sT1_1, idIek1_T2_1, sT2_1, idIek1_T3_1, sT3_1);
1820
1821
	
1822
1823
1824
1825
	(idIek1_Iek1, idIek1_T1, sT1, idIek1_T2, sT2, idIek1_T3, sT3)
1826
	 = 
1827
1828
	 if F then Iek1_Iek1_node(idIek1_Iek1_2, idIek1_T1_2, sT1_2, idIek1_T2_2, sT2_2, idIek1_T3_2, sT3_2, false, F)
1829
1830
	 else (idIek1_Iek1_2, idIek1_T1_2, sT1_2, idIek1_T2_2, sT2_2, idIek1_T3_2, sT3_2);
1831
1832
	
1833
1834
1835
--unused outputs
1836
	
1837
1838
tel
1839
1840
1841
1842
node Iek1 (E_1_1 : real; F_1_1 : real)
1843
returns (sT1_1_1 : real;
1844
	sT2_2_1 : real;
1845
	sT3_3_1 : real); 
1846
var
1847
	Iek1_1_1 : real; Iek1_2_1 : real; Iek1_3_1 : real;
1848
	Mux_1_1 : real; Mux_1_2 : real;
1849
	i_virtual_local : real;
1850
	Iek1Mux_1_1_event: bool;
1851
	Iek1Mux_1_2_event: bool;
1852
let 
1853
	Iek1Mux_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));
1854
	Iek1Mux_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));
1855
	(Iek1_1_1, Iek1_2_1, Iek1_3_1) =  Iek1_Iek1(Iek1Mux_1_1_event, Iek1Mux_1_2_event);
1856
	Mux_1_1 = E_1_1 ;
1857
	Mux_1_2 = F_1_1 ;
1858
	sT1_1_1 = Iek1_1_1;
1859
	sT2_2_1 = Iek1_2_1;
1860
	sT3_3_1 = Iek1_3_1;
1861
	i_virtual_local= 0.0 -> 1.0;
1862
tel