comp.lang.ada
 help / color / mirror / Atom feed
* Ada for Boeing 777
@ 1996-02-19  0:00 Frank Petranka
  1996-02-20  0:00 ` Ted Dennison
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Frank Petranka @ 1996-02-19  0:00 UTC (permalink / raw)


I just finished reading "Software Development for the Boeing 777" in
the January issue of CrossTalk.  This article was written by Ron Pehrson 
who was the manager of embedded software engineering at Boeing.  The 
article states that 2.5 million lines of new software were developed and 
about 70% of the code was Ada.  The remaining code was other laguages 
"such as C or Assembly".  Mr. Pehrson writes:

  "What we have learned so far about the use of Ada on the 777 is a mixed 
   message. ... We found no correlation between the languages used and
   the number of problems found on the system.  We found instances where
   Ada was used effectively, and the developers felt it substantially
   reduced software integration problems.  In other cases, development
   was hampered by problems with compilers and other support tools....

   The richness and complexity of the language helped knowledgeable users 
   with mature tools achieve modest productivity gains.  However, the 
   complexity of the language caused headaches for other users who had
   to work through compiler problems. ..."

As someone who has used both Ada and C, I was suprised and disappointed
that code written in Ada produced no fewer problems than code written in
C.  Athough variables such as experience, code complexity, etc. could
affect the results, it seems to me that they should average out on
such a massive project.

Am I expecting too much from Ada?   


Disclaimer: The views or opinions expressed in this article are of the user 
and do not, in any manner, reflect that of the Navy.

            Frank J. Petranka          Naval Surface Warfare Center
            (540)653-4849              Dahlgren, Va. 22448
                    fpetran@relay.nswc.navy.mil





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-19  0:00 Frank Petranka
  1996-02-20  0:00 ` Ted Dennison
@ 1996-02-20  0:00 ` Steve Howard
  1996-02-21  0:00   ` Robert Dewar
  1996-02-23  0:00   ` Howie (Torsten Kleine Buening)
  1996-02-23  0:00 ` Vance Christiaanse
  2 siblings, 2 replies; 8+ messages in thread
From: Steve Howard @ 1996-02-20  0:00 UTC (permalink / raw)


Frank Petranka quoted:
>   "What we have learned so far about the use of Ada on the 777 is a mixed
>    message. ... We found no correlation between the languages used and
>    the number of problems found on the system.  We found instances where
>    Ada was used effectively, and the developers felt it substantially
>    reduced software integration problems.  In other cases, development
>    was hampered by problems with compilers and other support tools....
> 
>    The richness and complexity of the language helped knowledgeable users
>    with mature tools achieve modest productivity gains.  However, the
>    complexity of the language caused headaches for other users who had
>    to work through compiler problems. ..."
> 

Although I am not familiar with the article, or the project for that matter, 
it sounds like the problems that they had have more to the tools chosen
than Ada itself. The fact that the developers found it much easier to 
integrate the system speaks volumes for the effectiveness of Ada, since
IMHO this is the hardest part of large system development, and one of
Ada's strongest attributes.

We had similar experience with the development of the AN/BSY-2 Combat system
for the Seawolf Submarine (3.5+ million lines, mostly Ada). 

> Am I expecting too much from Ada?

Not necessarily. Much depends on the experience of the engineers, the development
process used, and the tools in place. Engineers who have previously written in C
often find ways around the protective features of Ada to fit C development style,
for example.... (sure to start a flame war, but what the heck)



-- 
E. Steve Howard                | Lockheed Martin
                               | Ocean, Radar, & Sensor Systems        
mailto:howard@mtm.syr.ge.com   | Syracuse, NY




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-19  0:00 Frank Petranka
@ 1996-02-20  0:00 ` Ted Dennison
  1996-02-20  0:00 ` Steve Howard
  1996-02-23  0:00 ` Vance Christiaanse
  2 siblings, 0 replies; 8+ messages in thread
From: Ted Dennison @ 1996-02-20  0:00 UTC (permalink / raw)


Frank Petranka wrote:
>    The richness and complexity of the language helped knowledgeable users
>    with mature tools achieve modest productivity gains.  However, the
>    complexity of the language caused headaches for other users who had
>    to work through compiler problems. ..."
> 
> As someone who has used both Ada and C, I was suprised and disappointed
> that code written in Ada produced no fewer problems than code written in
> C.  Athough variables such as experience, code complexity, etc. could
> affect the results, it seems to me that they should average out on
> such a massive project.
> 
> Am I expecting too much from Ada?
> 

It seems that they were saying that the folks who were not 
"knowledgeable users" were the ones who saw lower productivity
(versus, I presume, knowledgeable C users) I wouldn't consider that
a shocking result.

It seems the lesson here is that a lack of knowledgeable Ada 
personell can negate any productivity gains you were expecting to
get from using the language. It is pretty easy to find articles
on C++ development that come to the same conclusion. Again, hardly
shocking. Experience pays.

I don't find the fact that there is a learning curve particularly 
damning.

-- 
T.E.D.          
                |  Work - mailto:dennison@escmail.orl.mmc.com  |
                |  Home - mailto:dennison@iag.net              |
                |  URL  - http://www.iag.net/~dennison         |




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
@ 1996-02-21  0:00 Jean-Pierre Rosen
  0 siblings, 0 replies; 8+ messages in thread
From: Jean-Pierre Rosen @ 1996-02-21  0:00 UTC (permalink / raw)


At 16:33 19/02/1996 GMT, you wrote:
>[...]
>  "What we have learned so far about the use of Ada on the 777 is a mixed
>   message. ... We found no correlation between the languages used and
>   the number of problems found on the system.  We found instances where
>   Ada was used effectively, and the developers felt it substantially
>   reduced software integration problems.  In other cases, development
>   was hampered by problems with compilers and other support tools....

If you read  carefully this message, it actually matches a lot of experience
from other people: benefits are attributed to the  *language*, while
drawbacks are attributed to *tools*. Often, as here, the distinction is not
made, but it is important: it is MUCH easier to fix a compiler bug than a
language flaw !!!
+------------------------------------o-------------------------------------+
| P-mail:                            | E-mail: rosen@enst.fr               |
|   ADALOG - 27 avenue de Verdun     |    Tel: +33 1 46 45 51 12           |
|   92170 Vanves - FRANCE            |    Fax: +33 1 46 45 52 49           |
+------------------------------------o-------------------------------------+




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-20  0:00 ` Steve Howard
@ 1996-02-21  0:00   ` Robert Dewar
  1996-02-23  0:00   ` Howie (Torsten Kleine Buening)
  1 sibling, 0 replies; 8+ messages in thread
From: Robert Dewar @ 1996-02-21  0:00 UTC (permalink / raw)


Interesting quote"

>   "What we have learned so far about the use of Ada on the 777 is a mixed
>    message. ... We found no correlation between the languages used and
>    the number of problems found on the system.  We found instances where
>    Ada was used effectively, and the developers felt it substantially
>    reduced software integration problems.  In other cases, development
>    was hampered by problems with compilers and other support tools....
>
>    The richness and complexity of the language helped knowledgeable users
>    with mature tools achieve modest productivity gains.  However, the
>    complexity of the language caused headaches for other users who had
>    to work through compiler problems. ..."

What we have here is two notes that the language itself was helpful, and
two notes that tools were a problem. Note that even the negative mention
of the complexity of the language is apparently directly related to the
assumption that this complexity is what is causing "compiler problems".

As is often the case, people do not stop to carefully distinguish the
language from the implementation, and to be fair, why should they? After
all they have to use a compiler to use the language. 

It is certainly the case that a disadvantage of complex languages is that
it is harder work to get reliable tools. This applies independent of the
particular language used (for example, C++ compilers are typically much
buggier than C compilers). 

One problem with the 777 was that, at least as I understand things, a
decision was made to use Ada, and then to use processors for which mature
Ada compilers did not exist. This is of course a recipe for aggravating
the difficulties caused by compiler problems.

Clearly a critical issue for the success of Ada 95 is to bring Ada 95
compilers and tools to the best possible level of maturity as quickly
as possible -- so I think I had better get back to work on GNAT :-)





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-20  0:00 ` Steve Howard
  1996-02-21  0:00   ` Robert Dewar
@ 1996-02-23  0:00   ` Howie (Torsten Kleine Buening)
  1 sibling, 0 replies; 8+ messages in thread
From: Howie (Torsten Kleine Buening) @ 1996-02-23  0:00 UTC (permalink / raw)


On Tue, 20 Feb 1996, Steve Howard wrote:

> Date: Tue, 20 FEB 1996 08:37:28 -0500=20
> From: Steve Howard <howard@mtm.syr.ge.com>
> Newgroups: comp.lang.ada
> Subject: Re: Ada for Boeing 777=20
>=20
> Frank Petranka quoted:
> >   "What we have learned so far about the use of Ada on the 777 is a mix=
ed
> >    message. ... We found no correlation between the languages used and
> >    the number of problems found on the system.  We found instances wher=
e
> >    Ada was used effectively, and the developers felt it substantially
> >    reduced software integration problems.  In other cases, development
> >    was hampered by problems with compilers and other support tools....
> >=20
> >    The richness and complexity of the language helped knowledgeable use=
rs
> >    with mature tools achieve modest productivity gains.  However, the
> >    complexity of the language caused headaches for other users who had
> >    to work through compiler problems. ..."
> >=20
>=20
> Although I am not familiar with the article, or the project for that matt=
er,=20
> it sounds like the problems that they had have more to the tools chosen
> than Ada itself. The fact that the developers found it much easier to=20
> integrate the system speaks volumes for the effectiveness of Ada, since
> IMHO this is the hardest part of large system development, and one of
> Ada's strongest attributes.
>=20
> We had similar experience with the development of the AN/BSY-2 Combat sys=
tem
> for the Seawolf Submarine (3.5+ million lines, mostly Ada).=20
>=20
> > Am I expecting too much from Ada?
>=20
> Not necessarily. Much depends on the experience of the engineers, the dev=
elopment
> process used, and the tools in place. Engineers who have previously writt=
en in C
> often find ways around the protective features of Ada to fit C developmen=
t style,
> for example.... (sure to start a flame war, but what the heck)
>=20
>=20
>=20
> --=20
> E. Steve Howard                | Lockheed Martin
>                                | Ocean, Radar, & Sensor Systems       =20
> mailto:howard@mtm.syr.ge.com   | Syracuse, NY
>=20
>=20
At the end it is just the the question how good you can fool your language.

--
 T. Kleine B=FCning=09=09 | Univ. Muenster Germany
=09=09=09=09 | Operation Research and Computer Techn.
 mailto : bunring@uni_muenster.de=09




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-19  0:00 Frank Petranka
  1996-02-20  0:00 ` Ted Dennison
  1996-02-20  0:00 ` Steve Howard
@ 1996-02-23  0:00 ` Vance Christiaanse
  1996-02-25  0:00   ` Ken & Virginia Garlington
  2 siblings, 1 reply; 8+ messages in thread
From: Vance Christiaanse @ 1996-02-23  0:00 UTC (permalink / raw)


In article <Pine.SUN.3.91.960219111334.8550B-100000@L10SUN8>, Frank
Petranka <fpetran@l10server.nswc.navy.mil> wrote:

> I just finished reading "Software Development for the Boeing 777" in
> the January issue of CrossTalk.

[further info and article quotes moved below]

> As someone who has used both Ada and C, I was suprised and disappointed
> that code written in Ada produced no fewer problems than code written in
> C.  Athough variables such as experience, code complexity, etc. could
> affect the results, it seems to me that they should average out on
> such a massive project.
> 
> Am I expecting too much from Ada?   

[signature and disclamer moved below]

Two observations:

1) Published accounts of software development efforts tend to be highly
   political documents.  The accounts we read have been carefully sifted
   by numerous lawyers, marketeers and program managers for statements
   that could possibly reflect poorly on anyone, so there's usualy not
   much meat left in them.  One has to read between the lines.  I don't
   know anything about this particular project, but someone may have
   decided it was not advantageous to emphaisize the benefits of Ada
   over C.

2) The quotes you provided didn't mention any actual statistics and the
   wording suggests that the Ada problems may not have been related to
   the language itself, but to the compiler and tools.  Ada is a
   wonderful language in the Reference Manual, but any specific compiler
   will have errors and weakness that can seriously harm a development
   effort.

   For example, on one very large Ada I know of, hundreds of thousands
   of lines of Ada were designed and written with one Ada compiler and
   then ported to another Ada compiler.  The designs made heavy use of
   generics because they were well-supported by the first compiler.
   Unfortunately, the second compiler implemented generics poorly and
   sometimes incorrectly.  The result was that thousands and thousands
   of lines of code had to be redesigned.  Does that count as an Ada
   problem or not?

It's too bad the news from the 777 wasn't more favorable for Ada, but
I don't think we know the whole story.

Vance Christiaanse
Cintech Consulting


[moved portions of original posting:]

> This article was written by Ron Pehrson 
> who was the manager of embedded software engineering at Boeing.  The 
> article states that 2.5 million lines of new software were developed and 
> about 70% of the code was Ada.  The remaining code was other laguages 
> "such as C or Assembly".  Mr. Pehrson writes:
> 
>   "What we have learned so far about the use of Ada on the 777 is a mixed 
>    message. ... We found no correlation between the languages used and
>    the number of problems found on the system.  We found instances where
>    Ada was used effectively, and the developers felt it substantially
>    reduced software integration problems.  In other cases, development
>    was hampered by problems with compilers and other support tools....
> 
>    The richness and complexity of the language helped knowledgeable users 
>    with mature tools achieve modest productivity gains.  However, the 
>    complexity of the language caused headaches for other users who had
>    to work through compiler problems. ..."

> 
> 
> Disclaimer: The views or opinions expressed in this article are of the user 
> and do not, in any manner, reflect that of the Navy.
> 
>             Frank J. Petranka          Naval Surface Warfare Center
>             (540)653-4849              Dahlgren, Va. 22448
>                     fpetran@relay.nswc.navy.mil




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Ada for Boeing 777
  1996-02-23  0:00 ` Vance Christiaanse
@ 1996-02-25  0:00   ` Ken & Virginia Garlington
  0 siblings, 0 replies; 8+ messages in thread
From: Ken & Virginia Garlington @ 1996-02-25  0:00 UTC (permalink / raw)


Vance Christiaanse wrote (with editing):
> 
> In article <Pine.SUN.3.91.960219111334.8550B-100000@L10SUN8>, Frank
> Petranka <fpetran@l10server.nswc.navy.mil> wrote:
> 
> > As someone who has used both Ada and C, I was suprised and disappointed
> > that code written in Ada produced no fewer problems than code written in
> > C.
> 
> Two observations:
> 
> 1) Published accounts of software development efforts tend to be highly
>    political documents.

That may be, but from indirect information I've received, this article is
fairly accurate for the 777.

> 
> 2) The quotes you provided didn't mention any actual statistics and the
>    wording suggests that the Ada problems may not have been related to
>    the language itself, but to the compiler and tools.

This is definitely an issue for embedded systems, particularly in aerospace.
Many of these systems don't get to use the most popular processors/OSs for
a variety of reasons. As a result, the compilers are not widely used, and
there are more latent bugs.

Some other observations:

3) My personal experience is that our switching from JOVIAL to Ada did not,
by itself, cause large drops in the number of problems in our software. Of course,
the operational defect rate of the F-16 flight control software (JOVIAL), so
far as I know, is zero. As a result, it's going to be hard to beat that!

What is happening (at least, I think it's happening) is that we are able to
at least maintain that rate as the complexity of our applications explodes. Ada
is a small part of maintaining that rate. It wasn't clear to me, but if the article
was claiming that the number of problems in the newer (presumably more complex)
Ada 777 systems was comparable to the (presumably simpler) systems written in
other langauges, then that's an encouraging result.

4) A lot of the defects in software have nothing to do with software coding or
design, particularly with the sort of software development process used in
aerospace. They tend to be introduced at the requirements level. So, it's not
surprising that large differences between languages don't occur in that
environment. In a SEI Level I environment, it probably makes a bigger difference.

5) I'm seeing a lot of companies going to code-generation tools and other
techniques to support domain-specific architecture development. I think this
trend is also going to make the language choice less important in the future.
For example, reusing an often-used "C" routine in a similar environment can
often (but not always) be more reliable that writing an Ada routine from scratch.




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~1996-02-25  0:00 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-02-21  0:00 Ada for Boeing 777 Jean-Pierre Rosen
  -- strict thread matches above, loose matches on Subject: below --
1996-02-19  0:00 Frank Petranka
1996-02-20  0:00 ` Ted Dennison
1996-02-20  0:00 ` Steve Howard
1996-02-21  0:00   ` Robert Dewar
1996-02-23  0:00   ` Howie (Torsten Kleine Buening)
1996-02-23  0:00 ` Vance Christiaanse
1996-02-25  0:00   ` Ken & Virginia Garlington

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox