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
|
obs = true -> (not (FPAEng and (not pre(ATEng)))) or ((ATEng) and (CASCmd = pre(CAS)));
|
278
|
|
279
|
--!MAIN : true;
|
280
|
--!PROPERTY: obs = true;
|
281
|
tel
|