This interview is part of an ongoing series VDC conducts with IoT and embedded software solution providers to share views on their company, products, and state of the market.
In part one, Quentin Ochem of AdaCore explains that reports of Ada’s death are greatly exaggerated.
VDC: To get started, could you provide our readers an introduction to your company, AdaCore?
Quentin: AdaCore was founded in 1994, with a commercial offering based on the GNAT compiler, which was created as a demonstrator for the Ada 95 language. We develop software development tools (compilers, IDEs, static analyzers, and testing tools) to meet the needs of high-integrity applications, for example as found in aircraft or train control systems. Our core focus has always been the Ada language, but, to serve the needs of our market, we offer similar solutions for the C, C++ and Simulink® languages. In terms of market, we today serve mostly the Aerospace & Defense (A&D) segment as well as Railway, but you’ll see in our contact customer base a growing number of those outside the classical A&D cultural bias for Ada.
VDC: Most Ada usage is centered on safety-critical industries and systems requiring very high reliability. What are the reasons that Ada use is so frequently associated with these types of applications?
Quentin: If you focus on safety and reliability, there’s little question of Ada’s superiority over similar languages. It was designed from the get-go to mitigate programming errors and maintains this goal today. In a nutshell, the language allows – and often forces – you to specify your intent as you develop code, and failures to comply with this intent will result either in compilation errors or be detected early during test phases.
Of course, I’m not saying it’s impossible to develop high integrity systems with C, C++ or other languages. People do that every day, and often successfully (which is unfortunately not the case for the F-35). What I’m saying is that it requires more skills, more effort, more processes, and more complex tools to reach similar level of integrity.
VDC: While our research shows continued use of Ada in certain applications, occasional articles report on the death of Ada. Can you set the record straight from your perspective?
Quentin: Many of these articles repeat the same stories over and over again. Ada, as the previous generation of developers knew it, died in the early 2000’s. If you talk about Ada usage on the F-35, that’s what you’re talking about. Today’s Ada market is remarkably stable. Actually, if you look at our existing core set of customers, you won’t see a drop in Ada usage – you’re actually going to see an increase. We believe the chances of dropping the language depends on the technology being used. There’s no mystery to this.
Announcing availability of Ada 2005 and x86 64-bit support while others talk about Ada 2012 and ARM doesn’t put you in the best position.
Let’s be historically fair. Given the situation at the technological level at the time - in particular a lack of tools - the language would have probably died were it not protected by prohibitive rewrite costs. Ada survived in a niche thanks to the inertia of the A&D industry more than the merits of the technology. In that sense, it is the end of the Ada era as people knew it from the 80’s and 90’s.
VDC: Please talk a bit about this tooling situation – what initiatives have AdaCore or others taken to resolve these issues and advance the market for Ada?
Quentin: When Ada first came out in the 80’s, it was ahead of its time. As a result, compilers were buggy, heavy, and generated poor code with a significant footprint. AdaCore was created following a DoD attempt at improving this situation, the GNAT compiler project.
The next issue was the lack of software tools. Take SCADE®, which didn’t have any decent (i.e. qualified) Ada code generator. Fixing this problem became our business strategy. A developer should find the same level of tool support for C, C++ and Ada. This covers hardware support (the most recent being ARM), development tools (modern IDE), software life cycle tools (test and static analysis) and recently modeling (Simulink® to Ada code generator).
The open-source positioning of GNAT also greatly helps sustaining the language. This is obvious for the hobbyist ecosystem, but we’ve seen companies take GNAT and adapt it for their own needs. CDS – ex Rolls Royce - ported it to their custom processor for example.
Other tool vendors also invest in the language. We have regular contact with companies like VectorCast (who recently announced Ada 2012 support), RTI, IBM (Rapsody), Squoring…
When people complain about Ada technology, in particular if they have gray hair, it’s important to remember that they’re talking about the technology of the past millennium – a heavy, buggy, expensive and cumbersome technology. This old Ada era died and we’re all happy about that. On that note, it’d be interesting to find out what Ada technology F-35 migrated from – I can guarantee it wasn’t GNAT.
Quentin Ochem leads the technical account management and business development activities at AdaCore, in connection with projects from the avionics, railroad, space, and defense industries, both in Europe and North America. His software engineering background includes a special focus on development and verification tools for safety- and mission-critical systems. Quentin has over 10 years of experience in the Ada programming language and has conducted customer training on numerous topics, including the Ada language, AdaCore tools, and the DO-178B and DO-178C software certification standards.
In part two, Quentin provides insights into how he sees the Ada market evolving.