A slide from AdaCore CEO Franco Gasperoni's recent Technical Interchange Meeting (TIM) presentation where he discussed the new FACE conformant capabilities his company hopes to develop.
AdaCore, a commercial software solutions company, is developing new software capabilities for open system standards that promote reuse and portability and that are becoming more common within avionics systems. Franco Gasperoni, CEO of AdaCore, spoke with Avionics International about the changes his company is making and what future capabilities he wants to develop within the standards.
AdaCore does not directly use the Future Airborne Capability Environment (FACE) standards because they do not develop avionics systems. Instead, their software development environments allow their customers to develop FACE conformant software. Gasperoni said one of the main areas they are focusing on with FACE is reuse.
The FACE technical standard provides requirements for developing avionics software. Conforming to these requirements ensures the use of standardized interfaces and data architectures that can lower software development and integration costs, and, by doing so, boost avionics abilities.
Gasperoni recently spoke about his work with FACE at a virtual Technical Interchange Meeting (TIM) hosted by NAVAIR. Following the TIM, one of his takeaways was the convergence of the military service branches on their initiatives for avionics component reuse and open architectures. This is essential knowledge for Gasperoni since his company supplies software used by the defense industry.
“I got a sense they were really trying to pull their avionics efforts together under this Modular Open Standard Architecture (MOSA) umbrella and it wasn't just FACE, and that's because FACE just covers one aspect of the problem that the DoD is trying to solve, which is how can we reuse the pre-developed components that worked on other aircraft on new planes,” Gasperoni said.
Gasperoni said he understood that the Department of Defense (DoD) was looking towards platform integration and Model-Based Systems Engineering (MBSE), because the cost savings can increase as you go higher in the system and software life cycles.
“Model-based systems engineering is a central aspect of reuse,” Gasperoni said. “It allows the engineer to express a control system at a high level, in a platform-independent graphical notation like Simulink, which then can be translated into source code and eventually compiled into the platform-specific object code for the application.”
Reuse also helps with another goal: portability.
“You can say yeah we can use most of this stuff but if you're going to spend millions in trying to transport it to a new architecture, or a new operating system, then it sort of defeats the reuse,” Gasperoni said.
AdaCore joined the Open Group's FACE consortium in 2012 and became a principal member last year. According to Gasperoni, they have allocated staff to participate in the development and monitoring of the FACE standards.
According to Gasperoni, a key element is run-time libraries, which AdaCore provides. Among other things, these allow customers to write concurrent programs in a portable fashion, with separate threads of control possibly running on different cores.
“Everybody can do concurrency, and everybody can do it in every language. The challenge is, can you do it portably,” Gasperoni said.
Gasperoni said his company is also developing a coding standard that will check if the features a customer is using in an application are FACE compliant. When looking towards the future, Gasperoni is excited about the development of program proving technology.
“One of the things which is very exciting, is the growing use of mathematics-based verification techniques within the high-assurance software industry in general, and with avionics software in particular,” Gasperoni said. “Your system might have safety- or security-critical requirements, like correct information flow or absence of crashes, and you have to show that these properties are met. Testing can never give you complete confidence, but with so-called formal methods you can demonstrate that your program is safe and secure under all input conditions.”
Gasperoni explained that, thanks to advances in proof technologies, language design, and hardware speed, these techniques are becoming more mainstream, and that AdaCore is developing products that apply formal methods early in the software life cycle.
“The developer, the software engineer, has to make a big jump between activities where humans are good, at creative thinking, at a big picture architecture, and things that are a bit tedious," Gasperoni said. “Checking properties at the higher level, and then automatically verifying that these properties hold as requirements are refined into design and later into code, that’s where we’ll really see the payoff.”