Development of certification-compliant safety-critical flight control software using a model-based design approach - Ballı, Hakan (Graduate School, 2024)
With the rapid pace of technological advancements, software is becoming increasingly complex and is being used in safety-critical areas such as aircraft. This situation further emphasizes the importance of software safety levels. The development of safety-critical software not only increases the complexity of implementation due to the critical nature of the operational environments of aircraft but also faces increasing challenges due to customer expectations for shorter product development cycles and demands for lower production costs. This situation necessitates that software developers meet high safety standards while also providing solutions optimized for efficiency and cost-effectiveness. In this context, avionics and flight control software in aircraft must fully perform the functions expected of them in the operational environment and must not adversely affect other functions while executing their tasks. These two factors clearly highlight the need for engineering methods aimed at reducing development complexities and supporting certification efforts. International aviation certification authorities have defined these two fundamental rules in their aviation regulations and have published the DO-178C software guidance document to ensure compliance of aviation software with these rules. Additionally, by referencing the DO-331 supplement, which explains the model-based design method used in software development processes, they aim to ensure the safe development of safety-critical software. The advancement of software, directives from authorities, and the competitive environment among manufacturers have increased the variety of products and services in the aviation sector. This situation has enabled software development processes under the DO-178C/DO-331 guidance documents using the model-based design method, allowing for software development with superior aspects such as shorter product development cycles and cost advantages. In this study, the processes followed throughout the software development lifecycle, the activities that need to be completed, and the outcome that need to be created and delivered during the development of a flight control software using the model-based design method are examined in detail. Additionally, the certification process for flight control software is thoroughly analyzed. In this study, MathWorks' MATLAB/Simulink model-based design tool was used in a software development project for the F-16 fighter aircraft. The aircraft and its components together with the flight control system were modeled rigorously within the Simulink tool. The flight control algorithm was constructed using the nonlinear dynamic inversion method, and source code for the flight control software was generated from the flight control algorithm model created using the model-based design approach. Additionally, this approach was applied throughout the software development process using the DO-331 guidance document. During the flight control software development process, system requirements allocated to the software (SRAT) were defined corresponding to the software lifecycle procedures, and from these, high-level requirements (HLR) were derived. Bidirectional traceability links between SRATS and HLR were established using the MATLAB development tool, adhering to software lifecycle procedures. After the HLR were established, the flight control system model, which represents the low-level requirements, was developed using the model-based design approach. Prior to generating source code, requirement-based functional tests were performed on the model, considering the DO-331 model simulation activity, to detect any errors. Additionally, model coverage analyses were conducted alongside these tests. Performance metrics were obtained based on the results of both the requirement-based tests and the model coverage analyses. Similarly, a static standards compliance test conducted on the model was evaluated as a performance metric, leading to the source code generation phase. It is generated using the MATLAB development tool, reviewed using MATLAB's tools, and performance metrics were gathered. Subsequently, the executable object code was created, and the performance metrics were evaluated through in-loop software simulation testing. Finally, throughout the software development process, relevant process reports were generated at each step from requirements to executable object code, configuration tracking was conducted, and the software quality assurance and certification processes were prepared for submission to the authority. As a result, a flight control software compliant with the certification requirements under the DO-178C/DO-331 guidance documents were successfully developed.
Model tabanlı tasarım yaklaşımı kullanılarak sertifikasyon uyumluluğuna sahip emniyet kritik uçuş kontrol yazılımının geliştirilmesi
Thesis (M.Sc.) -- Istanbul Technical University, Graduate School, 2024
Keywords: Model-based design; Model tabanlı tasarım; Flight control software; Uçuş kontrol yazılımı