Project

General

Profile

Download (11.3 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2

    
3
node FlipFlop ( S : bool ; R: bool  ) 
4
   returns ( Q: bool ; notQ  : bool  ) ;
5
let
6
notQ = ((not S) or R) -> if (not (S or R)) then pre notQ else R;
7
Q = not notQ;
8
 tel
9

    
10

    
11
node AutoPilot_AltAndFPAMode ( ActiavteFPA_Out1_123  : real ; Deactivate_Out1_133  : bool ; Altitude_Out1_143  : real ; AltCmd_Out1_153  : real ; ActiavteAlt_Out1_163  : real  ) 
12
   returns ( AltEng_In1_480  : bool ; FPAEng_In1_492  : bool  ) ;
13
var Abs_Out1_174  : real ;
14
 Add_Out1_184  : real ;
15
 FlipFlop2_Out1_192  : bool ;
16
 FlipFlop2_Out2_193  : bool ;
17
 FlipFlop1_Out1_299  : bool ;
18
 FlipFlop1_Out2_300  : bool ;
19
 LogicalOperator1_Out1_404  : bool ;
20
 LogicalOperator2_Out1_409  : bool ;
21
 LogicalOperator3_Out1_415  : bool ;
22
 LogicalOperator4_Out1_421  : bool ;
23
 LogicalOperator5_Out1_427  : bool ;
24
 LogicalOperator7_Out1_432  : bool ;
25
 comapare1_Out1_450  : bool ;
26
 comapare2_Out1_456  : bool ;
27
 comapare3_Out1_462  : bool ;
28
 comapare4_Out1_468  : bool ;
29
 Abs_In1_173  : real ;
30
 Add_In1_182  : real ;
31
 Add_In2_183  : real ;
32
 FlipFlop2_In1_190  : bool ;
33
 FlipFlop2_In2_191  : bool ;
34
 FlipFlop1_In1_297  : bool ;
35
 FlipFlop1_In2_298  : bool ;
36
 LogicalOperator1_In1_402  : bool ;
37
 LogicalOperator1_In2_403  : bool ;
38
 LogicalOperator2_In1_408  : bool ;
39
 LogicalOperator3_In1_413  : bool ;
40
 LogicalOperator3_In2_414  : bool ;
41
 LogicalOperator4_In1_419  : bool ;
42
 LogicalOperator4_In2_420  : bool ;
43
 LogicalOperator5_In1_425  : bool ;
44
 LogicalOperator5_In2_426  : bool ;
45
 LogicalOperator7_In1_431  : bool ;
46
 Terminator_In1_434  : bool ;
47
 Terminator1_In1_436  : bool ;
48
 comapare1_In1_448  : int ;
49
 comapare1_In2_449  : int ;
50
 comapare2_In1_454  : real ;
51
 comapare2_In2_455  : real ;
52
 comapare3_In1_460  : real ;
53
 comapare3_In2_461  : real ;
54
 comapare4_In1_466  : real ;
55
 comapare4_In2_467  : real ;
56
  
57
let
58
Abs_Out1_174  = if Abs_In1_173 < 0.000000 then - Abs_In1_173 else Abs_In1_173;
59
Add_Out1_184  = Add_In1_182 + - Add_In2_183;
60
FlipFlop2_Out1_192 , FlipFlop2_Out2_193  = FlipFlop ( FlipFlop2_In1_190 , FlipFlop2_In2_191  );
61
FlipFlop1_Out1_299 , FlipFlop1_Out2_300  = FlipFlop ( FlipFlop1_In1_297 , FlipFlop1_In2_298  );
62
LogicalOperator1_Out1_404  = LogicalOperator1_In1_402 or LogicalOperator1_In2_403;
63
LogicalOperator2_Out1_409  = not LogicalOperator2_In1_408;
64
LogicalOperator3_Out1_415  = LogicalOperator3_In1_413 and LogicalOperator3_In2_414;
65
LogicalOperator4_Out1_421  = LogicalOperator4_In1_419 and LogicalOperator4_In2_420;
66
LogicalOperator5_Out1_427  = LogicalOperator5_In1_425 and LogicalOperator5_In2_426;
67
LogicalOperator7_Out1_432  = not LogicalOperator7_In1_431;
68
comapare1_Out1_450  = comapare1_In1_448 <> comapare1_In2_449;
69
comapare2_Out1_456  = comapare2_In1_454 <> comapare2_In2_455;
70
comapare3_Out1_462  = comapare3_In1_460 <> comapare3_In2_461;
71
comapare4_Out1_468  = comapare4_In1_466 <= comapare4_In2_467;
72
Terminator_In1_434  = FlipFlop2_Out2_193;
73
comapare2_In1_454  = ActiavteFPA_Out1_123;
74
LogicalOperator3_In1_413  = FlipFlop2_Out1_192;
75
LogicalOperator2_In1_408  = FlipFlop2_Out1_192;
76
comapare1_In1_448  = if Deactivate_Out1_133 then 1 else 0;
77
FlipFlop2_In1_190  = comapare2_Out1_456;
78
Terminator1_In1_436  = FlipFlop1_Out2_300;
79
LogicalOperator5_In1_425  = FlipFlop1_Out1_299;
80
LogicalOperator4_In1_419  = FlipFlop1_Out1_299;
81
FlipFlop1_In1_297  = comapare3_Out1_462;
82
FlipFlop1_In2_298  = comapare1_Out1_450;
83
FlipFlop2_In2_191  = comapare1_Out1_450;
84
comapare3_In2_461  = ActiavteAlt_Out1_163;
85
Add_In1_182  = Altitude_Out1_143;
86
Add_In2_183  = AltCmd_Out1_153;
87
Abs_In1_173  = Add_Out1_184;
88
comapare4_In1_466  = Abs_Out1_174;
89
FPAEng_In1_492  = LogicalOperator3_Out1_415;
90
LogicalOperator1_In1_402  = LogicalOperator2_Out1_409;
91
AltEng_In1_480  = LogicalOperator4_Out1_421;
92
LogicalOperator5_In2_426  = comapare4_Out1_468;
93
LogicalOperator1_In2_403  = comapare4_Out1_468;
94
LogicalOperator4_In2_420  = LogicalOperator1_Out1_404;
95
LogicalOperator3_In2_414  = LogicalOperator7_Out1_432;
96
comapare3_In1_460  =  0.0;
97
comapare1_In2_449  = 0;
98
comapare2_In2_455  = 0.0;
99
comapare4_In2_467  = 200.0 ;
100
LogicalOperator7_In1_431  = LogicalOperator5_Out1_427;
101
 tel 
102

    
103

    
104
node AutoPilot_HeadingMode ( Actiavte_Out1_539  : real ; Deactivate_Out1_549  : bool  ) 
105
   returns ( HeadEng_In1_690  : bool  ) ;
106
var SRFlipFlopRepl_Out1_557  : bool ;
107
 SRFlipFlopRepl_Out2_558  : bool ;
108
 comapare1_Out1_672  : bool ;
109
 comapare2_Out1_678  : bool ;
110
 SRFlipFlopRepl_In1_555  : bool ;
111
 SRFlipFlopRepl_In2_556  : bool ;
112
 Terminator_In1_658  : bool ;
113
 comapare1_In1_670  : real ;
114
 comapare1_In2_671  : real ;
115
 comapare2_In1_676  : int ;
116
 comapare2_In2_677  : int ;
117
  
118
let
119
SRFlipFlopRepl_Out1_557 , SRFlipFlopRepl_Out2_558  = FlipFlop ( SRFlipFlopRepl_In1_555 , SRFlipFlopRepl_In2_556  );
120
comapare1_Out1_672  = comapare1_In1_670 <> comapare1_In2_671;
121
comapare2_Out1_678  = comapare2_In1_676 <> comapare2_In2_677;
122
Terminator_In1_658  = SRFlipFlopRepl_Out2_558;
123
comapare1_In1_670  = Actiavte_Out1_539;
124
HeadEng_In1_690  = SRFlipFlopRepl_Out1_557;
125
comapare2_In2_677  = if Deactivate_Out1_549 then 1 else 0;
126
SRFlipFlopRepl_In1_555  = comapare1_Out1_672;
127
SRFlipFlopRepl_In2_556  = comapare2_Out1_678;
128
comapare2_In1_676  = 0;
129
comapare1_In2_671  = 0.0;
130
 tel 
131

    
132

    
133
node AutoPilot_SpeedMode ( Activate_Out1_725  : real ; AltEng_Out1_735  : bool ; CAS_Out1_745  : real ; CASCmdMCP_Out1_755  : real  ) 
134
   returns ( ATEng_In1_959  : bool ; CASCmd_In1_971  : real  ) ;
135
var Add_Out1_765  : int ;
136
 LogicalOperator_Out1_771  : bool ;
137
 LogicalOperator1_Out1_776  : bool ;
138
 LogicalOperator2_Out1_782  : bool ;
139
 SRFlipFlopRepl0_Out1_790  : bool ;
140
 SRFlipFlopRepl0_Out2_791  : bool ;
141
 Switch_Out1_898  : real ;
142
 Switch1_Out1_907  : real ;
143
 UnitDelay1_Out1_914  : bool ;
144
 UnitDelay2_Out1_919  : real ;
145
 comapare1_Out1_941  : bool ;
146
 comapare2_Out1_947  : bool ;
147
 Add_In1_763  : int ;
148
 Add_In2_764  : int ;
149
 LogicalOperator_In1_769  : bool ;
150
 LogicalOperator_In2_770  : bool ;
151
 LogicalOperator1_In1_775  : bool ;
152
 LogicalOperator2_In1_780  : bool ;
153
 LogicalOperator2_In2_781  : bool ;
154
 SRFlipFlopRepl0_In1_788  : bool ;
155
 SRFlipFlopRepl0_In2_789  : bool ;
156
 Switch_In1_895  : real ;
157
 Switch_In2_896  : bool ;
158
 Switch_In3_897  : real ;
159
 Switch1_In1_904  : real ;
160
 Switch1_In2_905  : bool ;
161
 Switch1_In3_906  : real ;
162
 Terminator_In1_909  : bool ;
163
 UnitDelay1_In1_913  : bool ;
164
 UnitDelay2_In1_918  : real ;
165
 comapare1_In1_939  : real ;
166
 comapare1_In2_940  : real ;
167
 comapare2_In1_945  : int ;
168
 comapare2_In2_946  : int ;
169
  
170
let
171
Add_Out1_765  = Add_In1_763 + Add_In2_764;
172
LogicalOperator_Out1_771  = LogicalOperator_In1_769 and LogicalOperator_In2_770;
173
LogicalOperator1_Out1_776  = not LogicalOperator1_In1_775;
174
LogicalOperator2_Out1_782  = LogicalOperator2_In1_780 or LogicalOperator2_In2_781;
175
SRFlipFlopRepl0_Out1_790 , SRFlipFlopRepl0_Out2_791  = FlipFlop ( SRFlipFlopRepl0_In1_788 , SRFlipFlopRepl0_In2_789  );
176
Switch_Out1_898  = if Switch_In2_896 then Switch_In1_895 else Switch_In3_897;
177
Switch1_Out1_907  = if Switch1_In2_905 then Switch1_In1_904 else Switch1_In3_906;
178
UnitDelay1_Out1_914  = false -> pre UnitDelay1_In1_913;
179
UnitDelay2_Out1_919  = 0.000000 -> pre UnitDelay2_In1_918;
180
comapare1_Out1_941  = comapare1_In1_939 <> comapare1_In2_940;
181
comapare2_Out1_947  = comapare2_In1_945 <> comapare2_In2_946;
182
Terminator_In1_909  = SRFlipFlopRepl0_Out2_791;
183
comapare1_In1_939  = Activate_Out1_725;
184
UnitDelay1_In1_913  = SRFlipFlopRepl0_Out1_790;
185
ATEng_In1_959  = SRFlipFlopRepl0_Out1_790;
186
LogicalOperator_In1_769  = AltEng_Out1_735;
187
LogicalOperator_In2_770  = LogicalOperator1_Out1_776;
188
SRFlipFlopRepl0_In1_788  = LogicalOperator2_Out1_782;
189
Add_In2_764  = if LogicalOperator_Out1_771 then 1 else 0;
190
LogicalOperator2_In2_781  = LogicalOperator_Out1_771;
191
Switch1_In3_906  = CAS_Out1_745;
192
Switch1_In1_904  = CASCmdMCP_Out1_755;
193
Add_In1_763  = if comapare1_Out1_941 then 1 else 0;
194
LogicalOperator2_In1_780  = comapare1_Out1_941;
195
Switch1_In2_905  = if Add_Out1_765 = 0 then false else true;
196
Switch_In2_896  = if Add_Out1_765 = 0 then false else true;
197
Switch_In3_897  = Switch1_Out1_907;
198
UnitDelay2_In1_918  = Switch_Out1_898;
199
Switch_In1_895  = UnitDelay2_Out1_919;
200
CASCmd_In1_971  = UnitDelay2_Out1_919;
201
comapare2_In1_945  = 0;
202
comapare1_In2_940  =  0.0;
203
LogicalOperator1_In1_775  = UnitDelay1_Out1_914;
204
comapare2_In2_946  = 0;
205
SRFlipFlopRepl0_In2_789  = comapare2_Out1_947;
206
 tel 
207

    
208

    
209
node AutoPilot ( HeadMode_Out1_11  : real ; ailStick_Out1_21  : real ; elevStick_Out1_31  : real ; AltMode_Out1_41  : real ; FPAMode_Out1_51  : real ; ATMode_Out1_61  : real ; AltCmd_Out1_71  : real ; Altitude_Out1_81  : real ; CAS_Out1_91  : real ; CASCmdMCP_Out1_101  : real  ) 
210
   returns ( HeadEng_In1_1027  : bool ; AltEng_In1_1039  : bool ; FPAEng_In1_1051  : bool ; ATEng_In1_1063  : bool ; CASCmd_In1_1075  : real  ) ;
211
var AltAndFPAMode_Out1_112  : bool ;
212
 AltAndFPAMode_Out2_113  : bool ;
213
 HeadingMode_Out1_529  : bool ;
214
 LogicalOperator_Out1_704  : bool ;
215
 SpeedMode_Out1_714  : bool ;
216
 SpeedMode_Out2_715  : real ;
217
 comapare_Out1_1009  : bool ;
218
 comapare1_Out1_1015  : bool ;
219
 AltAndFPAMode_In1_107  : real ;
220
 AltAndFPAMode_In2_108  : bool ;
221
 AltAndFPAMode_In3_109  : real ;
222
 AltAndFPAMode_In4_110  : real ;
223
 AltAndFPAMode_In5_111  : real ;
224
 HeadingMode_In1_527  : real ;
225
 HeadingMode_In2_528  : bool ;
226
 LogicalOperator_In1_702  : bool ;
227
 LogicalOperator_In2_703  : bool ;
228
 SpeedMode_In1_710  : real ;
229
 SpeedMode_In2_711  : bool ;
230
 SpeedMode_In3_712  : real ;
231
 SpeedMode_In4_713  : real ;
232
 comapare_In1_1007  : real ;
233
 comapare_In2_1008  : real ;
234
 comapare1_In1_1013  : real ;
235
 comapare1_In2_1014  : real ;
236
  
237
let
238
AltAndFPAMode_Out1_112 , AltAndFPAMode_Out2_113  = AutoPilot_AltAndFPAMode ( AltAndFPAMode_In1_107 , AltAndFPAMode_In2_108 , AltAndFPAMode_In3_109 , AltAndFPAMode_In4_110 , AltAndFPAMode_In5_111  );
239
HeadingMode_Out1_529  = AutoPilot_HeadingMode ( HeadingMode_In1_527 , HeadingMode_In2_528  );
240
LogicalOperator_Out1_704  = LogicalOperator_In1_702 or LogicalOperator_In2_703;
241
SpeedMode_Out1_714 , SpeedMode_Out2_715  = AutoPilot_SpeedMode ( SpeedMode_In1_710 , SpeedMode_In2_711 , SpeedMode_In3_712 , SpeedMode_In4_713  );
242
comapare_Out1_1009  = comapare_In1_1007 <> comapare_In2_1008;
243
comapare1_Out1_1015  = comapare1_In1_1013 <> comapare1_In2_1014;
244
ATEng_In1_1063  = SpeedMode_Out1_714;
245
comapare_In2_1008  = ailStick_Out1_21;
246
SpeedMode_In2_711  = AltAndFPAMode_Out2_113;
247
FPAEng_In1_1051  = AltAndFPAMode_Out2_113;
248
AltEng_In1_1039  = AltAndFPAMode_Out1_112;
249
HeadEng_In1_1027  = HeadingMode_Out1_529;
250
HeadingMode_In1_527  = HeadMode_Out1_11;
251
LogicalOperator_In2_703  = comapare1_Out1_1015;
252
LogicalOperator_In1_702  = comapare_Out1_1009;
253
comapare1_In2_1014  = elevStick_Out1_31;
254
SpeedMode_In1_710  = ATMode_Out1_61;
255
AltAndFPAMode_In1_107  = FPAMode_Out1_51;
256
AltAndFPAMode_In3_109  = Altitude_Out1_81;
257
AltAndFPAMode_In5_111  = AltMode_Out1_41;
258
AltAndFPAMode_In2_108  = LogicalOperator_Out1_704;
259
HeadingMode_In2_528  = LogicalOperator_Out1_704;
260
SpeedMode_In4_713  = CASCmdMCP_Out1_101;
261
AltAndFPAMode_In4_110  = AltCmd_Out1_71;
262
CASCmd_In1_1075  = SpeedMode_Out2_715;
263
SpeedMode_In3_712  = CAS_Out1_91;
264
comapare1_In1_1013  = 0.0;
265
comapare_In1_1007  = 0.0;
266
 tel 
267

    
268
node top(HeadMode: real ; ailStick: real ; elevStick : real ; AltMode : real ; FPAMode : real ; ATMode : real ; AltCmd : real ; Altitude  : real ; CAS : real ; CASCmdMCP : real) returns (obs : bool);
269
var HeadEng  : bool ; 
270
    AltEng : bool; 
271
    FPAEng  : bool ; 
272
    ATEng  : bool ; 
273
    CASCmd  : real;
274
let
275
   HeadEng, AltEng, FPAEng, ATEng, CASCmd= AutoPilot ( HeadMode,  ailStick, elevStick,  AltMode, FPAMode, ATMode, AltCmd, Altitude, CAS, CASCmdMCP);
276

    
277
  assert (AltMode = 0.0);
278
  assert (not (FPAMode = 0.0));
279
  assert (ailStick = 0.0);  
280
  assert (elevStick = 0.0);  
281

    
282
   obs  =  FPAEng;
283

    
284
  --!MAIN : true;
285
  --!PROPERTY: obs = true;
286
tel
(16-16/28)