April 1, 2012
Robert Dewar of AdaCore imparts information and advice on ensuring the safety and security of unmanned aerial vehicles (UAVs).
UAVs will share public airspace. What are some concerns?
UAVs do not pose quite the same set of safety concerns as manned aircraft. Obviously, there are no pilots or passengers on board to worry about; however, the risks to other aircraft from air collisions and to people on the ground from ground collisions are just as real. UAVs, like manned aircraft, are heavily dependent on complex software.
For commercial aircraft, and increasingly any military aircraft flying through commercial space, we have rigorous requirements for software in the form of the DO-178C standard. These standards, in practice, are remarkably effective, as evidenced by the fact that we have never lost a life due to a software bug on a commercial aircraft in the entire history of commercial aviation.
Unfortunately, UAV software is written without any requirements for meeting this or any similar standard. Instead, it is typically written using normal industry practices for commercial software; but, we only have to look at news stories that come out every week, not to mention our own experiences with commercial software, to know that such industry practices are far from reliable.
Do current software tools offer protection from drones being hacked by adversaries?
We do have techniques for writing highly reliable, unhackable secure software. We simply have to take matters more seriously and deploy such techniques in this context. This may possibly involve additional costs, but clearly such costs are warranted; in fact, it is not always clear that it does cost more to do things right. The cost of failed missions is high!
Can UAV close calls and accidents be prevented with software testing and verification?
Exactly-by applying the same kind of techniques that are reliable enough for us to all feel safe flying on modern commercial aircraft, even though our lives in such a circumstance depend on the absolute reliability of complex software systems. (The software onboard the Boeing 787 is more than 5 million lines of critical code.)
What advice would you offer to the Federal Aviation Administration (FAA)?
A starting point would be to require DO-178 certification for all planes flying in commercial space, including UAVs. If you fly a Cessna around, its software must be certified. Why should we have laxer standards for UAVs?
What advice would you give engineers and developers involved with UAVs?
All engineers need to adopt the "failure-is-not-an-option" attitude that is necessary for producing reliable, certified software. UAVs require at least as much care as commercial avionics applications.
Title: President and CEO
Role: Provider of commercial software solutions for the Ada programming language for safety-, security-, and reliability-critical applications
this Article, go to: