Skip to main content

2022 | Book

DevOps for Airborne Software

Exploring Modern Approaches


About this book

This Springer Brief presents a selection of tools and techniques which either enable or improve the use of DevOps for airborne software engineering. They are evaluated against the unique challenges of the aviation industry such as safety and airworthiness, and exercised using a demonstrator in order to gather first experience.

The book is structured as follows: after a short introduction to the main topics of the work in chapter 1, chapter 2 provides more information on the tools, techniques, software and standards required to implement the subsequently presented ideas. In particular, the development practice BDD, the relation between DevOps, CI & CD and both the Rust & the Nix programming language are introduced. In chapter 3 the authors explain and justify their ideas towards advancing the state of the art, mapping the aforementioned tools and techniques to the DevOps Cycle while considering aspects of Do-178C. Next, in chapter 4 the experiences gathered while implementing a demonstrator using the tools and techniques are described. Eventually, chapter 5 briefly summarizes the findings and presents a compilation of open points and missing pieces which are yet to be resolved.

The book targets three different reader groups. The first one are development managers from the aerospace industry who need to see examples and experience reports for the application of DevOps for airborne software. The second group are investigators in the safety-critical embedded systems domain who look for benchmarks at various application domains. And the third group are lecturers who offer graduate level software engineering courses for safety-critical software engineering.

Table of Contents

Chapter 1. Introduction
The first chapter introduces some of the issues involved when writing code that flies. Said issues are put in perspective to software development in general while considering both the unique constraints in the aviation industry and the now ubiquitous Agile approach. Finally, DevOps are introduced and considered as a recent advancement which is yet to conquer the embedded development of safety-critical domains.
Wanja Zaeske, Umut Durak
Chapter 2. Background
To establish a common ground, we introduce and explain most of the topics relevant to our book in this chapter. The topics range from a high-level view on the avionics certification regulations to (continuous) software development practices and the concept of embedded virtualization. Further on, we cover the various tools and methodologies on which we build our work, namely, the Rust programming language, the Swiss Army knife of package management and CI/CD workflows, Nix, and the RTLola monitor specification language. Last but not least, the behavior-driven development methodology and the associated Gherkin language together are introduced to provide for a round DevOps story.
Wanja Zaeske, Umut Durak
Chapter 3. Approach
The third chapter describes our vision towards integrating modern tools and methodologies in a full DevOps cycle. To assure the relevance for the aviation industry, various connections to the rigorous safety-related objectives are drawn. Furthermore, we reason about our choice regarding tools and methodologies.
Wanja Zaeske, Umut Durak
Chapter 4. Demonstrator and Evaluation
In order to evaluate our ideas, we developed a demonstrator to which this chapter is dedicated. First, we describe the process of wrapping a C-API in Rust and demonstrate how Rust’s built-in safety delivers even when mixed with legacy code. Then we dive deep into the BDD process, highlighting how it can guide the development alongside the DO-367 standard while ticking off boxes of DO-178C. This is followed by a short expedition to two radically different CI approaches (Nix and Hydra/GitHub Actions). Finally, we briefly look into the matter of monitoring by showing a simple monitor synthesized from an RTLola specification.
Wanja Zaeske, Umut Durak
Chapter 5. Outlook and Conclusion
As our vision is far from being done, there are many open questions and remaining issues. This chapter iterates over both of them while identifying topics of interest for future research. Finally, we summarize and conclude our findings briefly.
Wanja Zaeske, Umut Durak
DevOps for Airborne Software
Wanja Zaeske
Umut Durak
Copyright Year
Electronic ISBN
Print ISBN

Premium Partner