Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

lustrec-tests / regression_tests / lustre_files / success / Stateflow / src_SetResetWait / SetResetWait.lus @ eb639349

History | View | Annotate | Download (10.1 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 :SetResetWait_Wait
16
node SetResetWait_Wait_en(idSetResetWait_SetResetWait_1:int;
17
	s_1:real;
18
	isInner:bool)
19

    
20
returns (idSetResetWait_SetResetWait:int;
21
	s:real);
22

    
23

    
24
var 	idSetResetWait_SetResetWait_2:int;
25
	s_2:real;
26

    
27

    
28
let
29

    
30

    
31

    
32
	-- set state as active 
33
	idSetResetWait_SetResetWait_2 
34
	= 1753;
35
	
36

    
37
	s_2 
38
	= if (not isInner) then 2.
39
	 else s_1;
40
	
41

    
42
	(idSetResetWait_SetResetWait, s) 
43
	= (idSetResetWait_SetResetWait_2, s_2);
44
	
45

    
46
tel
47

    
48

    
49

    
50

    
51

    
52
-- Exit action for state :SetResetWait_Wait
53
node SetResetWait_Wait_ex(idSetResetWait_SetResetWait_1:int;
54
	isInner:bool)
55

    
56
returns (idSetResetWait_SetResetWait:int);
57

    
58

    
59
var 	idSetResetWait_SetResetWait_2:int;
60

    
61

    
62
let
63

    
64

    
65

    
66
	-- set state as inactive 
67
	idSetResetWait_SetResetWait_2
68
	 = if (not isInner) then 0 else idSetResetWait_SetResetWait_1;
69

    
70

    
71
	(idSetResetWait_SetResetWait) 
72
	= (idSetResetWait_SetResetWait_1);
73
	
74

    
75
tel
76

    
77

    
78

    
79

    
80

    
81

    
82
-- Entry action for state :SetResetWait_Off
83
node SetResetWait_Off_en(idSetResetWait_SetResetWait_1:int;
84
	s_1:real;
85
	isInner:bool)
86

    
87
returns (idSetResetWait_SetResetWait:int;
88
	s:real);
89

    
90

    
91
var 	idSetResetWait_SetResetWait_2:int;
92
	s_2:real;
93

    
94

    
95
let
96

    
97

    
98

    
99
	-- set state as active 
100
	idSetResetWait_SetResetWait_2 
101
	= 1752;
102
	
103

    
104
	s_2 
105
	= if (not isInner) then 3.
106
	 else s_1;
107
	
108

    
109
	(idSetResetWait_SetResetWait, s) 
110
	= (idSetResetWait_SetResetWait_2, s_2);
111
	
112

    
113
tel
114

    
115

    
116

    
117

    
118

    
119
-- Exit action for state :SetResetWait_Off
120
node SetResetWait_Off_ex(idSetResetWait_SetResetWait_1:int;
121
	isInner:bool)
122

    
123
returns (idSetResetWait_SetResetWait:int);
124

    
125

    
126
var 	idSetResetWait_SetResetWait_2:int;
127

    
128

    
129
let
130

    
131

    
132

    
133
	-- set state as inactive 
134
	idSetResetWait_SetResetWait_2
135
	 = if (not isInner) then 0 else idSetResetWait_SetResetWait_1;
136

    
137

    
138
	(idSetResetWait_SetResetWait) 
139
	= (idSetResetWait_SetResetWait_1);
140
	
141

    
142
tel
143

    
144

    
145

    
146

    
147

    
148

    
149
-- Entry action for state :SetResetWait_On
150
node SetResetWait_On_en(idSetResetWait_SetResetWait_1:int;
151
	s_1:real;
152
	isInner:bool)
153

    
154
returns (idSetResetWait_SetResetWait:int;
155
	s:real);
156

    
157

    
158
var 	idSetResetWait_SetResetWait_2:int;
159
	s_2:real;
160

    
161

    
162
let
163

    
164

    
165

    
166
	-- set state as active 
167
	idSetResetWait_SetResetWait_2 
168
	= 1751;
169
	
170

    
171
	s_2 
172
	= if (not isInner) then 1.
173
	 else s_1;
174
	
175

    
176
	(idSetResetWait_SetResetWait, s) 
177
	= (idSetResetWait_SetResetWait_2, s_2);
178
	
179

    
180
tel
181

    
182

    
183

    
184

    
185

    
186
-- Exit action for state :SetResetWait_On
187
node SetResetWait_On_ex(idSetResetWait_SetResetWait_1:int;
188
	isInner:bool)
189

    
190
returns (idSetResetWait_SetResetWait:int);
191

    
192

    
193
var 	idSetResetWait_SetResetWait_2:int;
194

    
195

    
196
let
197

    
198

    
199

    
200
	-- set state as inactive 
201
	idSetResetWait_SetResetWait_2
202
	 = if (not isInner) then 0 else idSetResetWait_SetResetWait_1;
203

    
204

    
205
	(idSetResetWait_SetResetWait) 
206
	= (idSetResetWait_SetResetWait_1);
207
	
208

    
209
tel
210

    
211

    
212
--***************************************************State :SetResetWait_SetResetWait Automaton***************************************************
213

    
214
node SetResetWait_SetResetWait_node(idSetResetWait_SetResetWait_1:int;
215
	s_1:real;
216
	Suspend:bool;
217
	Reset:bool;
218
	Set:bool;
219
	Clear:bool)
220

    
221
returns (idSetResetWait_SetResetWait:int;
222
	s:real);
223

    
224

    
225
let
226

    
227
	 automaton setresetwait_setresetwait
228

    
229
	state POINTSetResetWait_SetResetWait:
230
	unless (idSetResetWait_SetResetWait_1=0) restart POINT__TO__SETRESETWAIT_OFF_1
231

    
232

    
233

    
234
	unless (idSetResetWait_SetResetWait_1=1751) and Suspend restart SETRESETWAIT_ON__TO__SETRESETWAIT_WAIT_1
235

    
236

    
237

    
238
	unless (idSetResetWait_SetResetWait_1=1751) and Reset restart SETRESETWAIT_ON__TO__SETRESETWAIT_OFF_2
239

    
240

    
241

    
242
	unless (idSetResetWait_SetResetWait_1=1752) and Set restart SETRESETWAIT_OFF__TO__SETRESETWAIT_ON_1
243

    
244

    
245

    
246
	unless (idSetResetWait_SetResetWait_1=1752) and Suspend restart SETRESETWAIT_OFF__TO__SETRESETWAIT_WAIT_2
247

    
248

    
249

    
250
	unless (idSetResetWait_SetResetWait_1=1753) and Clear restart SETRESETWAIT_WAIT__TO__SETRESETWAIT_OFF_1
251

    
252

    
253

    
254
	unless (idSetResetWait_SetResetWait_1=1751) restart SETRESETWAIT_ON_IDL
255

    
256
	unless (idSetResetWait_SetResetWait_1=1752) restart SETRESETWAIT_OFF_IDL
257

    
258
	unless (idSetResetWait_SetResetWait_1=1753) restart SETRESETWAIT_WAIT_IDL
259

    
260
	let
261

    
262
		(idSetResetWait_SetResetWait, s) 
263
	= (idSetResetWait_SetResetWait_1, s_1);
264
	
265

    
266
	tel
267

    
268

    
269

    
270
	state POINT__TO__SETRESETWAIT_OFF_1:
271

    
272
	 var 	idSetResetWait_SetResetWait_2:int;
273
	s_2:real;
274
	let
275

    
276
		-- transition trace :
277
	--POINT__To__SetResetWait_Off_1
278
		(idSetResetWait_SetResetWait_2, s_2) 
279
	= SetResetWait_Off_en(idSetResetWait_SetResetWait_1, s_1, false);
280
		
281

    
282
	(idSetResetWait_SetResetWait, s) 
283
	=  (idSetResetWait_SetResetWait_2, s_2);
284

    
285

    
286
	tel
287

    
288
	until true restart POINTSetResetWait_SetResetWait
289

    
290

    
291

    
292
	state SETRESETWAIT_ON__TO__SETRESETWAIT_WAIT_1:
293

    
294
	 var 	idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3:int;
295
	s_2:real;
296
	let
297

    
298
		-- transition trace :
299
	--SetResetWait_On__To__SetResetWait_Wait_1
300
		(idSetResetWait_SetResetWait_2) 
301
	= SetResetWait_On_ex(idSetResetWait_SetResetWait_1, false);
302
		
303

    
304
		(idSetResetWait_SetResetWait_3, s_2) 
305
	= SetResetWait_Wait_en(idSetResetWait_SetResetWait_2, s_1, false);
306
		
307

    
308
	(idSetResetWait_SetResetWait, s) 
309
	=  (idSetResetWait_SetResetWait_3, s_2);
310

    
311

    
312
	tel
313

    
314
	until true restart POINTSetResetWait_SetResetWait
315

    
316

    
317

    
318
	state SETRESETWAIT_ON__TO__SETRESETWAIT_OFF_2:
319

    
320
	 var 	idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3:int;
321
	s_2:real;
322
	let
323

    
324
		-- transition trace :
325
	--SetResetWait_On__To__SetResetWait_Off_2
326
		(idSetResetWait_SetResetWait_2) 
327
	= SetResetWait_On_ex(idSetResetWait_SetResetWait_1, false);
328
		
329

    
330
		(idSetResetWait_SetResetWait_3, s_2) 
331
	= SetResetWait_Off_en(idSetResetWait_SetResetWait_2, s_1, false);
332
		
333

    
334
	(idSetResetWait_SetResetWait, s) 
335
	=  (idSetResetWait_SetResetWait_3, s_2);
336

    
337

    
338
	tel
339

    
340
	until true restart POINTSetResetWait_SetResetWait
341

    
342

    
343

    
344
	state SETRESETWAIT_OFF__TO__SETRESETWAIT_ON_1:
345

    
346
	 var 	idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3:int;
347
	s_2:real;
348
	let
349

    
350
		-- transition trace :
351
	--SetResetWait_Off__To__SetResetWait_On_1
352
		(idSetResetWait_SetResetWait_2) 
353
	= SetResetWait_Off_ex(idSetResetWait_SetResetWait_1, false);
354
		
355

    
356
		(idSetResetWait_SetResetWait_3, s_2) 
357
	= SetResetWait_On_en(idSetResetWait_SetResetWait_2, s_1, false);
358
		
359

    
360
	(idSetResetWait_SetResetWait, s) 
361
	=  (idSetResetWait_SetResetWait_3, s_2);
362

    
363

    
364
	tel
365

    
366
	until true restart POINTSetResetWait_SetResetWait
367

    
368

    
369

    
370
	state SETRESETWAIT_OFF__TO__SETRESETWAIT_WAIT_2:
371

    
372
	 var 	idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3:int;
373
	s_2:real;
374
	let
375

    
376
		-- transition trace :
377
	--SetResetWait_Off__To__SetResetWait_Wait_2
378
		(idSetResetWait_SetResetWait_2) 
379
	= SetResetWait_Off_ex(idSetResetWait_SetResetWait_1, false);
380
		
381

    
382
		(idSetResetWait_SetResetWait_3, s_2) 
383
	= SetResetWait_Wait_en(idSetResetWait_SetResetWait_2, s_1, false);
384
		
385

    
386
	(idSetResetWait_SetResetWait, s) 
387
	=  (idSetResetWait_SetResetWait_3, s_2);
388

    
389

    
390
	tel
391

    
392
	until true restart POINTSetResetWait_SetResetWait
393

    
394

    
395

    
396
	state SETRESETWAIT_WAIT__TO__SETRESETWAIT_OFF_1:
397

    
398
	 var 	idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3:int;
399
	s_2:real;
400
	let
401

    
402
		-- transition trace :
403
	--SetResetWait_Wait__To__SetResetWait_Off_1
404
		(idSetResetWait_SetResetWait_2) 
405
	= SetResetWait_Wait_ex(idSetResetWait_SetResetWait_1, false);
406
		
407

    
408
		(idSetResetWait_SetResetWait_3, s_2) 
409
	= SetResetWait_Off_en(idSetResetWait_SetResetWait_2, s_1, false);
410
		
411

    
412
	(idSetResetWait_SetResetWait, s) 
413
	=  (idSetResetWait_SetResetWait_3, s_2);
414

    
415

    
416
	tel
417

    
418
	until true restart POINTSetResetWait_SetResetWait
419

    
420

    
421

    
422
	state SETRESETWAIT_ON_IDL:
423

    
424
	 	let
425

    
426
		
427

    
428
	(idSetResetWait_SetResetWait, s) 
429
	= (idSetResetWait_SetResetWait_1, s_1);
430
	
431

    
432
	tel
433

    
434
	until true restart POINTSetResetWait_SetResetWait
435

    
436

    
437

    
438
	state SETRESETWAIT_OFF_IDL:
439

    
440
	 	let
441

    
442
		
443

    
444
	(idSetResetWait_SetResetWait, s) 
445
	= (idSetResetWait_SetResetWait_1, s_1);
446
	
447

    
448
	tel
449

    
450
	until true restart POINTSetResetWait_SetResetWait
451

    
452

    
453

    
454
	state SETRESETWAIT_WAIT_IDL:
455

    
456
	 	let
457

    
458
		
459

    
460
	(idSetResetWait_SetResetWait, s) 
461
	= (idSetResetWait_SetResetWait_1, s_1);
462
	
463

    
464
	tel
465

    
466
	until true restart POINTSetResetWait_SetResetWait
467

    
468

    
469

    
470
tel
471

    
472

    
473
--***************************************************State :SetResetWait_SetResetWait Automaton***************************************************
474

    
475
node SetResetWait_SetResetWait(Clear:bool;
476
	Reset:bool;
477
	Suspend:bool;
478
	Set:bool)
479

    
480
returns (s:real);
481

    
482

    
483
var s_1: real;
484

    
485
	idSetResetWait_SetResetWait, idSetResetWait_SetResetWait_1: int;
486

    
487
		idSetResetWait_SetResetWait_2, idSetResetWait_SetResetWait_3, idSetResetWait_SetResetWait_4:int;
488
	s_2, s_3, s_4:real;
489
let
490

    
491
	s_1 = 0.0 -> pre s;
492

    
493
	idSetResetWait_SetResetWait_1 = 0 -> pre idSetResetWait_SetResetWait;
494

    
495
	
496

    
497

    
498

    
499
	(idSetResetWait_SetResetWait_2, s_2)
500
	 = 
501

    
502
	 if Clear then SetResetWait_SetResetWait_node(idSetResetWait_SetResetWait_1, s_1, false, false, false, Clear)
503

    
504
	 else (idSetResetWait_SetResetWait_1, s_1);
505

    
506
	
507

    
508

    
509

    
510
	(idSetResetWait_SetResetWait_3, s_3)
511
	 = 
512

    
513
	 if Reset then SetResetWait_SetResetWait_node(idSetResetWait_SetResetWait_2, s_2, false, Reset, false, false)
514

    
515
	 else (idSetResetWait_SetResetWait_2, s_2);
516

    
517
	
518

    
519

    
520

    
521
	(idSetResetWait_SetResetWait_4, s_4)
522
	 = 
523

    
524
	 if Suspend then SetResetWait_SetResetWait_node(idSetResetWait_SetResetWait_3, s_3, Suspend, false, false, false)
525

    
526
	 else (idSetResetWait_SetResetWait_3, s_3);
527

    
528
	
529

    
530

    
531

    
532
	(idSetResetWait_SetResetWait, s)
533
	 = 
534

    
535
	 if Set then SetResetWait_SetResetWait_node(idSetResetWait_SetResetWait_4, s_4, false, false, Set, false)
536

    
537
	 else (idSetResetWait_SetResetWait_4, s_4);
538

    
539
	
540

    
541

    
542
--unused outputs
543
	
544

    
545
tel
546

    
547

    
548

    
549
node SetResetWait (clear_1_1 : real; reset_1_1 : real; set_1_1 : real; suspend_1_1 : real)
550
returns (s_1_1 : real); 
551
var
552
	Mux_1_1 : real; Mux_1_2 : real; Mux_1_3 : real; Mux_1_4 : real;
553
	SetResetWait_1_1 : real;
554
	i_virtual_local : real;
555
	SetResetWaitMux_1_1_event: bool;
556
	SetResetWaitMux_1_2_event: bool;
557
	SetResetWaitMux_1_3_event: bool;
558
	SetResetWaitMux_1_4_event: bool;
559
let 
560
	Mux_1_1 = clear_1_1 ;
561
	Mux_1_2 = reset_1_1 ;
562
	Mux_1_3 = set_1_1 ;
563
	Mux_1_4 = suspend_1_1 ;
564
	SetResetWaitMux_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));
565
	SetResetWaitMux_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));
566
	SetResetWaitMux_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));
567
	SetResetWaitMux_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));
568
	SetResetWait_1_1 =  SetResetWait_SetResetWait(SetResetWaitMux_1_1_event, SetResetWaitMux_1_2_event, SetResetWaitMux_1_3_event, SetResetWaitMux_1_4_event);
569
	s_1_1 = SetResetWait_1_1;
570
	i_virtual_local= 0.0 -> 1.0;
571
tel
572