TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Jeffrey Carter <[log in to unmask]>
Sun, 16 Jan 2005 10:16:01 -0600
text/plain (52 lines)
Laurent GUERBY wrote:

> Hi, a geek used PC104 hardware to build
> a high altitude glider, and set up his
> choice on C for software, but he considered Ada.
> Does someone know about a usable GNAT/PC104-DOS cross?

Is this a troll? Isn't a DOS platform a DOS platform? If so, we already
have GNAT for DOS. (Note the reference to "machine-code level
compatibility between the software modules and data
structures both in the aircraft and on the ground")

> An Ada / Unix based system would seem to be the ideal - the most
> virtuous.  But Ada's structure and design-for-reliability approach is
> burdened by poor support on "civilian" platforms, and in particular a
> very large instruction set that, in the view of many experts in the
> field, hinders its in-practice suitability for reliable systems, no
> matter what its reputation is.  Unix, as well, is not very available for
> 16-bit embedded systems, and 32-bit systems are too battery-hungry.

Ada is used for the safety-critical avionics software on both Airbus and
Boeing commercial airliners. Thus, the suitability of Ada for reliable
systems is proven, and these so-called "experts" are not.

> This would also put a higher burden on the practices used, instead of
> reliance on the reputation of a language to provide quality.  It turns
> out that many established high-reliability system developers take this
> approach, where reliability largely rests on programmer practices and
> rigorous static-checking.   Automatically-verifiable standards have been
> developed, such as MISRA-C, to ensure reliable, fail-safe end products
> with the C language.  The book Safer C - Developing Software for
> High-Integrity and Safety-Critical Systems, has also been a great help,
> as have numerous websites (most of which I've since lost track of), on
> developing good programming practices.

Almost the 1st thing the MISRA-C guidelines say is that Ada is better
than C for reliable SW.

Perhaps the best language for reliable SW is SPARK, which can be
compiled to run without a run-time library. If concurrency is required,
there is RavenSPARK.

The guy sounds as if he might have the super-human discipline needed to
pull this off in C, but since he's human, I have to doubt it.

Jeff Carter
"Every sperm is sacred."
Monty Python's the Meaning of Life