Python for air traffic control?

Peter Milliken peter.milliken at gtech.com
Mon Jul 2 17:34:54 EDT 2001


Funny, I thought all of the April Fool jokes were out on the 1st April, did
this one get delayed (badly) somewhere along the line?

Python is a fine language for quick and dirty prototyping. For banging out
applications that are going to run in an environment where it isn't going to
matter if the program crashes, but it is certainly not something I would put
forward for something like Air Traffic Control.

This is a joke, right?

Gerrit makes some good points here. Add to this that after 20+ years of
experience in the software world (real-time programming all of it), my
experience says that between 25%-50% of any group of programmers you ever
work with in your career should have listened to their mothers and been
"butchers, bakers or candlestick makers" - NOT programmers! That is the
single biggest driving factor for all of this quality, CMM etc movements -
but that's another story :-).

Based upon Gerrit's observations, which I fully endorse, anybody who doesn't
use the most strongly typed language they can find for an application like
Air Traffic Control, has to put it mildly, rocks in their head :-).

Don't get me wrong, Python is a nice language and you could probably do the
job with it with enough time and effort. But as an earlier respondent said,
you would literally have to test it to death and then some! i.e. because of
the lack of type checking  there could be a single line of code somewhere
that has never been run that could cause catastrophic failure of the
application (architectural design *might* mitigate this but it gets back to
the people factor - something I don't trust :-)). At least with a strongly
typed language, even if a line of code has never been run, you are
reasonably assured that when it does run it won't crash due to a variable
being mispelled or mis-used.

Of course, I could at this point say I would never venture into air space
controlled by such as system, but I know it would never get off the ground
(so to speak :-)) because to do it in Python would mean it would never pass
acceptance testing - sure you could code it just as fast (if not faster)
than most other languages used for this application area but you would be in
the test phase forever - or at least until the customer cancelled the
contract :-). So keep dreaming :-)

Peter


"GerritM" <gmullerNoSpam at worldonline.nl> wrote in message
news:9hlfbn$6ok$1 at nereid.worldonline.nl...
> Safety is first of all a determined by the quality of the design and
> secondly by the engineering skills of the developers. Most errors found
> during the developement lifecycle have little relationship with type
> checking or prototyping. Instead semantic errors and missing design
aspects
> (such as performance, exception handling, concurrency etcetera) are the
> majority of errors.
>
> The use of a clear and expressive language, such as Python, will help to
> decrease this category of errors. However, keep in mind that the quality
of
> the architects and engineers is an absolute must for this type of
> application!
>
> Regards Gerrit
>
> --
> www.extra.research.philips.com/natlab/sysarch
> "Russ" <18k11tm001 at sneakemail.com> schreef in bericht
> news:bebbba07.0106291642.6c799d15 at posting.google.com...
> > I am thinking about using Python for a unique safety-critical
> > application in air traffic control. It will monitor a few hundred
> > aircraft for conformance to assigned trajectories, and it will
> > initiate an automatic alarm (for both controller and pilot) if an
> > aircraft deviates from its assigned trajectory and is in danger of a
> > collision. (The trajectory and tracking data will come from existing
> > C/C++ programs.) The software must be as simple, clean, and robust as
> > humanly possible. The default languages here are C/C++, but I am
> > toying with the idea of using Python instead. However, I am a bit
> > nervous about the lack of type checking and function prototyping,
> > among other issues. Is Python up to this task? Thanks for your
> > insights.
>
>





More information about the Python-list mailing list