Project

General

Profile

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

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

    
9

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

    
102

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

    
131

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

    
207
--@requires AltMode_Out1_41 = 1.0;
208
--@ensures ( (((((Altitude_Out1_81 - AltCmd_Out1_71) <= 200.0) and ((Altitude_Out1_81 - AltCmd_Out1_71) >= -200.0)) = true) or (FPAMode_Out1_51 = 0.0)) and (ailStick_Out1_21 = 0.0) and (elevStick_Out1_31 = 0.0)) or (AltEng_In1_1039 = false);
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
--!k:2;
239
AltAndFPAMode_Out1_112 , AltAndFPAMode_Out2_113  = AutoPilot_AltAndFPAMode ( AltAndFPAMode_In1_107 , AltAndFPAMode_In2_108 , AltAndFPAMode_In3_109 , AltAndFPAMode_In4_110 , AltAndFPAMode_In5_111  );
240
HeadingMode_Out1_529  = AutoPilot_HeadingMode ( HeadingMode_In1_527 , HeadingMode_In2_528  );
241
LogicalOperator_Out1_704  = LogicalOperator_In1_702 or LogicalOperator_In2_703;
242
SpeedMode_Out1_714 , SpeedMode_Out2_715  = AutoPilot_SpeedMode ( SpeedMode_In1_710 , SpeedMode_In2_711 , SpeedMode_In3_712 , SpeedMode_In4_713  );
243
comapare_Out1_1009  = comapare_In1_1007 <> comapare_In2_1008;
244
comapare1_Out1_1015  = comapare1_In1_1013 <> comapare1_In2_1014;
245
ATEng_In1_1063  = SpeedMode_Out1_714;
246
comapare_In2_1008  = ailStick_Out1_21;
247
SpeedMode_In2_711  = AltAndFPAMode_Out2_113;
248
FPAEng_In1_1051  = AltAndFPAMode_Out2_113;
249
AltEng_In1_1039  = AltAndFPAMode_Out1_112;
250
HeadEng_In1_1027  = HeadingMode_Out1_529;
251
HeadingMode_In1_527  = HeadMode_Out1_11;
252
LogicalOperator_In2_703  = comapare1_Out1_1015;
253
LogicalOperator_In1_702  = comapare_Out1_1009;
254
comapare1_In2_1014  = elevStick_Out1_31;
255
SpeedMode_In1_710  = ATMode_Out1_61;
256
AltAndFPAMode_In1_107  = FPAMode_Out1_51;
257
AltAndFPAMode_In3_109  = Altitude_Out1_81;
258
AltAndFPAMode_In5_111  = AltMode_Out1_41;
259
AltAndFPAMode_In2_108  = LogicalOperator_Out1_704;
260
HeadingMode_In2_528  = LogicalOperator_Out1_704;
261
SpeedMode_In4_713  = CASCmdMCP_Out1_101;
262
AltAndFPAMode_In4_110  = AltCmd_Out1_71;
263
CASCmd_In1_1075  = SpeedMode_Out2_715;
264
SpeedMode_In3_712  = CAS_Out1_91;
265
comapare1_In1_1013  = 0.0;
266
comapare_In1_1007  = 0.0;
267
 tel 
268

    
(6-6/28)