News for hackers. Stuff that matters.
Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by Someone1234 on Tuesday March 03, 2015 @10:18AM (#9138041)
> The agency is primarily a regulatory body, responsible for keeping the national airspace safe, and yet it is also in charge of operating air traffic control, an inherent conflict that causes big issues when it comes to upgrades.

There's no conflict there.

Now NSA meant to keep US infrastructure safe, and attack US companies/people is a conflict. But the FAA being responsible for both safety and ATC is far from a conflict.

I'd prefer the FAA moved slowly and got it right. This isn't an area where young-hip 20 somethings re-invented the tech' in the latest web-2.0 fad. This is an area where you want mathematically provable correctness and unit testing up the ying-yang.

Get it right slow, don't get it wrong fast.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by ufmace on Tuesday March 03, 2015 @11:56AM (#9138764)
Based on the article, it sounds like they're getting the worst of both worlds - getting it wrong slow. They've been working on it for how many years, and it can't handle seeing a plane at 60k ft without crashing the whole thing?

I have some sympathy for the idea that most modern software companies, especially VC-funded startups, tend to prioritize getting to market fast over making everything exactly right. I'm not even saying it's wrong for them and their market. But if we're looking for something that's well-designed and carefully tested before going to market, along with a process designed to produce that, this doesn't sound like it at all.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by Fuxy on Tuesday March 03, 2015 @10:44AM (#9138219)
I completely agree with you safety should never be compromised just for the sake of modernization however when it takes 40 years to upgrade you're doing it wrong.

There should be ways of introducing new tech and features while slowly fading out the old ones however you don't switch from one to the other until it has been reasonably field tested.

One problem is they went to a defense contractor to build software instead of a software company.

I'm sure their software is great in their spy airplanes where it will never see the light of day and you can cover it up if it fails majorly however I wouldn't want it in the air traffic control computer.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by nfoz on Tuesday March 03, 2015 @11:40AM (#9138616)
> One problem is they went to a defense contractor to build software instead of a software company.

That's not a problem. That's why it ever worked properly in the first place, let alone working correctly for 40 years. Why shouldn't your system last for 40 years?

FTA:

> Modernization, a struggle for any federal agency, is practically antithetical to the FAA's operational culture, which is risk-averse, methodical, and bureaucratic.

I don't understand the tone of this article. Risk-averse, methodical, bureaucratic.... that's exactly what I want them to be!!

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by Someone1234 on Tuesday March 03, 2015 @11:23AM (#9138501)
> One problem is they went to a defense contractor to build software instead of a software company.

Devil's advocate here:

Most software companies simply aren't up to the task. They're just not suited to building provable software from design through implementation often requiring the use of functional languages.

If you look at who does most aircraft software (or similar safety systems) it is mostly by certified engineers who just happen to "engineer" in software, rather than programmers who try to be engineers.

I'm a programmer, I am not ashamed of that. But realistically the way I work is in no way transferable to a safety critical system. In that situation every single function needs to have a unit test, it needs to have reliable input and output, and ideally it needs to self-identify hardware-caused undefined state and fail-safe.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by forgottenpass on Tuesday March 03, 2015 @11:33AM (#9138562)
I'm a programmer, I am not ashamed of that. But realistically the way I work is in no way transferable to a safety critical system.

I'm a programmer on a safety critical system. It doesn't require getting a PE, it requires a good quality system and a sizable amount of scorn towards the forces that want to reduce our profession to nothing more than a trendhopping slapdash self-congratulatory shitshow.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by 0xdeadbeefbabe on Tuesday March 03, 2015 @11:46AM (#9138679)
I'll guess that you don't use "provably correct" functional programming out of scorn for trendhopping etc. Am I right?
Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by foldr on Tuesday March 03, 2015 @07:43PM (#9141968)
It's possible to prove the correctness of non-functional code too. It also tends to be much easier to reason about the time and space behavior of code written in, say, C. In a system with hard real time requirements that's very important.

You also have to consider the compiler. Proving that your Haskell code is correct is largely pointless if you then compile it with a compiler that hasn't been proven correct. At a minimum that's going to mean compiling the code with a lot of the fancier optimizations turned off, which can lead to a rather severe degradation in performance in the case of a pure functional language.

My guess is that there are not currently any functional languages that (i) are significantly easier to formally verify than C or Ada, (ii) have predictable time and space behavior, and (iii) have implementations that are both extremely well-verified and reasonably performant.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by frik on Tuesday March 03, 2015 @01:49PM (#9139715)
Most such critical software is written in Ada or C and run on an real time operating system.

A functional programming style or (almost) pure functional language would help to with (semi) automatic static code proofing.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by viccuad on Tuesday March 03, 2015 @11:49AM (#9138701)
I studied CS, and mathematical software verification and functional languages where mandatory in my uni.

Unless you are an engineer by accident, I would say you should be as prepared as you could be (albeit new to the field).

Honestly, the stance you share in this topic is why normal people historically has not seen computers and software as a reliable thing and continue to use half-assed software such as Windows for example.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by frik on Tuesday March 03, 2015 @01:54PM (#9139740)
True.

But a bad example. Microsoft uses automatic proofing for their (and third party) device drivers. Windows NT series is very reliable and has one of the best OS designs. The Win32 subsystem and shell comes with a lot of legacy and is a different story.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by viccuad on Tuesday March 03, 2015 @04:12PM (#9140784)
That's a bad example, true. In my defense I have to say that I jumped ship before NT, but I remember how people looked at NT's Blue Screen of Death(™) as if it were a normal thing to have in computers and software.
Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by emodendroket on Tuesday March 03, 2015 @12:47PM (#9139192)
Windows, as it exists today, has stronger engineering and reliability than the vast majority of software on the market, despite being saddled with legacy baggage. You definitely could have chosen a better example.
Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by mikeash on Tuesday March 03, 2015 @10:23AM (#9138077)
Isn't safety the whole point of ATC? Planes don't need ATC to get from place to place. They need ATC to keep them from bumping into each other while they do it. How is it anything but safety?
Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by jbza on Tuesday March 03, 2015 @11:26AM (#9138518)
I don't see why we can't move fast and get it right. My idea is to use formal methods to have verified communication protocols and plane operations. While we are at it, we might as well get rid of pilots as well.

Still a humongous undertaking, don't get me wrong. But at least it is a 5 year plan versus a 20-30 year plan which is the current thought plan as I see it.

Re:Why 40-Year Old Tech Is Still Running America's Air Traff... by frobozz on Tuesday March 03, 2015 @11:27AM (#9138520)
Agreed. Even more, how can you keep the national airspace safe without operating ATC? Here are two options:

* Don't bother, just let the planes fly wherever they want, but levy a fine when they crash.

* Put it out to tender every 5 years and fine commercial ATC operators when crashes occur.

Both of them shut the stable door after the horse has bolted, and would probably require them to operate at least a passive sort of ATC themselves in order to assess blame.