Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_Subsys1 / Subsys1.lus @ eb639349

History | View | Annotate | Download (31.5 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
-- Entry action for state :D_Da
16
node D_Da_en(idchart_D_1:int;
17
	x:int;
18
	d_1:int;
19
	isInner:bool)
20

    
21
returns (idchart_D:int;
22
	d:int);
23

    
24

    
25
var 	idchart_D_2:int;
26
	d_2:int;
27

    
28

    
29
let
30

    
31

    
32

    
33
	-- set state as active 
34
	idchart_D_2 
35
	= 1806;
36
	
37

    
38
	d_2 
39
	= if (not isInner) then x+7
40
	 else d_1;
41
	
42

    
43
	(idchart_D, d) 
44
	= (idchart_D_2, d_2);
45
	
46

    
47
tel
48

    
49

    
50

    
51

    
52

    
53
-- Exit action for state :D_Da
54
node D_Da_ex(idchart_D_1:int;
55
	isInner:bool)
56

    
57
returns (idchart_D:int);
58

    
59

    
60
var 	idchart_D_2:int;
61

    
62

    
63
let
64

    
65

    
66

    
67
	-- set state as inactive 
68
	idchart_D_2
69
	 = if (not isInner) then 0 else idchart_D_1;
70

    
71

    
72
	(idchart_D) 
73
	= (idchart_D_1);
74
	
75

    
76
tel
77

    
78

    
79

    
80

    
81

    
82

    
83
-- Entry action for state :D_Db
84
node D_Db_en(idchart_D_1:int;
85
	x:int;
86
	d_1:int;
87
	isInner:bool)
88

    
89
returns (idchart_D:int;
90
	d:int);
91

    
92

    
93
var 	idchart_D_2:int;
94
	d_2:int;
95

    
96

    
97
let
98

    
99

    
100

    
101
	-- set state as active 
102
	idchart_D_2 
103
	= 1807;
104
	
105

    
106
	d_2 
107
	= if (not isInner) then x+8
108
	 else d_1;
109
	
110

    
111
	(idchart_D, d) 
112
	= (idchart_D_2, d_2);
113
	
114

    
115
tel
116

    
117

    
118

    
119

    
120

    
121
-- Exit action for state :D_Db
122
node D_Db_ex(idchart_D_1:int;
123
	isInner:bool)
124

    
125
returns (idchart_D:int);
126

    
127

    
128
var 	idchart_D_2:int;
129

    
130

    
131
let
132

    
133

    
134

    
135
	-- set state as inactive 
136
	idchart_D_2
137
	 = if (not isInner) then 0 else idchart_D_1;
138

    
139

    
140
	(idchart_D) 
141
	= (idchart_D_1);
142
	
143

    
144
tel
145

    
146

    
147

    
148

    
149

    
150

    
151
-- Entry action for state :chart_D
152
node chart_D_en(idchart_D_1:int;
153
	idchart_chart_1:int;
154
	d_1:int;
155
	x:int;
156
	isInner:bool)
157

    
158
returns (idchart_D:int;
159
	idchart_chart:int;
160
	d:int);
161

    
162

    
163
var 	idchart_D_2, idchart_D_3, idchart_D_4, idchart_D_5, idchart_D_6:int;
164
	idchart_chart_2, idchart_chart_3, idchart_chart_4:int;
165
	d_2, d_3, d_4, d_5, d_6:int;
166

    
167

    
168
let
169

    
170

    
171

    
172
	-- set state as active 
173
	idchart_chart_2 
174
	= 1803;
175
	
176

    
177
	
178
-- transition trace :
179
	--POINT__To__D_Da_1
180
		(idchart_D_2, d_2) 
181
	= D_Da_en(idchart_D_1, x, d_1, false);
182
		
183

    
184
	(idchart_D_3, idchart_chart_3, d_3) 
185
	= 
186

    
187
	if ( idchart_D_1 = 0) then
188

    
189
	 (idchart_D_2, idchart_chart_2, d_2)
190

    
191
	 else(idchart_D_1, idchart_chart_2, d_1);
192

    
193
	
194

    
195
	(idchart_D_4, d_4) 
196
	= 
197
	if ( idchart_D_1 = 1806) then
198
	D_Da_en(idchart_D_1, x, d_1, false)
199
	 else (idchart_D_1, d_1);
200

    
201
	
202

    
203
	(idchart_D_5, d_5) 
204
	= 
205
	if ( idchart_D_1 = 1807) then
206
	D_Db_en(idchart_D_1, x, d_1, false)
207
	 else (idchart_D_1, d_1);
208

    
209
	
210

    
211
	(idchart_D_6, idchart_chart_4, d_6) 
212
	= 
213
		 if ( idchart_D_1 = 0) then 
214
		(idchart_D_3, idchart_chart_3, d_3)
215
		 else
216
		 if ( idchart_D_1 = 1806) then 
217
		(idchart_D_4, idchart_chart_3, d_4)
218
		 else
219
		 if ( idchart_D_1 = 1807) then 
220
		(idchart_D_5, idchart_chart_3, d_5)
221
		 else (idchart_D_1, idchart_chart_2, d_1);
222

    
223

    
224
	(idchart_D, idchart_chart, d) 
225
	= (idchart_D_6, idchart_chart_4, d_6);
226
	
227

    
228
tel
229

    
230

    
231

    
232

    
233

    
234
-- Exit action for state :chart_D
235
node chart_D_ex(idchart_D_1:int;
236
	idchart_chart_1:int;
237
	isInner:bool)
238

    
239
returns (idchart_D:int;
240
	idchart_chart:int);
241

    
242

    
243
var 	idchart_D_2, idchart_D_3, idchart_D_4, idchart_D_5:int;
244
	idchart_chart_2:int;
245

    
246

    
247
let
248

    
249

    
250

    
251
	
252
	(idchart_D_2) 
253
	= 
254
	if ( idchart_D_1 = 1806) then
255
	D_Da_ex(idchart_D_1, false)
256
	 else (idchart_D_1);
257

    
258
	
259

    
260
	(idchart_D_3) 
261
	= 
262
	if ( idchart_D_1 = 1807) then
263
	D_Db_ex(idchart_D_1, false)
264
	 else (idchart_D_1);
265

    
266
	
267

    
268
	(idchart_D_4) 
269
	= 
270
		 if ( idchart_D_1 = 1806) then 
271
		(idchart_D_2)
272
		 else
273
		 if ( idchart_D_1 = 1807) then 
274
		(idchart_D_3)
275
		 else (idchart_D_1);
276

    
277

    
278
	-- set state as inactive 
279
	idchart_chart_2
280
	 = if (not isInner) then 0 else idchart_chart_1;
281

    
282
	idchart_D_5 
283
	= 0;
284
	
285

    
286
	(idchart_D, idchart_chart) 
287
	= (idchart_D_5, idchart_chart_1);
288
	
289

    
290
tel
291

    
292

    
293

    
294

    
295

    
296

    
297
-- Entry action for state :C_Ca
298
node C_Ca_en(idchart_C_1:int;
299
	x:int;
300
	c_1:int;
301
	isInner:bool)
302

    
303
returns (idchart_C:int;
304
	c:int);
305

    
306

    
307
var 	idchart_C_2:int;
308
	c_2:int;
309

    
310

    
311
let
312

    
313

    
314

    
315
	-- set state as active 
316
	idchart_C_2 
317
	= 1804;
318
	
319

    
320
	c_2 
321
	= if (not isInner) then x+5
322
	 else c_1;
323
	
324

    
325
	(idchart_C, c) 
326
	= (idchart_C_2, c_2);
327
	
328

    
329
tel
330

    
331

    
332

    
333

    
334

    
335
-- Exit action for state :C_Ca
336
node C_Ca_ex(idchart_C_1:int;
337
	isInner:bool)
338

    
339
returns (idchart_C:int);
340

    
341

    
342
var 	idchart_C_2:int;
343

    
344

    
345
let
346

    
347

    
348

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

    
353

    
354
	(idchart_C) 
355
	= (idchart_C_1);
356
	
357

    
358
tel
359

    
360

    
361

    
362

    
363

    
364

    
365
-- Entry action for state :C_Cb
366
node C_Cb_en(idchart_C_1:int;
367
	x:int;
368
	c_1:int;
369
	isInner:bool)
370

    
371
returns (idchart_C:int;
372
	c:int);
373

    
374

    
375
var 	idchart_C_2:int;
376
	c_2:int;
377

    
378

    
379
let
380

    
381

    
382

    
383
	-- set state as active 
384
	idchart_C_2 
385
	= 1805;
386
	
387

    
388
	c_2 
389
	= if (not isInner) then x+6
390
	 else c_1;
391
	
392

    
393
	(idchart_C, c) 
394
	= (idchart_C_2, c_2);
395
	
396

    
397
tel
398

    
399

    
400

    
401

    
402

    
403
-- Exit action for state :C_Cb
404
node C_Cb_ex(idchart_C_1:int;
405
	isInner:bool)
406

    
407
returns (idchart_C:int);
408

    
409

    
410
var 	idchart_C_2:int;
411

    
412

    
413
let
414

    
415

    
416

    
417
	-- set state as inactive 
418
	idchart_C_2
419
	 = if (not isInner) then 0 else idchart_C_1;
420

    
421

    
422
	(idchart_C) 
423
	= (idchart_C_1);
424
	
425

    
426
tel
427

    
428

    
429

    
430

    
431

    
432

    
433
-- Entry action for state :chart_C
434
node chart_C_en(idchart_C_1:int;
435
	idchart_chart_1:int;
436
	c_1:int;
437
	x:int;
438
	isInner:bool)
439

    
440
returns (idchart_C:int;
441
	idchart_chart:int;
442
	c:int);
443

    
444

    
445
var 	idchart_C_2, idchart_C_3, idchart_C_4, idchart_C_5, idchart_C_6:int;
446
	idchart_chart_2, idchart_chart_3, idchart_chart_4:int;
447
	c_2, c_3, c_4, c_5, c_6:int;
448

    
449

    
450
let
451

    
452

    
453

    
454
	-- set state as active 
455
	idchart_chart_2 
456
	= 1800;
457
	
458

    
459
	
460
-- transition trace :
461
	--POINT__To__C_Ca_1
462
		(idchart_C_2, c_2) 
463
	= C_Ca_en(idchart_C_1, x, c_1, false);
464
		
465

    
466
	(idchart_C_3, idchart_chart_3, c_3) 
467
	= 
468

    
469
	if ( idchart_C_1 = 0) then
470

    
471
	 (idchart_C_2, idchart_chart_2, c_2)
472

    
473
	 else(idchart_C_1, idchart_chart_2, c_1);
474

    
475
	
476

    
477
	(idchart_C_4, c_4) 
478
	= 
479
	if ( idchart_C_1 = 1804) then
480
	C_Ca_en(idchart_C_1, x, c_1, false)
481
	 else (idchart_C_1, c_1);
482

    
483
	
484

    
485
	(idchart_C_5, c_5) 
486
	= 
487
	if ( idchart_C_1 = 1805) then
488
	C_Cb_en(idchart_C_1, x, c_1, false)
489
	 else (idchart_C_1, c_1);
490

    
491
	
492

    
493
	(idchart_C_6, idchart_chart_4, c_6) 
494
	= 
495
		 if ( idchart_C_1 = 0) then 
496
		(idchart_C_3, idchart_chart_3, c_3)
497
		 else
498
		 if ( idchart_C_1 = 1804) then 
499
		(idchart_C_4, idchart_chart_3, c_4)
500
		 else
501
		 if ( idchart_C_1 = 1805) then 
502
		(idchart_C_5, idchart_chart_3, c_5)
503
		 else (idchart_C_1, idchart_chart_2, c_1);
504

    
505

    
506
	(idchart_C, idchart_chart, c) 
507
	= (idchart_C_6, idchart_chart_4, c_6);
508
	
509

    
510
tel
511

    
512

    
513

    
514

    
515

    
516
-- Exit action for state :chart_C
517
node chart_C_ex(idchart_C_1:int;
518
	idchart_chart_1:int;
519
	isInner:bool)
520

    
521
returns (idchart_C:int;
522
	idchart_chart:int);
523

    
524

    
525
var 	idchart_C_2, idchart_C_3, idchart_C_4, idchart_C_5:int;
526
	idchart_chart_2:int;
527

    
528

    
529
let
530

    
531

    
532

    
533
	
534
	(idchart_C_2) 
535
	= 
536
	if ( idchart_C_1 = 1804) then
537
	C_Ca_ex(idchart_C_1, false)
538
	 else (idchart_C_1);
539

    
540
	
541

    
542
	(idchart_C_3) 
543
	= 
544
	if ( idchart_C_1 = 1805) then
545
	C_Cb_ex(idchart_C_1, false)
546
	 else (idchart_C_1);
547

    
548
	
549

    
550
	(idchart_C_4) 
551
	= 
552
		 if ( idchart_C_1 = 1804) then 
553
		(idchart_C_2)
554
		 else
555
		 if ( idchart_C_1 = 1805) then 
556
		(idchart_C_3)
557
		 else (idchart_C_1);
558

    
559

    
560
	-- set state as inactive 
561
	idchart_chart_2
562
	 = if (not isInner) then 0 else idchart_chart_1;
563

    
564
	idchart_C_5 
565
	= 0;
566
	
567

    
568
	(idchart_C, idchart_chart) 
569
	= (idchart_C_5, idchart_chart_1);
570
	
571

    
572
tel
573

    
574

    
575

    
576

    
577

    
578

    
579
-- Entry action for state :B_Ba
580
node B_Ba_en(idchart_B_1:int;
581
	x:int;
582
	b_1:int;
583
	isInner:bool)
584

    
585
returns (idchart_B:int;
586
	b:int);
587

    
588

    
589
var 	idchart_B_2:int;
590
	b_2:int;
591

    
592

    
593
let
594

    
595

    
596

    
597
	-- set state as active 
598
	idchart_B_2 
599
	= 1801;
600
	
601

    
602
	b_2 
603
	= if (not isInner) then x+3
604
	 else b_1;
605
	
606

    
607
	(idchart_B, b) 
608
	= (idchart_B_2, b_2);
609
	
610

    
611
tel
612

    
613

    
614

    
615

    
616

    
617
-- Exit action for state :B_Ba
618
node B_Ba_ex(idchart_B_1:int;
619
	isInner:bool)
620

    
621
returns (idchart_B:int);
622

    
623

    
624
var 	idchart_B_2:int;
625

    
626

    
627
let
628

    
629

    
630

    
631
	-- set state as inactive 
632
	idchart_B_2
633
	 = if (not isInner) then 0 else idchart_B_1;
634

    
635

    
636
	(idchart_B) 
637
	= (idchart_B_1);
638
	
639

    
640
tel
641

    
642

    
643

    
644

    
645

    
646

    
647
-- Entry action for state :B_Bb
648
node B_Bb_en(idchart_B_1:int;
649
	x:int;
650
	b_1:int;
651
	isInner:bool)
652

    
653
returns (idchart_B:int;
654
	b:int);
655

    
656

    
657
var 	idchart_B_2:int;
658
	b_2:int;
659

    
660

    
661
let
662

    
663

    
664

    
665
	-- set state as active 
666
	idchart_B_2 
667
	= 1802;
668
	
669

    
670
	b_2 
671
	= if (not isInner) then x+4
672
	 else b_1;
673
	
674

    
675
	(idchart_B, b) 
676
	= (idchart_B_2, b_2);
677
	
678

    
679
tel
680

    
681

    
682

    
683

    
684

    
685
-- Exit action for state :B_Bb
686
node B_Bb_ex(idchart_B_1:int;
687
	isInner:bool)
688

    
689
returns (idchart_B:int);
690

    
691

    
692
var 	idchart_B_2:int;
693

    
694

    
695
let
696

    
697

    
698

    
699
	-- set state as inactive 
700
	idchart_B_2
701
	 = if (not isInner) then 0 else idchart_B_1;
702

    
703

    
704
	(idchart_B) 
705
	= (idchart_B_1);
706
	
707

    
708
tel
709

    
710

    
711

    
712

    
713

    
714

    
715
-- Entry action for state :chart_B
716
node chart_B_en(idchart_B_1:int;
717
	idchart_chart_1:int;
718
	b_1:int;
719
	x:int;
720
	isInner:bool)
721

    
722
returns (idchart_B:int;
723
	idchart_chart:int;
724
	b:int);
725

    
726

    
727
var 	idchart_B_2, idchart_B_3, idchart_B_4, idchart_B_5, idchart_B_6:int;
728
	idchart_chart_2, idchart_chart_3, idchart_chart_4:int;
729
	b_2, b_3, b_4, b_5, b_6:int;
730

    
731

    
732
let
733

    
734

    
735

    
736
	-- set state as active 
737
	idchart_chart_2 
738
	= 1797;
739
	
740

    
741
	
742
-- transition trace :
743
	--POINT__To__B_Ba_1
744
		(idchart_B_2, b_2) 
745
	= B_Ba_en(idchart_B_1, x, b_1, false);
746
		
747

    
748
	(idchart_B_3, idchart_chart_3, b_3) 
749
	= 
750

    
751
	if ( idchart_B_1 = 0) then
752

    
753
	 (idchart_B_2, idchart_chart_2, b_2)
754

    
755
	 else(idchart_B_1, idchart_chart_2, b_1);
756

    
757
	
758

    
759
	(idchart_B_4, b_4) 
760
	= 
761
	if ( idchart_B_1 = 1801) then
762
	B_Ba_en(idchart_B_1, x, b_1, false)
763
	 else (idchart_B_1, b_1);
764

    
765
	
766

    
767
	(idchart_B_5, b_5) 
768
	= 
769
	if ( idchart_B_1 = 1802) then
770
	B_Bb_en(idchart_B_1, x, b_1, false)
771
	 else (idchart_B_1, b_1);
772

    
773
	
774

    
775
	(idchart_B_6, idchart_chart_4, b_6) 
776
	= 
777
		 if ( idchart_B_1 = 0) then 
778
		(idchart_B_3, idchart_chart_3, b_3)
779
		 else
780
		 if ( idchart_B_1 = 1801) then 
781
		(idchart_B_4, idchart_chart_3, b_4)
782
		 else
783
		 if ( idchart_B_1 = 1802) then 
784
		(idchart_B_5, idchart_chart_3, b_5)
785
		 else (idchart_B_1, idchart_chart_2, b_1);
786

    
787

    
788
	(idchart_B, idchart_chart, b) 
789
	= (idchart_B_6, idchart_chart_4, b_6);
790
	
791

    
792
tel
793

    
794

    
795

    
796

    
797

    
798
-- Exit action for state :chart_B
799
node chart_B_ex(idchart_B_1:int;
800
	idchart_chart_1:int;
801
	isInner:bool)
802

    
803
returns (idchart_B:int;
804
	idchart_chart:int);
805

    
806

    
807
var 	idchart_B_2, idchart_B_3, idchart_B_4, idchart_B_5:int;
808
	idchart_chart_2:int;
809

    
810

    
811
let
812

    
813

    
814

    
815
	
816
	(idchart_B_2) 
817
	= 
818
	if ( idchart_B_1 = 1801) then
819
	B_Ba_ex(idchart_B_1, false)
820
	 else (idchart_B_1);
821

    
822
	
823

    
824
	(idchart_B_3) 
825
	= 
826
	if ( idchart_B_1 = 1802) then
827
	B_Bb_ex(idchart_B_1, false)
828
	 else (idchart_B_1);
829

    
830
	
831

    
832
	(idchart_B_4) 
833
	= 
834
		 if ( idchart_B_1 = 1801) then 
835
		(idchart_B_2)
836
		 else
837
		 if ( idchart_B_1 = 1802) then 
838
		(idchart_B_3)
839
		 else (idchart_B_1);
840

    
841

    
842
	-- set state as inactive 
843
	idchart_chart_2
844
	 = if (not isInner) then 0 else idchart_chart_1;
845

    
846
	idchart_B_5 
847
	= 0;
848
	
849

    
850
	(idchart_B, idchart_chart) 
851
	= (idchart_B_5, idchart_chart_1);
852
	
853

    
854
tel
855

    
856

    
857

    
858

    
859

    
860

    
861
-- Entry action for state :A_Aa
862
node A_Aa_en(idchart_A_1:int;
863
	x:int;
864
	a_1:int;
865
	isInner:bool)
866

    
867
returns (idchart_A:int;
868
	a:int);
869

    
870

    
871
var 	idchart_A_2:int;
872
	a_2:int;
873

    
874

    
875
let
876

    
877

    
878

    
879
	-- set state as active 
880
	idchart_A_2 
881
	= 1798;
882
	
883

    
884
	a_2 
885
	= if (not isInner) then x+1
886
	 else a_1;
887
	
888

    
889
	(idchart_A, a) 
890
	= (idchart_A_2, a_2);
891
	
892

    
893
tel
894

    
895

    
896

    
897

    
898

    
899
-- Exit action for state :A_Aa
900
node A_Aa_ex(idchart_A_1:int;
901
	isInner:bool)
902

    
903
returns (idchart_A:int);
904

    
905

    
906
var 	idchart_A_2:int;
907

    
908

    
909
let
910

    
911

    
912

    
913
	-- set state as inactive 
914
	idchart_A_2
915
	 = if (not isInner) then 0 else idchart_A_1;
916

    
917

    
918
	(idchart_A) 
919
	= (idchart_A_1);
920
	
921

    
922
tel
923

    
924

    
925

    
926

    
927

    
928

    
929
-- Entry action for state :A_Ab
930
node A_Ab_en(idchart_A_1:int;
931
	x:int;
932
	a_1:int;
933
	isInner:bool)
934

    
935
returns (idchart_A:int;
936
	a:int);
937

    
938

    
939
var 	idchart_A_2:int;
940
	a_2:int;
941

    
942

    
943
let
944

    
945

    
946

    
947
	-- set state as active 
948
	idchart_A_2 
949
	= 1799;
950
	
951

    
952
	a_2 
953
	= if (not isInner) then x+2
954
	 else a_1;
955
	
956

    
957
	(idchart_A, a) 
958
	= (idchart_A_2, a_2);
959
	
960

    
961
tel
962

    
963

    
964

    
965

    
966

    
967
-- Exit action for state :A_Ab
968
node A_Ab_ex(idchart_A_1:int;
969
	isInner:bool)
970

    
971
returns (idchart_A:int);
972

    
973

    
974
var 	idchart_A_2:int;
975

    
976

    
977
let
978

    
979

    
980

    
981
	-- set state as inactive 
982
	idchart_A_2
983
	 = if (not isInner) then 0 else idchart_A_1;
984

    
985

    
986
	(idchart_A) 
987
	= (idchart_A_1);
988
	
989

    
990
tel
991

    
992

    
993

    
994

    
995

    
996

    
997
-- Entry action for state :chart_A
998
node chart_A_en(idchart_A_1:int;
999
	idchart_chart_1:int;
1000
	a_1:int;
1001
	x:int;
1002
	isInner:bool)
1003

    
1004
returns (idchart_A:int;
1005
	idchart_chart:int;
1006
	a:int);
1007

    
1008

    
1009
var 	idchart_A_2, idchart_A_3, idchart_A_4, idchart_A_5, idchart_A_6:int;
1010
	idchart_chart_2, idchart_chart_3, idchart_chart_4:int;
1011
	a_2, a_3, a_4, a_5, a_6:int;
1012

    
1013

    
1014
let
1015

    
1016

    
1017

    
1018
	-- set state as active 
1019
	idchart_chart_2 
1020
	= 1796;
1021
	
1022

    
1023
	
1024
-- transition trace :
1025
	--POINT__To__A_Aa_1
1026
		(idchart_A_2, a_2) 
1027
	= A_Aa_en(idchart_A_1, x, a_1, false);
1028
		
1029

    
1030
	(idchart_A_3, idchart_chart_3, a_3) 
1031
	= 
1032

    
1033
	if ( idchart_A_1 = 0) then
1034

    
1035
	 (idchart_A_2, idchart_chart_2, a_2)
1036

    
1037
	 else(idchart_A_1, idchart_chart_2, a_1);
1038

    
1039
	
1040

    
1041
	(idchart_A_4, a_4) 
1042
	= 
1043
	if ( idchart_A_1 = 1798) then
1044
	A_Aa_en(idchart_A_1, x, a_1, false)
1045
	 else (idchart_A_1, a_1);
1046

    
1047
	
1048

    
1049
	(idchart_A_5, a_5) 
1050
	= 
1051
	if ( idchart_A_1 = 1799) then
1052
	A_Ab_en(idchart_A_1, x, a_1, false)
1053
	 else (idchart_A_1, a_1);
1054

    
1055
	
1056

    
1057
	(idchart_A_6, idchart_chart_4, a_6) 
1058
	= 
1059
		 if ( idchart_A_1 = 0) then 
1060
		(idchart_A_3, idchart_chart_3, a_3)
1061
		 else
1062
		 if ( idchart_A_1 = 1798) then 
1063
		(idchart_A_4, idchart_chart_3, a_4)
1064
		 else
1065
		 if ( idchart_A_1 = 1799) then 
1066
		(idchart_A_5, idchart_chart_3, a_5)
1067
		 else (idchart_A_1, idchart_chart_2, a_1);
1068

    
1069

    
1070
	(idchart_A, idchart_chart, a) 
1071
	= (idchart_A_6, idchart_chart_4, a_6);
1072
	
1073

    
1074
tel
1075

    
1076

    
1077

    
1078

    
1079

    
1080
-- Exit action for state :chart_A
1081
node chart_A_ex(idchart_A_1:int;
1082
	idchart_chart_1:int;
1083
	isInner:bool)
1084

    
1085
returns (idchart_A:int;
1086
	idchart_chart:int);
1087

    
1088

    
1089
var 	idchart_A_2, idchart_A_3, idchart_A_4, idchart_A_5:int;
1090
	idchart_chart_2:int;
1091

    
1092

    
1093
let
1094

    
1095

    
1096

    
1097
	
1098
	(idchart_A_2) 
1099
	= 
1100
	if ( idchart_A_1 = 1798) then
1101
	A_Aa_ex(idchart_A_1, false)
1102
	 else (idchart_A_1);
1103

    
1104
	
1105

    
1106
	(idchart_A_3) 
1107
	= 
1108
	if ( idchart_A_1 = 1799) then
1109
	A_Ab_ex(idchart_A_1, false)
1110
	 else (idchart_A_1);
1111

    
1112
	
1113

    
1114
	(idchart_A_4) 
1115
	= 
1116
		 if ( idchart_A_1 = 1798) then 
1117
		(idchart_A_2)
1118
		 else
1119
		 if ( idchart_A_1 = 1799) then 
1120
		(idchart_A_3)
1121
		 else (idchart_A_1);
1122

    
1123

    
1124
	-- set state as inactive 
1125
	idchart_chart_2
1126
	 = if (not isInner) then 0 else idchart_chart_1;
1127

    
1128
	idchart_A_5 
1129
	= 0;
1130
	
1131

    
1132
	(idchart_A, idchart_chart) 
1133
	= (idchart_A_5, idchart_chart_1);
1134
	
1135

    
1136
tel
1137

    
1138

    
1139
--***************************************************State :chart_D Automaton***************************************************
1140

    
1141
node chart_D_node(idchart_D_1:int;
1142
	d_1:int;
1143
	x:int;
1144
	S3:bool;
1145
	R3:bool)
1146

    
1147
returns (idchart_D:int;
1148
	d:int);
1149

    
1150

    
1151
let
1152

    
1153
	 automaton chart_d
1154

    
1155
	state POINTchart_D:
1156
	unless (idchart_D_1=0) restart POINT__TO__D_DA_1
1157

    
1158

    
1159

    
1160
	unless (idchart_D_1=1806) and S3 restart D_DA__TO__D_DB_1
1161

    
1162

    
1163

    
1164
	unless (idchart_D_1=1807) and R3 restart D_DB__TO__D_DA_1
1165

    
1166

    
1167

    
1168
	unless (idchart_D_1=1806) restart D_DA_IDL
1169

    
1170
	unless (idchart_D_1=1807) restart D_DB_IDL
1171

    
1172
	let
1173

    
1174
		(idchart_D, d) 
1175
	= (idchart_D_1, d_1);
1176
	
1177

    
1178
	tel
1179

    
1180

    
1181

    
1182
	state POINT__TO__D_DA_1:
1183

    
1184
	 var 	idchart_D_2:int;
1185
	d_2:int;
1186
	let
1187

    
1188
		-- transition trace :
1189
	--POINT__To__D_Da_1
1190
		(idchart_D_2, d_2) 
1191
	= D_Da_en(idchart_D_1, x, d_1, false);
1192
		
1193

    
1194
	(idchart_D, d) 
1195
	=  (idchart_D_2, d_2);
1196

    
1197

    
1198
	tel
1199

    
1200
	until true restart POINTchart_D
1201

    
1202

    
1203

    
1204
	state D_DA__TO__D_DB_1:
1205

    
1206
	 var 	idchart_D_2, idchart_D_3:int;
1207
	d_2:int;
1208
	let
1209

    
1210
		-- transition trace :
1211
	--D_Da__To__D_Db_1
1212
		(idchart_D_2) 
1213
	= D_Da_ex(idchart_D_1, false);
1214
		
1215

    
1216
		(idchart_D_3, d_2) 
1217
	= D_Db_en(idchart_D_2, x, d_1, false);
1218
		
1219

    
1220
	(idchart_D, d) 
1221
	=  (idchart_D_3, d_2);
1222

    
1223

    
1224
	tel
1225

    
1226
	until true restart POINTchart_D
1227

    
1228

    
1229

    
1230
	state D_DB__TO__D_DA_1:
1231

    
1232
	 var 	idchart_D_2, idchart_D_3:int;
1233
	d_2:int;
1234
	let
1235

    
1236
		-- transition trace :
1237
	--D_Db__To__D_Da_1
1238
		(idchart_D_2) 
1239
	= D_Db_ex(idchart_D_1, false);
1240
		
1241

    
1242
		(idchart_D_3, d_2) 
1243
	= D_Da_en(idchart_D_2, x, d_1, false);
1244
		
1245

    
1246
	(idchart_D, d) 
1247
	=  (idchart_D_3, d_2);
1248

    
1249

    
1250
	tel
1251

    
1252
	until true restart POINTchart_D
1253

    
1254

    
1255

    
1256
	state D_DA_IDL:
1257

    
1258
	 	let
1259

    
1260
		
1261

    
1262
	(idchart_D, d) 
1263
	= (idchart_D_1, d_1);
1264
	
1265

    
1266
	tel
1267

    
1268
	until true restart POINTchart_D
1269

    
1270

    
1271

    
1272
	state D_DB_IDL:
1273

    
1274
	 	let
1275

    
1276
		
1277

    
1278
	(idchart_D, d) 
1279
	= (idchart_D_1, d_1);
1280
	
1281

    
1282
	tel
1283

    
1284
	until true restart POINTchart_D
1285

    
1286

    
1287

    
1288
tel
1289

    
1290

    
1291

    
1292

    
1293

    
1294

    
1295
node C_Cb__To__C_Ca_1_Transition_Action(idchart_D_1:int;
1296
	d_1:int;
1297
	x:int;
1298
	S3:bool;
1299
	R3:bool)
1300

    
1301
returns (idchart_D:int;
1302
	d:int);
1303

    
1304

    
1305
var 	idchart_D_2:int;
1306
	d_2:int;
1307

    
1308

    
1309
let
1310

    
1311

    
1312

    
1313
	(idchart_D_2, d_2) 
1314
	= chart_D_node(idchart_D_1, d_1, x, S3, true);
1315
	
1316

    
1317
	(idchart_D, d) 
1318
	= (idchart_D_2, d_2);
1319
	
1320

    
1321
tel
1322

    
1323

    
1324

    
1325

    
1326

    
1327

    
1328
node C_Ca__To__C_Cb_1_Transition_Action(idchart_D_1:int;
1329
	d_1:int;
1330
	x:int;
1331
	S3:bool;
1332
	R3:bool)
1333

    
1334
returns (idchart_D:int;
1335
	d:int);
1336

    
1337

    
1338
var 	idchart_D_2:int;
1339
	d_2:int;
1340

    
1341

    
1342
let
1343

    
1344

    
1345

    
1346
	(idchart_D_2, d_2) 
1347
	= chart_D_node(idchart_D_1, d_1, x, true, R3);
1348
	
1349

    
1350
	(idchart_D, d) 
1351
	= (idchart_D_2, d_2);
1352
	
1353

    
1354
tel
1355

    
1356

    
1357
--***************************************************State :chart_C Automaton***************************************************
1358

    
1359
node chart_C_node(idchart_C_1:int;
1360
	c_1:int;
1361
	x:int;
1362
	S2:bool;
1363
	R3:bool;
1364
	S3:bool;
1365
	d_1:int;
1366
	idchart_D_1:int;
1367
	R2:bool)
1368

    
1369
returns (idchart_C:int;
1370
	c:int;
1371
	d:int;
1372
	idchart_D:int);
1373

    
1374

    
1375
let
1376

    
1377
	 automaton chart_c
1378

    
1379
	state POINTchart_C:
1380
	unless (idchart_C_1=0) restart POINT__TO__C_CA_1
1381

    
1382

    
1383

    
1384
	unless (idchart_C_1=1804) and S2 restart C_CA__TO__C_CB_1
1385

    
1386

    
1387

    
1388
	unless (idchart_C_1=1805) and R2 restart C_CB__TO__C_CA_1
1389

    
1390

    
1391

    
1392
	unless (idchart_C_1=1804) restart C_CA_IDL
1393

    
1394
	unless (idchart_C_1=1805) restart C_CB_IDL
1395

    
1396
	let
1397

    
1398
		(idchart_C, c, d, idchart_D) 
1399
	= (idchart_C_1, c_1, d_1, idchart_D_1);
1400
	
1401

    
1402
	tel
1403

    
1404

    
1405

    
1406
	state POINT__TO__C_CA_1:
1407

    
1408
	 var 	idchart_C_2:int;
1409
	c_2:int;
1410
	let
1411

    
1412
		-- transition trace :
1413
	--POINT__To__C_Ca_1
1414
		(idchart_C_2, c_2) 
1415
	= C_Ca_en(idchart_C_1, x, c_1, false);
1416
		
1417

    
1418
	(idchart_C, c) 
1419
	=  (idchart_C_2, c_2);
1420

    
1421
	--add unused variables
1422
	(d, idchart_D) 
1423
	= (d_1, idchart_D_1);
1424
	
1425

    
1426
	tel
1427

    
1428
	until true restart POINTchart_C
1429

    
1430

    
1431

    
1432
	state C_CA__TO__C_CB_1:
1433

    
1434
	 var 	idchart_C_2, idchart_C_3:int;
1435
	c_2:int;
1436
	d_2:int;
1437
	idchart_D_2:int;
1438
	let
1439

    
1440
		-- transition trace :
1441
	--C_Ca__To__C_Cb_1
1442
		(idchart_C_2) 
1443
	= C_Ca_ex(idchart_C_1, false);
1444
		
1445

    
1446
		(idchart_D_2, d_2) 
1447
	= C_Ca__To__C_Cb_1_Transition_Action(idchart_D_1, d_1, x, S3, R3);
1448
		
1449

    
1450
		(idchart_C_3, c_2) 
1451
	= C_Cb_en(idchart_C_2, x, c_1, false);
1452
		
1453

    
1454
	(idchart_C, c, d, idchart_D) 
1455
	=  (idchart_C_3, c_2, d_2, idchart_D_2);
1456

    
1457

    
1458
	tel
1459

    
1460
	until true restart POINTchart_C
1461

    
1462

    
1463

    
1464
	state C_CB__TO__C_CA_1:
1465

    
1466
	 var 	idchart_C_2, idchart_C_3:int;
1467
	c_2:int;
1468
	d_2:int;
1469
	idchart_D_2:int;
1470
	let
1471

    
1472
		-- transition trace :
1473
	--C_Cb__To__C_Ca_1
1474
		(idchart_C_2) 
1475
	= C_Cb_ex(idchart_C_1, false);
1476
		
1477

    
1478
		(idchart_D_2, d_2) 
1479
	= C_Cb__To__C_Ca_1_Transition_Action(idchart_D_1, d_1, x, S3, R3);
1480
		
1481

    
1482
		(idchart_C_3, c_2) 
1483
	= C_Ca_en(idchart_C_2, x, c_1, false);
1484
		
1485

    
1486
	(idchart_C, c, d, idchart_D) 
1487
	=  (idchart_C_3, c_2, d_2, idchart_D_2);
1488

    
1489

    
1490
	tel
1491

    
1492
	until true restart POINTchart_C
1493

    
1494

    
1495

    
1496
	state C_CA_IDL:
1497

    
1498
	 	let
1499

    
1500
		
1501

    
1502
	(idchart_C, c, d, idchart_D) 
1503
	= (idchart_C_1, c_1, d_1, idchart_D_1);
1504
	
1505

    
1506
	tel
1507

    
1508
	until true restart POINTchart_C
1509

    
1510

    
1511

    
1512
	state C_CB_IDL:
1513

    
1514
	 	let
1515

    
1516
		
1517

    
1518
	(idchart_C, c, d, idchart_D) 
1519
	= (idchart_C_1, c_1, d_1, idchart_D_1);
1520
	
1521

    
1522
	tel
1523

    
1524
	until true restart POINTchart_C
1525

    
1526

    
1527

    
1528
tel
1529

    
1530

    
1531

    
1532

    
1533

    
1534

    
1535
node B_Bb__To__B_Ba_1_Transition_Action(idchart_C_1:int;
1536
	c_1:int;
1537
	x:int;
1538
	S2:bool;
1539
	R3:bool;
1540
	S3:bool;
1541
	d_1:int;
1542
	idchart_D_1:int;
1543
	R2:bool)
1544

    
1545
returns (idchart_C:int;
1546
	c:int;
1547
	d:int;
1548
	idchart_D:int);
1549

    
1550

    
1551
var 	idchart_C_2:int;
1552
	c_2:int;
1553
	d_2:int;
1554
	idchart_D_2:int;
1555

    
1556

    
1557
let
1558

    
1559

    
1560

    
1561
	(idchart_C_2, c_2, d_2, idchart_D_2) 
1562
	= chart_C_node(idchart_C_1, c_1, x, S2, R3, S3, d_1, idchart_D_1, true);
1563
	
1564

    
1565
	(idchart_C, c, d, idchart_D) 
1566
	= (idchart_C_2, c_2, d_2, idchart_D_2);
1567
	
1568

    
1569
tel
1570

    
1571

    
1572

    
1573

    
1574

    
1575

    
1576
node B_Ba__To__B_Bb_1_Transition_Action(idchart_C_1:int;
1577
	c_1:int;
1578
	x:int;
1579
	S2:bool;
1580
	R3:bool;
1581
	S3:bool;
1582
	d_1:int;
1583
	idchart_D_1:int;
1584
	R2:bool)
1585

    
1586
returns (idchart_C:int;
1587
	c:int;
1588
	d:int;
1589
	idchart_D:int);
1590

    
1591

    
1592
var 	idchart_C_2:int;
1593
	c_2:int;
1594
	d_2:int;
1595
	idchart_D_2:int;
1596

    
1597

    
1598
let
1599

    
1600

    
1601

    
1602
	(idchart_C_2, c_2, d_2, idchart_D_2) 
1603
	= chart_C_node(idchart_C_1, c_1, x, true, R3, S3, d_1, idchart_D_1, R2);
1604
	
1605

    
1606
	(idchart_C, c, d, idchart_D) 
1607
	= (idchart_C_2, c_2, d_2, idchart_D_2);
1608
	
1609

    
1610
tel
1611

    
1612

    
1613
--***************************************************State :chart_B Automaton***************************************************
1614

    
1615
node chart_B_node(idchart_B_1:int;
1616
	b_1:int;
1617
	x:int;
1618
	S1:bool;
1619
	R2:bool;
1620
	R3:bool;
1621
	S2:bool;
1622
	S3:bool;
1623
	c_1:int;
1624
	d_1:int;
1625
	idchart_C_1:int;
1626
	idchart_D_1:int;
1627
	R1:bool)
1628

    
1629
returns (idchart_B:int;
1630
	b:int;
1631
	c:int;
1632
	d:int;
1633
	idchart_C:int;
1634
	idchart_D:int);
1635

    
1636

    
1637
let
1638

    
1639
	 automaton chart_b
1640

    
1641
	state POINTchart_B:
1642
	unless (idchart_B_1=0) restart POINT__TO__B_BA_1
1643

    
1644

    
1645

    
1646
	unless (idchart_B_1=1801) and S1 restart B_BA__TO__B_BB_1
1647

    
1648

    
1649

    
1650
	unless (idchart_B_1=1802) and R1 restart B_BB__TO__B_BA_1
1651

    
1652

    
1653

    
1654
	unless (idchart_B_1=1801) restart B_BA_IDL
1655

    
1656
	unless (idchart_B_1=1802) restart B_BB_IDL
1657

    
1658
	let
1659

    
1660
		(idchart_B, b, c, d, idchart_C, idchart_D) 
1661
	= (idchart_B_1, b_1, c_1, d_1, idchart_C_1, idchart_D_1);
1662
	
1663

    
1664
	tel
1665

    
1666

    
1667

    
1668
	state POINT__TO__B_BA_1:
1669

    
1670
	 var 	idchart_B_2:int;
1671
	b_2:int;
1672
	let
1673

    
1674
		-- transition trace :
1675
	--POINT__To__B_Ba_1
1676
		(idchart_B_2, b_2) 
1677
	= B_Ba_en(idchart_B_1, x, b_1, false);
1678
		
1679

    
1680
	(idchart_B, b) 
1681
	=  (idchart_B_2, b_2);
1682

    
1683
	--add unused variables
1684
	(c, d, idchart_C, idchart_D) 
1685
	= (c_1, d_1, idchart_C_1, idchart_D_1);
1686
	
1687

    
1688
	tel
1689

    
1690
	until true restart POINTchart_B
1691

    
1692

    
1693

    
1694
	state B_BA__TO__B_BB_1:
1695

    
1696
	 var 	idchart_B_2, idchart_B_3:int;
1697
	b_2:int;
1698
	c_2:int;
1699
	d_2:int;
1700
	idchart_C_2:int;
1701
	idchart_D_2:int;
1702
	let
1703

    
1704
		-- transition trace :
1705
	--B_Ba__To__B_Bb_1
1706
		(idchart_B_2) 
1707
	= B_Ba_ex(idchart_B_1, false);
1708
		
1709

    
1710
		(idchart_C_2, c_2, d_2, idchart_D_2) 
1711
	= B_Ba__To__B_Bb_1_Transition_Action(idchart_C_1, c_1, x, S2, R3, S3, d_1, idchart_D_1, R2);
1712
		
1713

    
1714
		(idchart_B_3, b_2) 
1715
	= B_Bb_en(idchart_B_2, x, b_1, false);
1716
		
1717

    
1718
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1719
	=  (idchart_B_3, b_2, c_2, d_2, idchart_C_2, idchart_D_2);
1720

    
1721

    
1722
	tel
1723

    
1724
	until true restart POINTchart_B
1725

    
1726

    
1727

    
1728
	state B_BB__TO__B_BA_1:
1729

    
1730
	 var 	idchart_B_2, idchart_B_3:int;
1731
	b_2:int;
1732
	c_2:int;
1733
	d_2:int;
1734
	idchart_C_2:int;
1735
	idchart_D_2:int;
1736
	let
1737

    
1738
		-- transition trace :
1739
	--B_Bb__To__B_Ba_1
1740
		(idchart_B_2) 
1741
	= B_Bb_ex(idchart_B_1, false);
1742
		
1743

    
1744
		(idchart_C_2, c_2, d_2, idchart_D_2) 
1745
	= B_Bb__To__B_Ba_1_Transition_Action(idchart_C_1, c_1, x, S2, R3, S3, d_1, idchart_D_1, R2);
1746
		
1747

    
1748
		(idchart_B_3, b_2) 
1749
	= B_Ba_en(idchart_B_2, x, b_1, false);
1750
		
1751

    
1752
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1753
	=  (idchart_B_3, b_2, c_2, d_2, idchart_C_2, idchart_D_2);
1754

    
1755

    
1756
	tel
1757

    
1758
	until true restart POINTchart_B
1759

    
1760

    
1761

    
1762
	state B_BA_IDL:
1763

    
1764
	 	let
1765

    
1766
		
1767

    
1768
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1769
	= (idchart_B_1, b_1, c_1, d_1, idchart_C_1, idchart_D_1);
1770
	
1771

    
1772
	tel
1773

    
1774
	until true restart POINTchart_B
1775

    
1776

    
1777

    
1778
	state B_BB_IDL:
1779

    
1780
	 	let
1781

    
1782
		
1783

    
1784
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1785
	= (idchart_B_1, b_1, c_1, d_1, idchart_C_1, idchart_D_1);
1786
	
1787

    
1788
	tel
1789

    
1790
	until true restart POINTchart_B
1791

    
1792

    
1793

    
1794
tel
1795

    
1796

    
1797

    
1798

    
1799

    
1800

    
1801
node A_Ab__To__A_Aa_1_Transition_Action(idchart_B_1:int;
1802
	b_1:int;
1803
	x:int;
1804
	S1:bool;
1805
	R2:bool;
1806
	R3:bool;
1807
	S2:bool;
1808
	S3:bool;
1809
	c_1:int;
1810
	d_1:int;
1811
	idchart_C_1:int;
1812
	idchart_D_1:int;
1813
	R1:bool)
1814

    
1815
returns (idchart_B:int;
1816
	b:int;
1817
	c:int;
1818
	d:int;
1819
	idchart_C:int;
1820
	idchart_D:int);
1821

    
1822

    
1823
var 	idchart_B_2:int;
1824
	b_2:int;
1825
	c_2:int;
1826
	d_2:int;
1827
	idchart_C_2:int;
1828
	idchart_D_2:int;
1829

    
1830

    
1831
let
1832

    
1833

    
1834

    
1835
	(idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2) 
1836
	= chart_B_node(idchart_B_1, b_1, x, S1, R2, R3, S2, S3, c_1, d_1, idchart_C_1, idchart_D_1, true);
1837
	
1838

    
1839
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1840
	= (idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2);
1841
	
1842

    
1843
tel
1844

    
1845

    
1846

    
1847

    
1848

    
1849

    
1850
node A_Aa__To__A_Ab_1_Transition_Action(idchart_B_1:int;
1851
	b_1:int;
1852
	x:int;
1853
	S1:bool;
1854
	R2:bool;
1855
	R3:bool;
1856
	S2:bool;
1857
	S3:bool;
1858
	c_1:int;
1859
	d_1:int;
1860
	idchart_C_1:int;
1861
	idchart_D_1:int;
1862
	R1:bool)
1863

    
1864
returns (idchart_B:int;
1865
	b:int;
1866
	c:int;
1867
	d:int;
1868
	idchart_C:int;
1869
	idchart_D:int);
1870

    
1871

    
1872
var 	idchart_B_2:int;
1873
	b_2:int;
1874
	c_2:int;
1875
	d_2:int;
1876
	idchart_C_2:int;
1877
	idchart_D_2:int;
1878

    
1879

    
1880
let
1881

    
1882

    
1883

    
1884
	(idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2) 
1885
	= chart_B_node(idchart_B_1, b_1, x, true, R2, R3, S2, S3, c_1, d_1, idchart_C_1, idchart_D_1, R1);
1886
	
1887

    
1888
	(idchart_B, b, c, d, idchart_C, idchart_D) 
1889
	= (idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2);
1890
	
1891

    
1892
tel
1893

    
1894

    
1895
--***************************************************State :chart_A Automaton***************************************************
1896

    
1897
node chart_A_node(idchart_A_1:int;
1898
	a_1:int;
1899
	x:int;
1900
	S:bool;
1901
	R1:bool;
1902
	R2:bool;
1903
	R3:bool;
1904
	S1:bool;
1905
	S2:bool;
1906
	S3:bool;
1907
	b_1:int;
1908
	c_1:int;
1909
	d_1:int;
1910
	idchart_B_1:int;
1911
	idchart_C_1:int;
1912
	idchart_D_1:int;
1913
	R:bool)
1914

    
1915
returns (idchart_A:int;
1916
	a:int;
1917
	b:int;
1918
	c:int;
1919
	d:int;
1920
	idchart_B:int;
1921
	idchart_C:int;
1922
	idchart_D:int);
1923

    
1924

    
1925
let
1926

    
1927
	 automaton chart_a
1928

    
1929
	state POINTchart_A:
1930
	unless (idchart_A_1=0) restart POINT__TO__A_AA_1
1931

    
1932

    
1933

    
1934
	unless (idchart_A_1=1798) and S restart A_AA__TO__A_AB_1
1935

    
1936

    
1937

    
1938
	unless (idchart_A_1=1799) and R restart A_AB__TO__A_AA_1
1939

    
1940

    
1941

    
1942
	unless (idchart_A_1=1798) restart A_AA_IDL
1943

    
1944
	unless (idchart_A_1=1799) restart A_AB_IDL
1945

    
1946
	let
1947

    
1948
		(idchart_A, a, b, c, d, idchart_B, idchart_C, idchart_D) 
1949
	= (idchart_A_1, a_1, b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1);
1950
	
1951

    
1952
	tel
1953

    
1954

    
1955

    
1956
	state POINT__TO__A_AA_1:
1957

    
1958
	 var 	idchart_A_2:int;
1959
	a_2:int;
1960
	let
1961

    
1962
		-- transition trace :
1963
	--POINT__To__A_Aa_1
1964
		(idchart_A_2, a_2) 
1965
	= A_Aa_en(idchart_A_1, x, a_1, false);
1966
		
1967

    
1968
	(idchart_A, a) 
1969
	=  (idchart_A_2, a_2);
1970

    
1971
	--add unused variables
1972
	(b, c, d, idchart_B, idchart_C, idchart_D) 
1973
	= (b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1);
1974
	
1975

    
1976
	tel
1977

    
1978
	until true restart POINTchart_A
1979

    
1980

    
1981

    
1982
	state A_AA__TO__A_AB_1:
1983

    
1984
	 var 	idchart_A_2, idchart_A_3:int;
1985
	a_2:int;
1986
	b_2:int;
1987
	c_2:int;
1988
	d_2:int;
1989
	idchart_B_2:int;
1990
	idchart_C_2:int;
1991
	idchart_D_2:int;
1992
	let
1993

    
1994
		-- transition trace :
1995
	--A_Aa__To__A_Ab_1
1996
		(idchart_A_2) 
1997
	= A_Aa_ex(idchart_A_1, false);
1998
		
1999

    
2000
		(idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2) 
2001
	= A_Aa__To__A_Ab_1_Transition_Action(idchart_B_1, b_1, x, S1, R2, R3, S2, S3, c_1, d_1, idchart_C_1, idchart_D_1, R1);
2002
		
2003

    
2004
		(idchart_A_3, a_2) 
2005
	= A_Ab_en(idchart_A_2, x, a_1, false);
2006
		
2007

    
2008
	(idchart_A, a, b, c, d, idchart_B, idchart_C, idchart_D) 
2009
	=  (idchart_A_3, a_2, b_2, c_2, d_2, idchart_B_2, idchart_C_2, idchart_D_2);
2010

    
2011

    
2012
	tel
2013

    
2014
	until true restart POINTchart_A
2015

    
2016

    
2017

    
2018
	state A_AB__TO__A_AA_1:
2019

    
2020
	 var 	idchart_A_2, idchart_A_3:int;
2021
	a_2:int;
2022
	b_2:int;
2023
	c_2:int;
2024
	d_2:int;
2025
	idchart_B_2:int;
2026
	idchart_C_2:int;
2027
	idchart_D_2:int;
2028
	let
2029

    
2030
		-- transition trace :
2031
	--A_Ab__To__A_Aa_1
2032
		(idchart_A_2) 
2033
	= A_Ab_ex(idchart_A_1, false);
2034
		
2035

    
2036
		(idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2) 
2037
	= A_Ab__To__A_Aa_1_Transition_Action(idchart_B_1, b_1, x, S1, R2, R3, S2, S3, c_1, d_1, idchart_C_1, idchart_D_1, R1);
2038
		
2039

    
2040
		(idchart_A_3, a_2) 
2041
	= A_Aa_en(idchart_A_2, x, a_1, false);
2042
		
2043

    
2044
	(idchart_A, a, b, c, d, idchart_B, idchart_C, idchart_D) 
2045
	=  (idchart_A_3, a_2, b_2, c_2, d_2, idchart_B_2, idchart_C_2, idchart_D_2);
2046

    
2047

    
2048
	tel
2049

    
2050
	until true restart POINTchart_A
2051

    
2052

    
2053

    
2054
	state A_AA_IDL:
2055

    
2056
	 	let
2057

    
2058
		
2059

    
2060
	(idchart_A, a, b, c, d, idchart_B, idchart_C, idchart_D) 
2061
	= (idchart_A_1, a_1, b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1);
2062
	
2063

    
2064
	tel
2065

    
2066
	until true restart POINTchart_A
2067

    
2068

    
2069

    
2070
	state A_AB_IDL:
2071

    
2072
	 	let
2073

    
2074
		
2075

    
2076
	(idchart_A, a, b, c, d, idchart_B, idchart_C, idchart_D) 
2077
	= (idchart_A_1, a_1, b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1);
2078
	
2079

    
2080
	tel
2081

    
2082
	until true restart POINTchart_A
2083

    
2084

    
2085

    
2086
tel
2087

    
2088

    
2089
--***************************************************State :chart_chart Automaton***************************************************
2090

    
2091
node chart_chart_node(idchart_chart_1:int;
2092
	a_1:int;
2093
	idchart_A_1:int;
2094
	x:int;
2095
	b_1:int;
2096
	idchart_B_1:int;
2097
	c_1:int;
2098
	idchart_C_1:int;
2099
	d_1:int;
2100
	idchart_D_1:int;
2101
	R:bool;
2102
	R1:bool;
2103
	R2:bool;
2104
	R3:bool;
2105
	S:bool;
2106
	S1:bool;
2107
	S2:bool;
2108
	S3:bool)
2109

    
2110
returns (idchart_chart:int;
2111
	a:int;
2112
	idchart_A:int;
2113
	b:int;
2114
	idchart_B:int;
2115
	c:int;
2116
	idchart_C:int;
2117
	d:int;
2118
	idchart_D:int);
2119

    
2120

    
2121
let
2122

    
2123
	 automaton chart_chart
2124

    
2125
	state POINTchart_chart:
2126
	unless (idchart_chart_1=0) restart CHART_CHART_PARALLEL_ENTRY
2127
	unless true  restart CHART_CHART_PARALLEL_IDL
2128

    
2129
	let
2130

    
2131
		(idchart_chart, a, idchart_A, b, idchart_B, c, idchart_C, d, idchart_D) 
2132
	= (idchart_chart_1, a_1, idchart_A_1, b_1, idchart_B_1, c_1, idchart_C_1, d_1, idchart_D_1);
2133
	
2134

    
2135
	tel
2136

    
2137

    
2138

    
2139
	state CHART_CHART_PARALLEL_ENTRY:
2140

    
2141
	 var 	idchart_chart_2, idchart_chart_3, idchart_chart_4, idchart_chart_5:int;
2142
	a_2:int;
2143
	idchart_A_2:int;
2144
	b_2:int;
2145
	idchart_B_2:int;
2146
	c_2:int;
2147
	idchart_C_2:int;
2148
	d_2:int;
2149
	idchart_D_2:int;
2150
	let
2151

    
2152
		
2153
	(idchart_A_2, idchart_chart_2, a_2) 
2154
	= chart_A_en(idchart_A_1, idchart_chart_1, a_1, x, false);
2155

    
2156
	(idchart_B_2, idchart_chart_3, b_2) 
2157
	= chart_B_en(idchart_B_1, idchart_chart_2, b_1, x, false);
2158

    
2159
	(idchart_C_2, idchart_chart_4, c_2) 
2160
	= chart_C_en(idchart_C_1, idchart_chart_3, c_1, x, false);
2161

    
2162
	(idchart_D_2, idchart_chart_5, d_2) 
2163
	= chart_D_en(idchart_D_1, idchart_chart_4, d_1, x, false);
2164

    
2165

    
2166
	(idchart_chart, a, idchart_A, b, idchart_B, c, idchart_C, d, idchart_D) 
2167
	= (idchart_chart_5, a_2, idchart_A_2, b_2, idchart_B_2, c_2, idchart_C_2, d_2, idchart_D_2);
2168
	
2169

    
2170
	tel
2171

    
2172
	until true restart POINTchart_chart
2173

    
2174

    
2175

    
2176
	state CHART_CHART_PARALLEL_IDL:
2177

    
2178
	 var 	a_2:int;
2179
	idchart_A_2:int;
2180
	b_2, b_3:int;
2181
	idchart_B_2, idchart_B_3:int;
2182
	c_2, c_3, c_4:int;
2183
	idchart_C_2, idchart_C_3, idchart_C_4:int;
2184
	d_2, d_3, d_4, d_5:int;
2185
	idchart_D_2, idchart_D_3, idchart_D_4, idchart_D_5:int;
2186
	let
2187

    
2188
		
2189

    
2190
		(idchart_A_2, a_2, b_2, c_2, d_2, idchart_B_2, idchart_C_2, idchart_D_2)
2191
	= if not (idchart_A_1= 0 ) then chart_A_node(idchart_A_1, a_1, x, S, R1, R2, R3, S1, S2, S3, b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1, R)
2192

    
2193
		 else (idchart_A_1, a_1, b_1, c_1, d_1, idchart_B_1, idchart_C_1, idchart_D_1);
2194

    
2195
		
2196

    
2197
		
2198

    
2199
		(idchart_B_3, b_3, c_3, d_3, idchart_C_3, idchart_D_3)
2200
	= if not (idchart_B_2= 0 ) then chart_B_node(idchart_B_2, b_2, x, S1, R2, R3, S2, S3, c_2, d_2, idchart_C_2, idchart_D_2, R1)
2201

    
2202
		 else (idchart_B_2, b_2, c_2, d_2, idchart_C_2, idchart_D_2);
2203

    
2204
		
2205

    
2206
		
2207

    
2208
		(idchart_C_4, c_4, d_4, idchart_D_4)
2209
	= if not (idchart_C_3= 0 ) then chart_C_node(idchart_C_3, c_3, x, S2, R3, S3, d_3, idchart_D_3, R2)
2210

    
2211
		 else (idchart_C_3, c_3, d_3, idchart_D_3);
2212

    
2213
		
2214

    
2215
		
2216

    
2217
		(idchart_D_5, d_5)
2218
	= if not (idchart_D_4= 0 ) then chart_D_node(idchart_D_4, d_4, x, S3, R3)
2219

    
2220
		 else (idchart_D_4, d_4);
2221

    
2222
		
2223

    
2224
		
2225

    
2226
	(idchart_chart, a, idchart_A, b, idchart_B, c, idchart_C, d, idchart_D) 
2227
	= (idchart_chart_1, a_2, idchart_A_2, b_3, idchart_B_3, c_4, idchart_C_4, d_5, idchart_D_5);
2228
	
2229

    
2230
	tel
2231

    
2232
	until true restart POINTchart_chart
2233

    
2234

    
2235

    
2236
tel
2237

    
2238

    
2239
--***************************************************State :chart_chart Automaton***************************************************
2240

    
2241
node Subsys1_Odysssubsys_chart(x:int;
2242
	y:int;
2243
	R:bool;
2244
	S:bool)
2245

    
2246
returns (a:int;
2247
	b:int;
2248
	c:int;
2249
	d:int);
2250

    
2251

    
2252
var a_1: int;
2253

    
2254
	b_1: int;
2255

    
2256
	c_1: int;
2257

    
2258
	d_1: int;
2259

    
2260
	R1, R1_1: bool;
2261

    
2262
	R2, R2_1: bool;
2263

    
2264
	R3, R3_1: bool;
2265

    
2266
	S1, S1_1: bool;
2267

    
2268
	S2, S2_1: bool;
2269

    
2270
	S3, S3_1: bool;
2271

    
2272
	idchart_chart, idchart_chart_1: int;
2273

    
2274
	idchart_D, idchart_D_1: int;
2275

    
2276
	idchart_C, idchart_C_1: int;
2277

    
2278
	idchart_B, idchart_B_1: int;
2279

    
2280
	idchart_A, idchart_A_1: int;
2281

    
2282
		idchart_chart_2:int;
2283
	a_2:int;
2284
	idchart_A_2:int;
2285
	b_2:int;
2286
	idchart_B_2:int;
2287
	c_2:int;
2288
	idchart_C_2:int;
2289
	d_2:int;
2290
	idchart_D_2:int;
2291
let
2292

    
2293
	a_1 = 0 -> pre a;
2294

    
2295
	b_1 = 0 -> pre b;
2296

    
2297
	c_1 = 0 -> pre c;
2298

    
2299
	d_1 = 0 -> pre d;
2300

    
2301
	R1_1 = false -> pre R1;
2302

    
2303
	R2_1 = false -> pre R2;
2304

    
2305
	R3_1 = false -> pre R3;
2306

    
2307
	S1_1 = false -> pre S1;
2308

    
2309
	S2_1 = false -> pre S2;
2310

    
2311
	S3_1 = false -> pre S3;
2312

    
2313
	idchart_chart_1 = 0 -> pre idchart_chart;
2314

    
2315
	idchart_D_1 = 0 -> pre idchart_D;
2316

    
2317
	idchart_C_1 = 0 -> pre idchart_C;
2318

    
2319
	idchart_B_1 = 0 -> pre idchart_B;
2320

    
2321
	idchart_A_1 = 0 -> pre idchart_A;
2322

    
2323
	
2324

    
2325

    
2326

    
2327
	(idchart_chart_2, a_2, idchart_A_2, b_2, idchart_B_2, c_2, idchart_C_2, d_2, idchart_D_2)
2328
	 = 
2329

    
2330
	 if R then chart_chart_node(idchart_chart_1, a_1, idchart_A_1, x, b_1, idchart_B_1, c_1, idchart_C_1, d_1, idchart_D_1, R, R1, R2, R3, false, S1, S2, S3)
2331

    
2332
	 else (idchart_chart_1, a_1, idchart_A_1, b_1, idchart_B_1, c_1, idchart_C_1, d_1, idchart_D_1);
2333

    
2334
	
2335

    
2336

    
2337

    
2338
	(idchart_chart, a, idchart_A, b, idchart_B, c, idchart_C, d, idchart_D)
2339
	 = 
2340

    
2341
	 if S then chart_chart_node(idchart_chart_2, a_2, idchart_A_2, x, b_2, idchart_B_2, c_2, idchart_C_2, d_2, idchart_D_2, false, R1, R2, R3, S, S1, S2, S3)
2342

    
2343
	 else (idchart_chart_2, a_2, idchart_A_2, b_2, idchart_B_2, c_2, idchart_C_2, d_2, idchart_D_2);
2344

    
2345
	
2346

    
2347

    
2348
--unused outputs
2349
	R1 = false;
2350

    
2351
	R2 = false;
2352

    
2353
	R3 = false;
2354

    
2355
	S1 = false;
2356

    
2357
	S2 = false;
2358

    
2359
	S3 = false;
2360

    
2361
	
2362

    
2363
tel
2364

    
2365

    
2366

    
2367
node Subsys1 (R_1_1 : real; S_1_1 : real; In3_1_1 : int; In4_1_1 : int)
2368
returns (Out1_1_1 : int;
2369
	Out2_2_1 : int;
2370
	Out3_3_1 : int;
2371
	Out4_4_1 : int); 
2372
var
2373
	Odysssubsys_Mux_1_1 : real; Odysssubsys_Mux_1_2 : real;
2374
	Odysssubsys_UnitDelay_1_1 : int;
2375
	Odysssubsys_chart_1_1 : int; Odysssubsys_chart_2_1 : int; Odysssubsys_chart_3_1 : int; Odysssubsys_chart_4_1 : int;
2376
	i_virtual_local : real;
2377
	chartOdysssubsys_Mux_1_1_event: bool;
2378
	chartOdysssubsys_Mux_1_2_event: bool;
2379
let 
2380
	Out1_1_1 = Odysssubsys_chart_1_1;
2381
	Out2_2_1 = Odysssubsys_chart_2_1;
2382
	Odysssubsys_Mux_1_1 = R_1_1 ;
2383
	Odysssubsys_Mux_1_2 = S_1_1 ;
2384
	Odysssubsys_UnitDelay_1_1 = 0 -> pre In4_1_1;
2385
	chartOdysssubsys_Mux_1_1_event = false -> (pre(Odysssubsys_Mux_1_1) <= 0.0 and Odysssubsys_Mux_1_1 > 0.0);
2386
	chartOdysssubsys_Mux_1_2_event = false -> (pre(Odysssubsys_Mux_1_2) > 0.0 and Odysssubsys_Mux_1_2 <= 0.0);
2387
	(Odysssubsys_chart_1_1, Odysssubsys_chart_2_1, Odysssubsys_chart_3_1, Odysssubsys_chart_4_1) =  Subsys1_Odysssubsys_chart(In3_1_1, Odysssubsys_UnitDelay_1_1, chartOdysssubsys_Mux_1_1_event, chartOdysssubsys_Mux_1_2_event);
2388
	Out3_3_1 = Odysssubsys_chart_3_1;
2389
	Out4_4_1 = Odysssubsys_chart_4_1;
2390
	i_virtual_local= 0.0 -> 1.0;
2391
tel
2392