“[Using Simulink and Embedded Coder] we found we could do in half a day what previously took a week or more … It is pretty easy to see at least a five-to-one improvement over the way we used to work.”Wayne King, Honeywell
Honeywell’s Commercial Aviation Systems (CAS) division set out to strengthen its position as the world-leading supplier of avionics systems for business and commuter aircraft. Their strategy involved updating their flagship product, the Primus series flight-control system.
“In our business we have pretty low volume, and our nonrecurring costs are very high,” says Bill Potter, staff engineer at CAS. The upgrade had to be accomplished within a framework of reducing development time and costs. This meant “put[ting] emphasis on improving the development process.”
The design process at CAS had previously moved through a traditional cycle in which engineers specify what the software is supposed to do and then a programmer interprets those specifications and writes the code. This procedure was not only time-consuming and error-prone; it also tended to put the code out of sync with the engineers’ original specification and intent.
Honeywell began exploring the latest design tools from MathWorks. By using new technology, they hoped to enable one team to design, model, and simulate the flight control laws, automatically generate flight-ready code based on the engineers’ intent, and reuse the highly modular code in other designs.
“We took our old designs and converted them to MATLAB,” said Potter. This had one immediate effect, he added: “We actually uncovered a whole bunch of errors in our old documentation.”
Their success with MATLAB® led CAS to try Simulink® for modeling, simulation, and verification, a move that quickly proved valuable, with shorter design times and fewer iterations.
“It is really easy for us, when we find a problem, to analyze Simulink models and come up with options. We have it modularized. It’s a huge time saver. It’s very fast,” said Wayne King, CAS principal engineer.
The next step was to create control code for the flight controller. Nearly 60% of the code for the upgraded Primus series was generated by Embedded Coder® from a Simulink model. It was an easy matter to integrate the new code with code that had been written before, which meant that no existing code was wasted and that there was no duplication of effort.
Engineers found that the new development process had a positive effect on documentation as well. Once they switched to Simulink and Embedded Coder, it was easier to keep documentation in step with software development because control code was now drawn essentially from the specification itself. King recalled that once they switched over to Simulink and Embedded Coder, they were forced to update the drawings in Simulink and then generate the code from that, which meant that the specs and the code were always in sync.
A five-to-one improvement in productivity. “[Using Simulink and Embedded Coder] we found we could do in half a day what previously took a week or more,” said King. “It is pretty easy to see at least a five-to-one improvement over the way we used to work.”
Highly accurate, reusable code. “We’ve never seen a coding error from Embedded Coder,” King said. “It always produces reliable, quality code. It always works as we designed. It’s been a big benefit to us.” Potter added, “We are planning to get substantial reuse of the engineers’ work. We’ll have a baseline that can be modified to fit the new customers’ needs.”
A superior product. The revamped flight control system passed all flight tests and received Federal Aviation Administration certification in July 1998. In November 1998, the Primus Epic™ was named as the standard avionics system for the Hawker Horizon business jet from Raytheon Aircraft.