[comp.lang.ada] Ada in Industry: Merit not Mandate

pattis@cs.washington.edu (Richard Pattis) (12/22/90)

One of my ex-students is now highly placed in Boeing Commercial (not
Aerospace - the government contracting division).  He is in charge of
Avionics for the new 777.  He reported to me that of the expected 10M lines
of avionics code, about 60% will be written in Ada (this is up from 2M lines
out of 6M in their last plane).  He says almost all new software will be
written in Ada: much of the 4M lines of non-Ada code will control more
straightforward systems unchanged from previous airplanes.

The numbers are approximate, but I believe that this is an example of a
company in an economically competitive market that has chosen to use Ada
based on merit, not mandate.

Rich Pattis

jamesth@microsoft.UUCP (James THIELE) (12/27/90)

In article <14228@june.cs.washington.edu> pattis@cs.washington.edu (Richard Pattis) writes:
| One of my ex-students is now highly placed in Boeing Commercial (not
| Aerospace - the government contracting division).  He is in charge of
| Avionics for the new 777.  He reported to me that of the expected 10M lines
| of avionics code, about 60% will be written in Ada (this is up from 2M lines
| out of 6M in their last plane).  He says almost all new software will be
| written in Ada: much of the 4M lines of non-Ada code will control more
| straightforward systems unchanged from previous airplanes.
| 
| The numbers are approximate, but I believe that this is an example of a
| company in an economically competitive market that has chosen to use Ada
| based on merit, not mandate.
| 
| Rich Pattis

I wouldn't be too sure about the *merit* issue.  I used to be intimately
involved with a 747 project at Boeing and am still in touch with Boeing
and vendor personnel on the 777.  The vendor who used Ada on my project
for the 747-400 (circa 1987-89) and those who are using it for the 777
do both commercial *and* DOD work.  They make no bones about the fact
that since they expect to have to use Ada on future DOD contracts they
might as well standardize on Ada for all their jobs.  The idea that they
are using Ada solely on merit does not, it seems to me, match history.

Nonetheless there are advantages to using Ada in that environment.  To
my mind there is the language standardization issue - these vendors were
in the past using all kinds of languages: FORTRAN, PASCAL, PL/M, and
weird ALGOL dialects can all be found in late 70s and 80s vintage
avionics code.  Ada certainly is a better language than most or all of
these others.  Note, however, that Boeing Commercial Airplanes division
has not in the past required any given language be used by a supplier and
they aren't on the 777.

Another factor that I feel is leading to greater use of Ada is standardization
on fewer processor types.  On the 757 and 767 there where thirteen (13!)
vendor designed types of 16-bit minicomputers and over twenty types of 8-bit
micros, each programmed in assembler or with a vendor's home grown
compiler.  On the 777 almost every major processor will be from the 80x86 or
680x0 families or one of a few RISC types.  With maturing Ada compilers
available on these machines it is getting easier to go with Ada.  Note the
word *maturing* - in 1986 we did a study at Boeing that failed to find
a single 68000 Ada compiler that could generate code that ran within a factor
of two speed of a comercial PASCAL even on simple looping programs.

One thing that is not an advantage for Ada in this environment is Ada's
tasking model.  Vendors typically build a tasking executive that they call
from since Ada tasks fit avionics problems so poorly.

Also please note that Ada is not a panacea.  It is perfectly possible
to write a bad Ada program.  I have a wonderful horror story on this point.

James Thiele -- microsoft!jamesth

USE Standard_Disclaimer;