Safety and security are big concerns in the embedded-systems world these days. Problem is, few of us really know how to add “security” to our products when nobody can even tell us what that means. We’re also finding out it’s hard to patch security into an existing system. It’s easier to design it in from the outset.
That’s where Ada comes in. Ada is a programming language (some would call it a religion) that was designed to create safe, secure, and reliable embedded systems. Think military electronics, missiles, and airplanes. If you want a dead-reliable system (so to speak), you probably want to program it in Ada. In fact, your government may require you to program it in Ada.
One of the bigger suppliers of Ada tools is AdaCore. Its GNAT (Gnu Ada Translator) product had been arming Ada aficionados for many years. AdaCore’s original GNAT software is open-source, so you can download it for free from the Free Software Foundation (FSF) if you like. AdaCore will also happily sell you its more-advanced GNAT Pro, which is a pre-configured “shrink wrap” version for various platforms. Your call.
Either way, AdaCore offers 24/7 technical support for GNAT and its spinoff products in return for an annual subscription fee. Of the company’s 100 employees, fully 80% of them are engineers and all of them are dedicated to technical support first and foremost. In other words, AdaCore has no tech-support staff; the engineers are it. When you have a technical question, one (or more) of AdaCore’s programmers will get back to you.
The company offers three “flavors” of Ada tools, depending on which government safety/reliability standard you’re trying to hit. There’s a DO-278 version; a DO-178B version (for avionics); and a MILS (multiple independent levels of security) version. Depending on the version you use, your Ada code may run on top of a normal operating system, or it may need a specially certified secure operating system. Just depends on what you’re trying to do.
Because GNAT is all open-source, you can keep the source code handy for code inspection or just as a safety net. And that adds a whole extra level of security.