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
next prev 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