comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: 7E7 Flight Controls Electronics
Date: Wed, 09 Jun 2004 02:31:19 -0400
Date: 2004-06-09T02:31:19-04:00	[thread overview]
Message-ID: <eJidnREw04kqM1vd4p2dnA@comcast.com> (raw)
In-Reply-To: <40C44F24.8010902@noplace.com>

Marin David Condic wrote:

> Ada, OTOH tried to address the needs of embedded systems programmers and 
> missed the mark for a variety of reasons. Probably chief among them was 
> that embedded programmers already had something - C - which was cheap 
> and small and could be made to fit just about any processor - and was 
> available for just about any microprocessor. Ada was huge and cost a 
> fortune and couldn't be made to work for small microprocessors and was 
> not available for most targets. Given that people had choices and Ada 
> wasn't meeting their needs, mandate or not, they went elsewhere.
> 
> The moral of the story: Find out what the customer wants/needs before 
> you build a huge product and try to sell it to them.

No, the HOLWG hit the mark they were aiming at.  They wanted to reduce 
the 800 or so programming languages in use by the DoD, and they 
succeeded.  DoD1 was expected to provide a 'language of last resort', so 
that the DoD could provide a development environment for DoD1, which 
became Ada, that would make it usable for any embedded DoD software project.

What people on the front lines missed totally about the development of 
Ada by the DoD was that the goal was not really to force everyone to use 
one language.  It was to be able to say, "No we will not fund you to 
develop a compiler for this neat new language as part of this 
procurement project.  Here is a list of languages you can use.  If you 
need modifications to a compiler to support particular requirements, we 
are willing to discuss it.  But we won't support any effort to create a 
new programming language, or modify an existing one.

So from the HOLWG point of view Ada succeeded.  The lofty goals 
expressed by government functionaries along the way were nice dreams, 
the big wonderful thing that the HOLWG got right, was to design the 
language to meet their requirements before they started implementing it.

Compare it to many of the other programmng languages that the DoD 
sponsored over the years.  Many of you may have heard of JOVIAL, which 
Ada replaced in the Air Force.  (There are still systems flying out 
there written in Jovial, in fact AWACS is still using J3I for part of 
its systems.  RSIP replaced most of the radar system sofware with Ada.) 
  But what about TACPOL?  That was the Army's favorite programming 
language before Ada.  The Navy used CMS-2, well CMS-2M and CMS-2Y, just 
as the Air Force had two different versions of Jovial, J3B and J3I that 
were combined into J73.

Are you seeing a pattern here?  Contractors developed compilers for 
langauges that weren't well specified in advance, and the difference 
between compilers was big enough that the dialects were treated as 
different languages.  That was why the Ada program said that compilers 
were required to implement the whole language and only the Ada language, 
no supersets or subsets.  Projects could develop policies that subsetted 
the language if they chose, and in fact early on it was expected that 
many programs would not use Ada tasking and others would not use Ada 
generics.  (This was before Text_IO was created which meant that almost 
everyone would need to use some generics.)
We figured, before the name Ada was ever associated with it, that it the 
HOLWG could get the number of programming languages in use in the DoD 
below 50, that would count as success.  Right now, my guess is that 
there are less than a dozen general purpose programming languages in use 
on DoD programs.

Just so I don't get accused of being a pollyanna, the HOLWG also failed, 
big time.  There were three parts to HOLWGs plans.  First develop the 
language, and sponsor compiler developments.  Then design a development 
environment for DoD1 (Ada) program development.  But the "competition" 
between two government funded compiler developments, the ALS at Softech, 
and the AIE at Intermetrics, got way out of hand.  There was some 
justification for the AIE project to design a development enviroment 
that their Ada compiler would be a part of--the contract anticipated 
contracting for the development environment after the compiler was 
ready.  However, the ALS project seems to have "just grown" to include a 
development environment that wasn't in the original contract.

On both projects, resources that should have been focused on creating a 
decent compiler got lost in feeping creaturism.  The Intermetrics team 
finally was given a "stop work" order for anything not part of the 
compiler, and the Intermetrics compiler eventually turned out to be 
pretty decent.  Another little detail was that the Intermetrics compiler 
was supposed to target IBM mainframes and Interdata 32 systems.  Before 
the compiler was finished, I think that Interdata was acquired, by 
Perkin Elmer I think, and I don't know if that version of the 
Intermetrics compiler ever made it to market.  As for the IBM mainframe 
targets, I'll let people who were in the line of fire describe the 
problems.  Targetting MVS only would have made sense, but the government 
had its priorities...

The ALS compiler was a disaster.  If you ask me to describe why it was a 
disaster, I could give you a blow by blow description of what the 
contracting office did wrong.  It really comes down to the issued the 
contract too soon--they should have had at least six months more work on 
design development before freezing a lot of details in the contract.  As 
usual this resulted in a lot of finger pointing, and a totally useless 
product, that met the requirements of the contract.

By that time there were several good commercial Ada compilers developed 
without government funding and goverment contracts--but validated to 
meet the goverment standards.  The DoD basically abandoned the ALS and 
AIE projects and started over with a new Ada development enviroment 
project.  Unfortunately, at a meeting I chaired in 1984, the death knell 
for the Ada CAIS was sounded.  And it was such an innocent question. ;-)

I asked people who had ported real Ada software from one system to 
another how it compared to trying to understand the CAIS documentation. 
  The consensus was that the port of some reasonably large software, 
written in Ada, took less time than it took to understand the CAIS well 
enough to use it.  (I certainly spent over 100 hours studying the 
documentation, and I was _starting_ to get a clue.)

So you could spend three months per person training your programming 
team in using the CAIS.  Then if you used the CAIS for development, it 
would cut the effort required to reuse the software in half.  But if it 
took three weeks to do a port without the CAIS, you had to be planning 
on an awful lot of retargeting of software for the CAIS to make sense.

There was eventually a European effort called PCTE that developed a 
programming environment for Ada. 
(http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-162.pdf) 
In practice the only reason I know of for using the PCTE is if you are 
using it for both Ada and C.  The tendancy in Ada is to use a "thin" 
binding to the actual operating system, instead of a thick binding like 
the PCTE.  (In fact, I find the POSIX Ada binding to be a bit too thick 
for my taste--your opinion may vary.)

In any case, if the HOLWG got an A for Ada*, they may not have deserved 
an F for their efforts at development environments--but that is the 
lowest grade I can give them. ;-)



*Of course what saved the HOLWG was that the interest in Ada was so 
great, that there were several commercial compilers, and the Rational 
environment, developed without DoD funding.  (NYU's AdaEd did have some 
DoD funding, but more of a study of Ada semantics, rather than a useable 
compiler.  That it did result in a useable compiler, and eventually in 
GNAT, has more to do with the genius of those involved rather than DoD 
management.  (Well the DoD project management did the right thing on Ada 
Ed and GNAT, they worried about implementing Ada right, and what that 
meant, rather than contract deliverables as such.)


-- 

                                           Robert I. Eachus

"The terrorists rejoice in the killing of the innocent, and have 
promised similar violence against Americans, against all free peoples, 
and against any Muslims who reject their ideology of murder. Their 
barbarism cannot be appeased, and their hatred cannot be satisfied. 
There's only one way to deal with terror: We must confront the enemy and 
stay on the offensive until these killers are defeated." -- George W. Bush




  parent reply	other threads:[~2004-06-09  6:31 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-29  1:51 7E7 Flight Controls Electronics Jeffrey Carter
2004-05-29 10:21 ` Per Dalgas Jakobsen
2004-05-29 12:58   ` Marin David Condic
2004-05-29 13:35     ` Ed Falis
2004-05-29 17:29       ` Marin David Condic
2004-05-29 17:40         ` Ed Falis
2004-05-29 18:44           ` Marin David Condic
2004-05-29 18:58             ` Ed Falis
2004-05-30  7:55             ` Pascal Obry
2004-05-30 11:43               ` Georg Bauhaus
2004-05-30 16:10                 ` Pascal Obry
2004-05-31 11:56               ` Marin David Condic
2004-05-29 17:48         ` Wes Groleau
2004-05-29 18:53           ` Marin David Condic
     [not found]             ` <n42jb05e8rk7bsrtf2ikesu9t0bsmbphji@4ax.com>
2004-05-31 12:04               ` Marin David Condic
2004-06-06 10:35               ` I R T
2004-05-30  7:50         ` Pascal Obry
2004-05-31 12:25           ` Marin David Condic
2004-06-02 16:45           ` Warren W. Gay VE3WWG
2004-06-02 17:48             ` Martin Dowie
2004-06-03 15:57               ` Warren W. Gay VE3WWG
2004-06-03  0:09             ` Marin David Condic
2004-06-03  1:08               ` Ed Falis
2004-06-03 12:06                 ` Marin David Condic
2004-06-03 12:33                   ` Ed Falis
2004-06-03 16:44                   ` Wes Groleau
2004-06-03 17:52                   ` tmoran
2004-06-04  1:13                   ` Jeffrey Carter
2004-06-04 11:27                     ` Marin David Condic
2004-06-04 18:38                       ` Jeffrey Carter
2004-06-06 21:37                     ` Leon Winslow
2004-06-07 11:08                       ` I R T
2004-06-08  2:22                         ` Richard  Riehle
2004-06-08  9:07                           ` I R T
2004-06-08 11:33                           ` Marin David Condic
2004-06-09 21:02                           ` Robert I. Eachus
2004-06-09 21:22                             ` Ed Falis
2004-06-09 23:30                               ` Richard  Riehle
2004-06-10  2:02                               ` Jeffrey Carter
2004-06-10  2:27                                 ` Ed Falis
2004-06-10 19:54                                   ` Jeffrey Carter
     [not found]                             ` <28rfc01rhesdk2qt27krrr65nnk0n0kihc@4ax.com>
2004-06-12  3:01                               ` non sequitur Robert I. Eachus
2004-06-11 16:51                           ` 7E7 Flight Controls Electronics (COBOL Popularity) Warren W. Gay VE3WWG
2004-06-11 17:18                             ` Marin David Condic
2004-06-11 18:49                             ` Richard  Riehle
2004-06-11 19:07                               ` Marin David Condic
2004-06-11 20:39                               ` Warren W. Gay VE3WWG
2004-06-12 11:16                                 ` Georg Bauhaus
2004-06-11 21:05                             ` Frank J. Lhota
2004-06-14 12:46                               ` Warren W. Gay VE3WWG
2004-06-07 11:19                       ` 7E7 Flight Controls Electronics Marin David Condic
2004-06-07 22:24                         ` Alexander E. Kopilovich
2004-06-08  1:11                           ` Marin David Condic
2004-06-08  2:35                           ` Richard  Riehle
2004-06-08  6:59                             ` tmoran
2004-06-08 19:44                               ` Wes Groleau
2004-06-09  1:32                             ` Alexander E. Kopilovich
2004-06-09  6:23                               ` Richard  Riehle
2004-06-09  7:09                                 ` Martin Dowie
2004-06-10  1:41                                 ` Alexander E. Kopilovich
2004-06-10  6:13                                   ` Richard  Riehle
2004-06-11  2:03                                     ` Alexander E. Kopilovich
2004-06-12  2:31                                     ` Robert I. Eachus
2004-06-15 16:07                                       ` Richard  Riehle
2004-06-09  7:54                               ` Dmitry A. Kazakov
2004-06-09  6:31                         ` Robert I. Eachus [this message]
2004-06-09  9:43                           ` I R T
2004-06-09 15:28                           ` Jerry Petrey
2004-05-29 15:58     ` Preben Randhol
2004-05-29 17:45       ` Marin David Condic
2004-05-29 17:51         ` Ed Falis
2004-05-29 19:55       ` Jeffrey Carter
2004-05-30  7:57       ` Pascal Obry
2004-05-30 18:35         ` Richard  Riehle
2004-05-31 12:38           ` Marin David Condic
2004-06-04 12:56           ` Warren W. Gay VE3WWG
2004-06-05  8:49             ` Pascal Obry
2004-06-06 10:27 ` I R T
  -- strict thread matches above, loose matches on Subject: below --
2004-05-30 10:34 Rod Chapman
2004-06-03  8:18 ` Vernon Brown
2004-06-03 10:45   ` Martin Krischik
2004-06-03 15:52   ` Richard  Riehle
replies disabled

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