Modernizing turbine engine controls
After 10+ years of use, our aerospace client’s engine controls software needed to be modernized. They accumulated a list of over 20 necessary updates, ranging from bug fixes to feature enhancements.
We migrated the controls system from an obsolete, proprietary framework to a modern, maintainable one – all while satisfying the highest level of safety-critical requirements for airborne systems.
What We Did
After over 10 years of use, our aerospace client’s engine controls software needed a refresh. They accumulated a list of over 20 necessary updates, ranging from bug fixes to feature enhancements. The main objective was migrating the controls system from an obsolete, proprietary framework to a modern, maintainable one.
We knew this project came with unique challenges. The last development on the system was done over 10 years ago, so the software had to be resurfaced and our team needed to brush up on their 1990s programming chops to get started.
We also needed to manage the cascading effects of changes we made. If any one component in the system was changed, the outputs would also change, and so on, creating a domino effect on the rest of the system.
Our decades of experience working with this client and within DO-178B regulations for engine control software made us well-suited to take on this system update. We cracked open boxes of old hardware containing the controls system and got to work.
Our work involved two main pieces: updating the aircraft engine software and testing the software in an emulator.
We created data flow diagrams to visually map the effects of changes on the rest of the system. We fixed several problems with the system, including an incorrect error code in the system’s voltage detector chip.
To test the software, we used AdaTest95 to add wrappers around sections of the source code. These wrappers allowed the test tools to determine if the tests were executing all paths in the code and what combination of inputs were exercised at each branch. We migrated all of the automated test scripts into Python which were used to test the embedded control software.
This project was heavily governed by strict regulations because we were working on a Level A system, the highest safety-critical level for airborne systems. We used DOORS to carefully manage our documentation according to the new DO-178B requirements and to support the control software release qualification. For each requirement we updated, we needed to determine which tests needed to be run. Our developers wrote DOORS scripts to navigate this hierarchy of tests.
Throughout the project, we also helped support our client’s transition to Agile. We helped them move to using modern development tools like Git and Jira during our time together.
As a team, we modernized our client’s safety-critical controls system and embraced modern software practices. Migrating the software out of the old, proprietary framework also left our client in a much better position to maintain the system. The rigor and discipline we applied throughout our work together gave our client confidence in the safety and integrity of the controls software for years to come.
Recent Case Studies
Automating secure transactions
Setting the foundation for future cloud work
Let’s develop something special.
Reach out today to talk about how we can work together to shake up your industry.