FOR0383 Software Quality Assurance Lecture 5 Airbus A320/A330/A340/... www.airbus.com A success story, but nothing is perfect: http://catless.ncl.ac.uk/php/risks/search.php?query=airbus 23.3.2016 Dr Andy Brooks 1 “glass cockpit” fly-by-wire The JAA (Joint Aviation Authorities) issued the type certificate for the A320 on 26 February 1988. The A320 was the first civil aircraft equipped with a digital electrical flight control system. The first electrical flight control system for a civil aircraft was installed on Concorde, but that was an analog system. 23.3.2016 Dr Andy Brooks 2 Success of Airbus “Airbus is one of the world's leading aircraft manufacturers, and it consistently captures approximately half or more of all orders for airliners with more than 100 seats.” http://www.airbus.com/en/corporate/ downloaded 14-Jan-09 “Airbus has shipped 3,594 A318/A319/A320/A321s since its certification/first delivery in early 1988, with another 2,703 on firm order (31 August 2008).[17] Boeing has shipped 5,720 737s since late 1967, with 4,374 of those deliveries since 1988, and has a further 2,191 on firm order (30 April 2008).[18] Based on figures since 1988 when they first entered direct competition, Airbus delivered on average 174 A320 series aircraft per annum, while on average 208 Boeing 737s were delivered.” http://en.wikipedia.org/wiki/Airbus_A320_family#Competition downloaded 14-Jan-09 23.3.2016 Dr Andy Brooks 3 Pitch Yaw Roll Flight Control Surfaces of an A340. all electrically controlled and hydraulically activated increase lift pitch up or down flaps elevators rudder rotate about vertical axis also under mechanical control reduce lift spoilers slats stall prevention 23.3.2016 trimmable horizontal stabilizers also under mechanical control ailerons bank left or right Dr Andy Brooks 4 Why fly-by-wire? • Many aircraft accidents involve human error. • Fly-by-wire allows for automation of various tasks and improves the interaction between the pilots and the flight controls. As a result, pilots workload is reduced and they are less tired. • Fly-by-wire means that flight control software can provide a flight protection envelope which, for example, can prevent pilots from inadvertently stalling the aircraft (by adopting a too high angle-of-attack) or making a descent too quickly. 23.3.2016 Dr Andy Brooks 5 Computers (A320) ELAC (two of) Elevator and Aileron Computers Thomson-CSF 6810 microprocessor SEC (three of) Spoiler and Elevator Computers SFENA/Aerospatiale 80186 microprocessor FAC (two of) Rudder control. Two auto-pilot computers. The ELACs and SECs were designed and manufactured by different companies so that the system would be tolerant to a design or manufacturing fault. 23.3.2016 Dr Andy Brooks 6 Control and monitoring channels • ELAC and SEC computers have a control and a monitoring channel: these channels can be considered as two different and independent computers. • If output commands between control and monitoring channels don´t agree within a pre-determined threshold, links between the computer and exterior are cut. • A detection of disagreement must last a sufficiently long period of time before being considered a failure. • Detection parameters are wide enough to avoid unwanted disconnections, but tight enough to avoid undetected failures. 23.3.2016 Dr Andy Brooks 7 Distributed system functions • System function is distributed between the ELAC and SEC computers. • For any particular function, one computer is active while the others act as hot backups. • In a 1993 article, the switch to the hot backup is said to involve a ´limited jerk´on the control surfaces. • If ELAC2 fails, ELAC1 takes over. • If ELAC1 fails, SEC2 takes over. • If SEC2 fails, another SEC takes over. 23.3.2016 Dr Andy Brooks 8 N-version programming • Each channel of each ELAC and SEC computer was separately programmed, resulting in 4 versions of the software. • N-version programming reduces the risk of a common error which could cause control surface runaway (control and monitoring channels incorrectly agreeing) or complete shutdown of all the ELAC/SEC computers. N-version programming is very expensive and is usually only done for safety-critical systems. 23.3.2016 Dr Andy Brooks 9 Software development • DO-178A “Software considerations in airborne systems and equipment certification” standard compliance. • Computer-assisted specification – Symbols in the specification had a formal definition and strict interconnection rules. – There was a degree of automated code generation from the computer-assisted specifications. • There was peer review of specifications. 23.3.2016 Dr Andy Brooks 10 Software development • Code modules were tested against specifications. • Black box testing • Each module had equivalence classes defined. – Parameter <0 ( -5 ), 0<=Parameter<=135 ( 45 ), Parameter >135 ( 142 ) • The equivalence classes were approved by: the aircraft and equipment manufacturers, the airworthiness authorities, the designers, and quality control. • White box testing inputs • All branches were tested. expected results actual output Verification Does the code implement the specification? 23.3.2016 Dr Andy Brooks 11 System testing • Iron-bird tests were performed. – All the system equipment was installed and powered as in the actual aircraft. • Flight simulator tests were performed. – These tests were sometimes coupled with iron-bird. • Actual test flights were performed with 1000 flight control parameters monitored and recorded. Validation Does the system perform in the way expected? “Can the plane be flown safely?” 23.3.2016 Dr Andy Brooks 12 SCADE Suite™ for Safety-Critical Software Development http://www.esterel-technologies.com/products/scade-suite/ 23.3.2016 Dr Andy Brooks 13 Destruction of part of the aircraft? • The computers were placed at three different locations throughout the aircraft. • Links to actuators were run under the floor, overhead, and in the cargo compartment. 23.3.2016 Dr Andy Brooks 14 Complete failure of the automated system? • Mechanical links are retained to the Rudder and the Trimmable Horizontal Stabilisers so that the plane can still be flown in the event of a complete failure of the automated system. 23.3.2016 Dr Andy Brooks 15 Other safety features • There are redundant sensors. • There are redundant actuators. • Safety objectives for the aircraft are met with only 3 of the 5 ELAC/SEC computers running. • One computer is sufficient to control the aircraft. • The computers are connected to at least two power sources. • Computers are protected against over-voltages and under-voltages, electromagnetic aggressions, and indirect effects of lightning. 23.3.2016 Dr Andy Brooks 16 Other safety features • There are three hydraulic systems when one is sufficient for aircraft operation. • Software defects can remain hidden for a long time. To protect against latent failure, on energization of the aircraft, each computer runs a self-test and tests its peripherals. – Such testing occurs typically once a day. 23.3.2016 Dr Andy Brooks 17 Failure of both ELACs • During one flight both the ELACs failed due to an air conditioning failure and the resultant temperature rise. • A component did not meet the specified temperature operating range. • There was a successful takeover by the SEC computers. “AIRBUS A320/A330/A340 Electrical Flight Controls A Family of FaultTolerant Systems” by Dominique Britxe and Pascal Traverse in: The TwentyThird International Symposium on Fault-Tolerant Computing (FTCS-23),1993, pp 616-623, ©IEEE 23.3.2016 Dr Andy Brooks 18