Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_SetResetWaitOut / SetResetWaitOut.lus @ eb639349

History | View | Annotate | Download (12.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 :SetResetWaitOut_Wait
16
node SetResetWaitOut_Wait_en(idSetResetWaitOut_SetResetWaitOut_1:int;
17
	suspended_1:int;
18
	isInner:bool)
19

    
20
returns (idSetResetWaitOut_SetResetWaitOut:int;
21
	suspended:int);
22

    
23

    
24
var 	idSetResetWaitOut_SetResetWaitOut_2:int;
25
	suspended_2:int;
26

    
27

    
28
let
29

    
30

    
31

    
32
	-- set state as active 
33
	idSetResetWaitOut_SetResetWaitOut_2 
34
	= 1769;
35
	
36

    
37
	suspended_2 
38
	= if (not isInner) then 1
39
	 else suspended_1;
40
	
41

    
42
	(idSetResetWaitOut_SetResetWaitOut, suspended) 
43
	= (idSetResetWaitOut_SetResetWaitOut_2, suspended_2);
44
	
45

    
46
tel
47

    
48

    
49

    
50

    
51

    
52
-- Exit action for state :SetResetWaitOut_Wait
53
node SetResetWaitOut_Wait_ex(suspended_1:int;
54
	idSetResetWaitOut_SetResetWaitOut_1:int;
55
	isInner:bool)
56

    
57
returns (suspended:int;
58
	idSetResetWaitOut_SetResetWaitOut:int);
59

    
60

    
61
var 	suspended_2:int;
62
	idSetResetWaitOut_SetResetWaitOut_2:int;
63

    
64

    
65
let
66

    
67

    
68

    
69
	suspended_2 
70
	= if (not isInner) then 0
71
	 else suspended_1;
72
	
73

    
74
	-- set state as inactive 
75
	idSetResetWaitOut_SetResetWaitOut_2
76
	 = if (not isInner) then 0 else idSetResetWaitOut_SetResetWaitOut_1;
77

    
78

    
79
	(suspended, idSetResetWaitOut_SetResetWaitOut) 
80
	= (suspended_2, idSetResetWaitOut_SetResetWaitOut_1);
81
	
82

    
83
tel
84

    
85

    
86

    
87

    
88

    
89

    
90
-- Entry action for state :SetResetWaitOut_Off
91
node SetResetWaitOut_Off_en(idSetResetWaitOut_SetResetWaitOut_1:int;
92
	on_off_1:int;
93
	isInner:bool)
94

    
95
returns (idSetResetWaitOut_SetResetWaitOut:int;
96
	on_off:int);
97

    
98

    
99
var 	idSetResetWaitOut_SetResetWaitOut_2:int;
100
	on_off_2:int;
101

    
102

    
103
let
104

    
105

    
106

    
107
	-- set state as active 
108
	idSetResetWaitOut_SetResetWaitOut_2 
109
	= 1770;
110
	
111

    
112
	on_off_2 
113
	= if (not isInner) then 0
114
	 else on_off_1;
115
	
116

    
117
	(idSetResetWaitOut_SetResetWaitOut, on_off) 
118
	= (idSetResetWaitOut_SetResetWaitOut_2, on_off_2);
119
	
120

    
121
tel
122

    
123

    
124

    
125

    
126

    
127
-- Exit action for state :SetResetWaitOut_Off
128
node SetResetWaitOut_Off_ex(idSetResetWaitOut_SetResetWaitOut_1:int;
129
	isInner:bool)
130

    
131
returns (idSetResetWaitOut_SetResetWaitOut:int);
132

    
133

    
134
var 	idSetResetWaitOut_SetResetWaitOut_2:int;
135

    
136

    
137
let
138

    
139

    
140

    
141
	-- set state as inactive 
142
	idSetResetWaitOut_SetResetWaitOut_2
143
	 = if (not isInner) then 0 else idSetResetWaitOut_SetResetWaitOut_1;
144

    
145

    
146
	(idSetResetWaitOut_SetResetWaitOut) 
147
	= (idSetResetWaitOut_SetResetWaitOut_1);
148
	
149

    
150
tel
151

    
152

    
153

    
154

    
155

    
156

    
157
-- Entry action for state :SetResetWaitOut_On
158
node SetResetWaitOut_On_en(idSetResetWaitOut_SetResetWaitOut_1:int;
159
	on_off_1:int;
160
	isInner:bool)
161

    
162
returns (idSetResetWaitOut_SetResetWaitOut:int;
163
	on_off:int);
164

    
165

    
166
var 	idSetResetWaitOut_SetResetWaitOut_2:int;
167
	on_off_2:int;
168

    
169

    
170
let
171

    
172

    
173

    
174
	-- set state as active 
175
	idSetResetWaitOut_SetResetWaitOut_2 
176
	= 1771;
177
	
178

    
179
	on_off_2 
180
	= if (not isInner) then 1
181
	 else on_off_1;
182
	
183

    
184
	(idSetResetWaitOut_SetResetWaitOut, on_off) 
185
	= (idSetResetWaitOut_SetResetWaitOut_2, on_off_2);
186
	
187

    
188
tel
189

    
190

    
191

    
192

    
193

    
194
-- Exit action for state :SetResetWaitOut_On
195
node SetResetWaitOut_On_ex(idSetResetWaitOut_SetResetWaitOut_1:int;
196
	isInner:bool)
197

    
198
returns (idSetResetWaitOut_SetResetWaitOut:int);
199

    
200

    
201
var 	idSetResetWaitOut_SetResetWaitOut_2:int;
202

    
203

    
204
let
205

    
206

    
207

    
208
	-- set state as inactive 
209
	idSetResetWaitOut_SetResetWaitOut_2
210
	 = if (not isInner) then 0 else idSetResetWaitOut_SetResetWaitOut_1;
211

    
212

    
213
	(idSetResetWaitOut_SetResetWaitOut) 
214
	= (idSetResetWaitOut_SetResetWaitOut_1);
215
	
216

    
217
tel
218

    
219

    
220
--***************************************************State :SetResetWaitOut_SetResetWaitOut Automaton***************************************************
221

    
222
node SetResetWaitOut_SetResetWaitOut_node(idSetResetWaitOut_SetResetWaitOut_1:int;
223
	on_off_1:int;
224
	Clear:bool;
225
	suspended_1:int;
226
	Set:bool;
227
	Suspend:bool;
228
	Reset:bool)
229

    
230
returns (idSetResetWaitOut_SetResetWaitOut:int;
231
	on_off:int;
232
	suspended:int);
233

    
234

    
235
let
236

    
237
	 automaton setresetwaitout_setresetwaitout
238

    
239
	state POINTSetResetWaitOut_SetResetWaitOut:
240
	unless (idSetResetWaitOut_SetResetWaitOut_1=0) restart POINT__TO__SETRESETWAITOUT_OFF_1
241

    
242

    
243

    
244
	unless (idSetResetWaitOut_SetResetWaitOut_1=1769) and Clear restart SETRESETWAITOUT_WAIT__TO__SETRESETWAITOUT_OFF_1
245

    
246

    
247

    
248
	unless (idSetResetWaitOut_SetResetWaitOut_1=1770) and Set restart SETRESETWAITOUT_OFF__TO__SETRESETWAITOUT_ON_1
249

    
250

    
251

    
252
	unless (idSetResetWaitOut_SetResetWaitOut_1=1770) and Suspend restart SETRESETWAITOUT_OFF__TO__SETRESETWAITOUT_WAIT_2
253

    
254

    
255

    
256
	unless (idSetResetWaitOut_SetResetWaitOut_1=1771) and Suspend restart SETRESETWAITOUT_ON__TO__SETRESETWAITOUT_WAIT_1
257

    
258

    
259

    
260
	unless (idSetResetWaitOut_SetResetWaitOut_1=1771) and Reset restart SETRESETWAITOUT_ON__TO__SETRESETWAITOUT_OFF_2
261

    
262

    
263

    
264
	unless (idSetResetWaitOut_SetResetWaitOut_1=1769) restart SETRESETWAITOUT_WAIT_IDL
265

    
266
	unless (idSetResetWaitOut_SetResetWaitOut_1=1770) restart SETRESETWAITOUT_OFF_IDL
267

    
268
	unless (idSetResetWaitOut_SetResetWaitOut_1=1771) restart SETRESETWAITOUT_ON_IDL
269

    
270
	let
271

    
272
		(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
273
	= (idSetResetWaitOut_SetResetWaitOut_1, on_off_1, suspended_1);
274
	
275

    
276
	tel
277

    
278

    
279

    
280
	state POINT__TO__SETRESETWAITOUT_OFF_1:
281

    
282
	 var 	idSetResetWaitOut_SetResetWaitOut_2:int;
283
	on_off_2:int;
284
	let
285

    
286
		-- transition trace :
287
	--POINT__To__SetResetWaitOut_Off_1
288
		(idSetResetWaitOut_SetResetWaitOut_2, on_off_2) 
289
	= SetResetWaitOut_Off_en(idSetResetWaitOut_SetResetWaitOut_1, on_off_1, false);
290
		
291

    
292
	(idSetResetWaitOut_SetResetWaitOut, on_off) 
293
	=  (idSetResetWaitOut_SetResetWaitOut_2, on_off_2);
294

    
295
	--add unused variables
296
	(suspended) 
297
	= (suspended_1);
298
	
299

    
300
	tel
301

    
302
	until true restart POINTSetResetWaitOut_SetResetWaitOut
303

    
304

    
305

    
306
	state SETRESETWAITOUT_WAIT__TO__SETRESETWAITOUT_OFF_1:
307

    
308
	 var 	idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3:int;
309
	on_off_2:int;
310
	suspended_2:int;
311
	let
312

    
313
		-- transition trace :
314
	--SetResetWaitOut_Wait__To__SetResetWaitOut_Off_1
315
		(suspended_2, idSetResetWaitOut_SetResetWaitOut_2) 
316
	= SetResetWaitOut_Wait_ex(suspended_1, idSetResetWaitOut_SetResetWaitOut_1, false);
317
		
318

    
319
		(idSetResetWaitOut_SetResetWaitOut_3, on_off_2) 
320
	= SetResetWaitOut_Off_en(idSetResetWaitOut_SetResetWaitOut_2, on_off_1, false);
321
		
322

    
323
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
324
	=  (idSetResetWaitOut_SetResetWaitOut_3, on_off_2, suspended_2);
325

    
326

    
327
	tel
328

    
329
	until true restart POINTSetResetWaitOut_SetResetWaitOut
330

    
331

    
332

    
333
	state SETRESETWAITOUT_OFF__TO__SETRESETWAITOUT_ON_1:
334

    
335
	 var 	idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3:int;
336
	on_off_2:int;
337
	let
338

    
339
		-- transition trace :
340
	--SetResetWaitOut_Off__To__SetResetWaitOut_On_1
341
		(idSetResetWaitOut_SetResetWaitOut_2) 
342
	= SetResetWaitOut_Off_ex(idSetResetWaitOut_SetResetWaitOut_1, false);
343
		
344

    
345
		(idSetResetWaitOut_SetResetWaitOut_3, on_off_2) 
346
	= SetResetWaitOut_On_en(idSetResetWaitOut_SetResetWaitOut_2, on_off_1, false);
347
		
348

    
349
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
350
	=  (idSetResetWaitOut_SetResetWaitOut_3, on_off_2, suspended_1);
351

    
352

    
353
	tel
354

    
355
	until true restart POINTSetResetWaitOut_SetResetWaitOut
356

    
357

    
358

    
359
	state SETRESETWAITOUT_OFF__TO__SETRESETWAITOUT_WAIT_2:
360

    
361
	 var 	idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3:int;
362
	suspended_2:int;
363
	let
364

    
365
		-- transition trace :
366
	--SetResetWaitOut_Off__To__SetResetWaitOut_Wait_2
367
		(idSetResetWaitOut_SetResetWaitOut_2) 
368
	= SetResetWaitOut_Off_ex(idSetResetWaitOut_SetResetWaitOut_1, false);
369
		
370

    
371
		(idSetResetWaitOut_SetResetWaitOut_3, suspended_2) 
372
	= SetResetWaitOut_Wait_en(idSetResetWaitOut_SetResetWaitOut_2, suspended_1, false);
373
		
374

    
375
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
376
	=  (idSetResetWaitOut_SetResetWaitOut_3, on_off_1, suspended_2);
377

    
378

    
379
	tel
380

    
381
	until true restart POINTSetResetWaitOut_SetResetWaitOut
382

    
383

    
384

    
385
	state SETRESETWAITOUT_ON__TO__SETRESETWAITOUT_WAIT_1:
386

    
387
	 var 	idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3:int;
388
	suspended_2:int;
389
	let
390

    
391
		-- transition trace :
392
	--SetResetWaitOut_On__To__SetResetWaitOut_Wait_1
393
		(idSetResetWaitOut_SetResetWaitOut_2) 
394
	= SetResetWaitOut_On_ex(idSetResetWaitOut_SetResetWaitOut_1, false);
395
		
396

    
397
		(idSetResetWaitOut_SetResetWaitOut_3, suspended_2) 
398
	= SetResetWaitOut_Wait_en(idSetResetWaitOut_SetResetWaitOut_2, suspended_1, false);
399
		
400

    
401
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
402
	=  (idSetResetWaitOut_SetResetWaitOut_3, on_off_1, suspended_2);
403

    
404

    
405
	tel
406

    
407
	until true restart POINTSetResetWaitOut_SetResetWaitOut
408

    
409

    
410

    
411
	state SETRESETWAITOUT_ON__TO__SETRESETWAITOUT_OFF_2:
412

    
413
	 var 	idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3:int;
414
	on_off_2:int;
415
	let
416

    
417
		-- transition trace :
418
	--SetResetWaitOut_On__To__SetResetWaitOut_Off_2
419
		(idSetResetWaitOut_SetResetWaitOut_2) 
420
	= SetResetWaitOut_On_ex(idSetResetWaitOut_SetResetWaitOut_1, false);
421
		
422

    
423
		(idSetResetWaitOut_SetResetWaitOut_3, on_off_2) 
424
	= SetResetWaitOut_Off_en(idSetResetWaitOut_SetResetWaitOut_2, on_off_1, false);
425
		
426

    
427
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
428
	=  (idSetResetWaitOut_SetResetWaitOut_3, on_off_2, suspended_1);
429

    
430

    
431
	tel
432

    
433
	until true restart POINTSetResetWaitOut_SetResetWaitOut
434

    
435

    
436

    
437
	state SETRESETWAITOUT_WAIT_IDL:
438

    
439
	 	let
440

    
441
		
442

    
443
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
444
	= (idSetResetWaitOut_SetResetWaitOut_1, on_off_1, suspended_1);
445
	
446

    
447
	tel
448

    
449
	until true restart POINTSetResetWaitOut_SetResetWaitOut
450

    
451

    
452

    
453
	state SETRESETWAITOUT_OFF_IDL:
454

    
455
	 	let
456

    
457
		
458

    
459
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
460
	= (idSetResetWaitOut_SetResetWaitOut_1, on_off_1, suspended_1);
461
	
462

    
463
	tel
464

    
465
	until true restart POINTSetResetWaitOut_SetResetWaitOut
466

    
467

    
468

    
469
	state SETRESETWAITOUT_ON_IDL:
470

    
471
	 	let
472

    
473
		
474

    
475
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended) 
476
	= (idSetResetWaitOut_SetResetWaitOut_1, on_off_1, suspended_1);
477
	
478

    
479
	tel
480

    
481
	until true restart POINTSetResetWaitOut_SetResetWaitOut
482

    
483

    
484

    
485
tel
486

    
487

    
488
--***************************************************State :SetResetWaitOut_SetResetWaitOut Automaton***************************************************
489

    
490
node SetResetWaitOut_SetResetWaitOut(off_val:int;
491
	on_val:int;
492
	Clear:bool;
493
	Reset:bool;
494
	Set:bool;
495
	Suspend:bool)
496

    
497
returns (on_off:int;
498
	suspended:int);
499

    
500

    
501
var on_off_1: int;
502

    
503
	suspended_1: int;
504

    
505
	idSetResetWaitOut_SetResetWaitOut, idSetResetWaitOut_SetResetWaitOut_1: int;
506

    
507
		idSetResetWaitOut_SetResetWaitOut_2, idSetResetWaitOut_SetResetWaitOut_3, idSetResetWaitOut_SetResetWaitOut_4:int;
508
	on_off_2, on_off_3, on_off_4:int;
509
	suspended_2, suspended_3, suspended_4:int;
510
let
511

    
512
	on_off_1 = 0 -> pre on_off;
513

    
514
	suspended_1 = 0 -> pre suspended;
515

    
516
	idSetResetWaitOut_SetResetWaitOut_1 = 0 -> pre idSetResetWaitOut_SetResetWaitOut;
517

    
518
	
519

    
520

    
521

    
522
	(idSetResetWaitOut_SetResetWaitOut_2, on_off_2, suspended_2)
523
	 = 
524

    
525
	 if Clear then SetResetWaitOut_SetResetWaitOut_node(idSetResetWaitOut_SetResetWaitOut_1, on_off_1, Clear, suspended_1, false, false, false)
526

    
527
	 else (idSetResetWaitOut_SetResetWaitOut_1, on_off_1, suspended_1);
528

    
529
	
530

    
531

    
532

    
533
	(idSetResetWaitOut_SetResetWaitOut_3, on_off_3, suspended_3)
534
	 = 
535

    
536
	 if Reset then SetResetWaitOut_SetResetWaitOut_node(idSetResetWaitOut_SetResetWaitOut_2, on_off_2, false, suspended_2, false, false, Reset)
537

    
538
	 else (idSetResetWaitOut_SetResetWaitOut_2, on_off_2, suspended_2);
539

    
540
	
541

    
542

    
543

    
544
	(idSetResetWaitOut_SetResetWaitOut_4, on_off_4, suspended_4)
545
	 = 
546

    
547
	 if Set then SetResetWaitOut_SetResetWaitOut_node(idSetResetWaitOut_SetResetWaitOut_3, on_off_3, false, suspended_3, Set, false, false)
548

    
549
	 else (idSetResetWaitOut_SetResetWaitOut_3, on_off_3, suspended_3);
550

    
551
	
552

    
553

    
554

    
555
	(idSetResetWaitOut_SetResetWaitOut, on_off, suspended)
556
	 = 
557

    
558
	 if Suspend then SetResetWaitOut_SetResetWaitOut_node(idSetResetWaitOut_SetResetWaitOut_4, on_off_4, false, suspended_4, false, Suspend, false)
559

    
560
	 else (idSetResetWaitOut_SetResetWaitOut_4, on_off_4, suspended_4);
561

    
562
	
563

    
564

    
565
--unused outputs
566
	
567

    
568
tel
569

    
570

    
571

    
572
node SetResetWaitOut (clear_1_1 : real; reset_1_1 : real; set_1_1 : real; suspend_1_1 : real; off_val_1_1 : int; on_val_1_1 : int)
573
returns (on_off_1_1 : int;
574
	suspended_2_1 : int); 
575
var
576
	Mux_1_1 : real; Mux_1_2 : real; Mux_1_3 : real; Mux_1_4 : real;
577
	SetResetWaitOut_1_1 : int; SetResetWaitOut_2_1 : int;
578
	i_virtual_local : real;
579
	SetResetWaitOutMux_1_1_event: bool;
580
	SetResetWaitOutMux_1_2_event: bool;
581
	SetResetWaitOutMux_1_3_event: bool;
582
	SetResetWaitOutMux_1_4_event: bool;
583
let 
584
	Mux_1_1 = clear_1_1 ;
585
	Mux_1_2 = reset_1_1 ;
586
	Mux_1_3 = set_1_1 ;
587
	Mux_1_4 = suspend_1_1 ;
588
	SetResetWaitOutMux_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));
589
	SetResetWaitOutMux_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));
590
	SetResetWaitOutMux_1_3_event = false -> ((pre(Mux_1_3) > 0.0 and Mux_1_3 <= 0.0) or (pre(Mux_1_3) <= 0.0 and Mux_1_3 > 0.0));
591
	SetResetWaitOutMux_1_4_event = false -> ((pre(Mux_1_4) > 0.0 and Mux_1_4 <= 0.0) or (pre(Mux_1_4) <= 0.0 and Mux_1_4 > 0.0));
592
	(SetResetWaitOut_1_1, SetResetWaitOut_2_1) =  SetResetWaitOut_SetResetWaitOut(off_val_1_1, on_val_1_1, SetResetWaitOutMux_1_1_event, SetResetWaitOutMux_1_2_event, SetResetWaitOutMux_1_3_event, SetResetWaitOutMux_1_4_event);
593
	on_off_1_1 = SetResetWaitOut_1_1;
594
	suspended_2_1 = SetResetWaitOut_2_1;
595
	i_virtual_local= 0.0 -> 1.0;
596
tel
597