Component-Based Development of Aeronautical Software

Component-Based Development of Aeronautical Software

Ítalo Romani de Oliveira (Atech Tecnologias Críticas, Brazil), Ricardo Alexandre Veiga Gimenes (Safety Analysis Group (GAS), University of São Paulo (Poli-USP), Brazil) and Jorge Rady de Almeida Jr. (Safety Analysis Group (GAS), University of São Paulo (Poli-USP), Brazil)
DOI: 10.4018/978-1-60566-800-0.ch014
OnDemand PDF Download:
No Current Special Offers


Modern aircraft heavily relies on software to fly and operate, which lessens pilot workload, increases flight stability and fuel efficiency, and provides several other benefits. However, the more automated an aircraft is, the more prone to complexity its software modules are, raising special safety issues to be considered in the project. This chapter presents an overview of the Verification and Validation requirements for safety-critical software in aeronautics and, given the high costs to meet them, explains in detail a component-based methodology which can contribute to reduce the overall costs of software development and, at the same time, provide enhanced safety.
Chapter Preview


Modern Air Transportation demands a great amount of software, with a wide variety of purposes, from airline ticket reservation to aircraft engine control. Higher levels of system integration on transport aircraft systems and equipment have created new safety and certification challenges, making the aviation industry and the regulatory authorities elaborate technical guidance, gathering their mutual objectives and responsibilities in the system safety area. A great part of the software systems in aviation is considered safety-critical, as is the case of many aircraft control systems, in which failures can lead to catastrophic events, as happened to the Airbus A320 in Habsheim, France, 1988, just to mention a classical example. This accident was attributed to a software design error related to the complexity introduced by the once innovative computerized flight control. The failure showed the crew that the plane was flying at 100 ft above ground. When the captain increased throttle to level off at 100 ft, the engines and the completely computerized throttle control did not respond. The gear was only 30 ft above ground when the aircraft was passing over the runway (Walters, 2000), and a few seconds later the aircraft crashed into the bush. Due to the high social impact related to flight safety, there is a paramount need of requiring strict verification processes and tests on critical aeronautical software, defined and supervised by governmental authorities.

Software Verification and Validation (V&V)

The way to improve the verification and validation of software is still a theme of several scientific studies. However, there are recommendations and methodologies in which many researches converge, helping to improve the software reliability .

The objectives of the software verification activities are to demonstrate the following properties (Howden, 1986; Powell, 1986):

  • a.

    Correctness: the extent to which the product is fault free;

  • b.

    Consistency: the extent to which the product is consistent within itself and with other products;

  • c.

    Necessity: the extent to which everything in the product is necessary;

  • d.

    Sufficiency: the extent to which the product is complete;

  • e.

    Performance: the extent to which the product satisfies its performance requirements.

Verification activities come together with validation activities, which aim at ensuring that the project deliverables are in accordance with the expectations of the project stakeholders. Since verification and validation activities complement each other and are often overlapped, in software engineering they are treated in the same bucket called V&V.

Complete Chapter List

Search this Book: