[comp.lang.ada] Legislative Mandate for Ada

mfeldman@seas.gwu.edu (Michael Feldman) (12/14/90)

I recently received a copy of the section of the Defense Appropriation
Conference Report regarding Ada, and thought you might be interested in
reading what Congress has to say. For you outside-the-Beltway folks,
a conference report is the congressional document that reconciles any
differences between House-passed and Senate-passed bills. Both houses vote 
on the conference report, and basically that's how the law is passed.
In this case, congress passed this DoD appropriation bill at the end
of October, and Bush signed it. Here is the relevant paragraph:

"Sec. 8092. Notwithstanding any other provision of law, after June 1, 1991,
 where cost-effective, all Department of Defense software shall be written
 in the programming language Ada, in the absence of a special exemption
 by an official designated by the Secretary of Defense."

In plain English: no gobbledegook about "embedded systems" or "mission-
critical systems." The criterion is cost-effectiveness. Might be fun to
chat on the net about how big a loophole "cost-effectiveness" is, or
how it might be determined.

As background, here is a lengthy paragraph from the explanatory language
that came along with the conference report.

"Ada Programming Language - The Department of Defense developed Ada to
reduce the cost of development and support of software systems written in
the hundreds of languages used by the DoD through the early 1980's.
Beside the training economies of scale arising from a common language,
Ada enables software cost reduction in several other ways: (1) its
constructs have been chosen to be building blocks for disciplined
software engineering; (2) its internal checking inhibits errors in
large systems lying beyond the feasibility of manual checking; and
(3) its separation of software module interfaces from their
implementations facilitates and encourages reuse of already-built
and tested program parts. While each of these advantages is important,
Ada's encouragement of software engineering is fundamental. Software
practitioners increasingly believe the application of engineering
disciplines is the only currently-feasible avenue toward controlling
unbridled software cost escalation in ever-larger and more complex systems.
In march, 1987, the Deputy Secretary of Defense mandated use of Ada in
DoD weapons systems and strongly recommended it for other DoD
applications. This mandate has stimulated the development of commercially-
available Ada compilers and support tools that are fully responsive to 
almost all DoD requirements. However, there are still too many other
languages being used in the DoD, and thus the cost benefits of Ada are
being substantially delayed. Therefore, the Committee [congressional
conference committee - MBF] has included a new general provision,
Section 8084 [changed later to 8092 - MBF] that enforces the DoD
policy to make Ada mandatory. It will remove any doubt of full DoD
transition to Ada, particularly in other than weapons systems
applications. It will stimulate DoD to move forward quickly with 
Ada-based software engineering education and cataloguing/reuse systems.
In addition, U.S. [government] and commercial users have already
expanded tremendously the use of Ada and Ada-related technology.
The DoD, by extending its Ada mandate, can leverage off these commercial
advantages. Navy Ada is considered to be the same as Ada for the purposes
of this legislation [HUH? What's Navy Ada? Anyone know?], and the term
Ada is otherwise defined by ANSI/MIL-STD-1815. The Committee envisions
that the Office of the Secretary of Defense will administer the general
provision in a manner that prevents disruption to weapon systems that
are well into development. The Committee directs that applications
using or currently planning to use the Enhanced Modular Signal Processor
(EMSP) be exempted from mandatory use of Ada as a matter of policy."

This is what is known as "legislative history." It is not formally
part of the law but gives insight into the mindset of the lawmakers
(or their staff people, really). Have fun with it.

Mike Feldman

sampson@cod.NOSC.MIL (Charles H. Sampson) (12/14/90)

In article <2449@sparko.gwu.edu> mfeldman@seas.gwu.edu (Michael Feldman) 
quotes the U. S. Congress:
>
>"Sec. 8092. Notwithstanding any other provision of law, after June 1, 1991,
> where cost-effective, all Department of Defense software shall be written
> in the programming language Ada, in the absence of a special exemption
> by an official designated by the Secretary of Defense."

     From the English language viewpoint, this statement has too many modi-
fiers.  At least it does if you assume that they are trying to force the
use of Ada with few exception.  As written, two valid interpretations ap-
pear to be: (1) If it's not cost-effective, no special exemption is needed
to avoid Ada, and (2) Even if it's cost-effective, Ada can be avoided by
obtaining a special exemption.

     I think they meant to say that all DoD software must be written in Ada
unless it is not cost-effective; if it is claimed to not be cost-effective,
that claim must be confirmed by a special exemption from SecDef.

     To borrow Norm Cohen's question from another context, who writes these
things?  (Probable answer here: people who love run-on sentences.)

                              Charlie

g_harrison@vger.nsu.edu (12/14/90)

In article <2449@sparko.gwu.edu>, mfeldman@seas.gwu.edu (Michael Feldman) 
writes:

[some of Mike's stuff deleted]

> In this case, congress passed this DoD appropriation bill at the end
> of October, and Bush signed it. Here is the relevant paragraph:
> 

> As background, here is a lengthy paragraph from the explanatory language
> that came along with the conference report.
> 
> "Ada Programming Language - The Department of Defense developed Ada to
...... loop put("bla blah"); end loop;

This seems to be pure psyco-babble.  It sounds like a memo from a Dean (My dean
doesn't read this [I PRAY]!).  The statement sould say "Use it [Ada] or loose 
it [Contract]."

"Cost Effective" is a wonderful generalization to mean almost anything
including "My FORTRAN programmers will claim permanent disability and expect
workman's comp."  or "Ada is TOO BIG for my machine. [read "Ada is too complex
for my programmers."].  If I get flamed, then so be it!  I just feel that
realizing that one [relatively] portable language with some nice features that
conform to some good software engineering practices is worthy of a mandate with
appropriate considerations to current hardware and requirements constraints. 


Any good programmer can learn to use Ada in the way it was designed.  

> 
> This is what is known as "legislative history." It is not formally
> part of the law but gives insight into the mindset of the lawmakers
> (or their staff people, really). Have fun with it.
> 
> Mike Feldman

I did have fun with it, Mike.  Thanks.  

------------------------------------------------------*------o    Happy---
-- George C. Harrison ------------------------------ * * ----o_o___ New---
----- Professor of Computer Science --------------  * * * ----\ o /-Year--
----- Norfolk State University, -----------------  *Merry* ----\ /--------
-------- Norfolk, Virginia 23504 ---------------  * * * * * ----|---------
----- INTERNET:  g_harrison@vger.nsu.edu ------  *Christmas* --_|_--------
----------These are MY views.... you may share them..*** -----------------

mfeldman@seas.gwu.edu (Michael Feldman) (12/14/90)

In article <2577@cod.NOSC.MIL> sampson@cod.nosc.mil.UUCP (Charles H. Sampson) writes:
>
>     I think they meant to say that all DoD software must be written in Ada
>unless it is not cost-effective; if it is claimed to not be cost-effective,
>that claim must be confirmed by a special exemption from SecDef.
That sounds like a reasonable interpretation to me.

>     To borrow Norm Cohen's question from another context, who writes these
>things?  (Probable answer here: people who love run-on sentences.)
Well, it probably was a Capitol Hill staff person, or else it was fed to
such a person by someone in the Ada community. The explanatory paragraph
looks like it came from the pen (word-processor?) of one of our Ada
evangelists; it seems to be too literate about Ada to have been written
by a run-of-the-mill Hill staffer.

Reminds me of the 1987 (I think) AdaExpo in West Virginia, where the
keynote speaker was Senator Robert Byrd. Some turkey wrote a speech for him
that put all kinds of technical jargon in his mouth. It was both very
funny and very sad to hear poor ol' Byrd trying to be smooth and articulate
about generics, tasking, and operator overloading.

As it happens, I know a bit about how this stuff gets written because my wife
does exactly this kind of legislative drafting for the Dept. of Education
(no flames please - she doesn't make policy). She is a very fussy and
careful writer, and is always aghast at the rotten quality of much of the
writing she sees around town. Especially disconcerting is the poor use of
English in our laws. How can we (dis)obey what we can't understand?

Thank you for not chopping off the head of the messenger because the message
was poorly written :-)

Mike Feldman

bwb@sei.cmu.edu (Bruce Benson) (12/15/90)

In article <2449@sparko.gwu.edu> mfeldman@seas.gwu.edu (Michael Feldman) writes

>"Sec. 8092. Notwithstanding any other provision of law, after June 1, 1991,
> where cost-effective, all Department of Defense software shall be written
> in the programming language Ada, in the absence of a special exemption
> by an official designated by the Secretary of Defense."

"shall be written" - does this mean new software or does it mean we have
to convert the hundreds of millions of lines of Cobol to Ada?  We may be
able to do it blindly with a Cobol to Ada translationr and it would
probably be fairly cheap (as things go) to do so.  I can see the metric
the bean counters are going to use to check compliance:

                          Total KLOC - Ada KLOC
                          ---------------------
                              Total KLOC

If the percentage doesn't approach 100 fast enough then they will mandate
mindless translations.

>"Ada Programming Language - The Department of Defense developed Ada to
>reduce the cost of development and support of software systems written in
>the hundreds of languages used by the DoD through the early 1980's.
>Beside the training economies of scale arising from a common language,
>Ada enables software cost reduction in several other ways: (1) its
>constructs have been chosen to be building blocks for disciplined
>software engineering; (2) its internal checking inhibits errors in
>large systems lying beyond the feasibility of manual checking; and
>(3) its separation of software module interfaces from their
>implementations facilitates and encourages reuse of already-built
>and tested program parts. While each of these advantages is important,
>Ada's encouragement of software engineering is fundamental. Software
<on and on on the benefits of Ada>

If I've learned nothing else while working at the SEI, it's that most
software engineering claims are purely back-of-the-envelope
no-connection-to-reality sheer speculation, or in other words:
never been validated on the scale being discussed.  If the government
would simply recognize that their programs are just national experiments, 
and conducted them as such, then we could gain some benefits out of all
the mandated "good ideas" by using government as one big test bed.  This way 
we could justify the high cost of government by reminding everyone that
inefficiency and failure are valid and acceptable results when testing an
hypothesis.


* Bruce Benson                   + Internet  - bwb@sei.cmu.edu +       +
* Software Engineering Institute + Compuserv - 76226,3407      +    >--|>
* Carnegie Mellon University     + Voice     - 412 268 8469    +       +
* Pittsburgh PA 15213-3890       +                             +  US Air Force

bwb@sei.cmu.edu (Bruce Benson) (12/15/90)

In article <9700@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>probably be fairly cheap (as things go) to do so.  I can see the metric
>the bean counters are going to use to check compliance:
>
>                          Total KLOC - Ada KLOC
>                          ---------------------
>                              Total KLOC
>
>If the percentage doesn't approach 100 fast enough then they will mandate
>mindless translations.

Sheesh, you can tell I'm in government.  How about if it doesn't approach
zero fast enough (Crosby always wanted metrics to trend to zero...).

* Bruce Benson                   + Internet  - bwb@sei.cmu.edu +       +
* Software Engineering Institute + Compuserv - 76226,3407      +    >--|>
* Carnegie Mellon University     + Voice     - 412 268 8469    +       +
* Pittsburgh PA 15213-3890       +                             +  US Air Force

mneerach@iiic.ethz.ch (Matthias Ulrich Neeracher) (12/15/90)

In article <2449@sparko.gwu.edu>, mfeldman@seas.gwu.edu (Michael
Feldman) writes:
> "Sec. 8092. Notwithstanding any other provision of law, after June 1, 1991,
>  where cost-effective, all Department of Defense software shall be written
   ^^^^^^^^^^^^^^^^^^^^
>  in the programming language Ada, in the absence of a special exemption
>  by an official designated by the Secretary of Defense."

To me, this looks like a rather radical attempt to prohibit further use
of Ada :-). But then again, has there *ever* been something cost-effective
produced for the Department of Defense ?

Matthias

-----
Matthias Neeracher                                   mneerach@iiic.ethz.ch
   "These days, though, you have to be pretty technical before you can 
    even aspire to crudeness." -- William Gibson, _Johnny Mnemonic_

mfeldman@seas.gwu.edu (Michael Feldman) (12/16/90)

In article <9700@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>
>"shall be written" - does this mean new software or does it mean we have
>to convert the hundreds of millions of lines of Cobol to Ada?  We may be
Well, I've been reading Ada stuff for about 10 years, and never saw even
a hint that old systems were to be converted to Ada just for the hell of it.
>
>If the percentage doesn't approach 100 fast enough then they will mandate
>mindless translations.
Oh, Lord - I hope not! Seriously, I don't have a lot of inside information,
but I really don't think this is what it's about. Do you have any serious
info suggesting this mindlessness? (I realize that we're all cynics in this
business, but fact and cynicism shouldn't be confused. Got facts?)
>
Mike Feldman

mfeldman@seas.gwu.edu (Michael Feldman) (12/16/90)

In article <378.276807d8@vger.nsu.edu# g_harrison@vger.nsu.edu writes:
## 
## "Ada Programming Language - The Department of Defense developed Ada to
#...... loop put("bla blah"); end loop;
#
#This seems to be pure psyco-babble.  It sounds like a memo from a Dean (My dean
#doesn't read this [I PRAY]!).  The statement sould say "Use it [Ada] or loose 
#it [Contract]."

Actually it sounds like the words of a few Ada evangelists I have known :-)
As much as I like Ada, I get put off by this kind of blather as much as you
do. I thought the missionaries had packed up and gone home, but I guess not...
#
#"Cost Effective" is a wonderful generalization to mean almost anything
#including "My FORTRAN programmers will claim permanent disability and expect
#workman's comp."  or "Ada is TOO BIG for my machine. [read "Ada is too complex
#for my programmers."].  If I get flamed, then so be it!  I just feel that

No flames from here. I'm sure we'll all have fun reading tea-leaves about
what Congress thought it meant by "where cost effective." That's why I
posted it. I'm glad it stirred the kettle up. That was the idea.
#
#Any good programmer can learn to use Ada in the way it was designed.  

Yup. Couldn't agree more.
#
## This is what is known as "legislative history." It is not formally
## part of the law but gives insight into the mindset of the lawmakers
## (or their staff people, really). Have fun with it.
#
#I did have fun with it, Mike.  Thanks.  
#
Pleasure's mine. Glad to have brightened your day.

Mike Feldman

progers@ajpo.sei.cmu.edu (Pat Rogers) (12/16/90)

In article <18173@neptune.inf.ethz.ch>, mneerach@iiic.ethz.ch (Matthias Ulrich Neeracher) writes:
> In article <2449@sparko.gwu.edu>, mfeldman@seas.gwu.edu (Michael
> Feldman) writes:
> > "Sec. 8092. Notwithstanding any other provision of law, after June 1, 1991,
> >  where cost-effective, all Department of Defense software shall be written
>    ^^^^^^^^^^^^^^^^^^^^
> >  in the programming language Ada, in the absence of a special exemption
> >  by an official designated by the Secretary of Defense."
> 
> To me, this looks like a rather radical attempt to prohibit further use
> of Ada :-). But then again, has there *ever* been something cost-effective
> produced for the Department of Defense ?
> 

Quite a bit, I would think.  COBOL is not my favorite language, but it would
be difficult not to consider it quite an advance for the times, and cost-
effective over its lifetime.  With respect to Ada, I have seen
a presentation by a fellow consultant to the effect that, once familiar with
the language, a very considerable increase in productivity is typical/possible.
(So it is not just a maintenance issue.)  The distinguishing thing about the 
presentation is that he claims to have the data to prove it -- a database of 
many (>100) projects.  My personal experience with the language (10 years) 
agrees with his assertion.

Pat Rogers
Software Arts & Sciences
progers@ajpo.sei.cmu.edu

bwb@sei.cmu.edu (Bruce Benson) (12/18/90)

In article <2455@sparko.gwu.edu> mfeldman@seas.gwu.edu () writes:
>In article <9700@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:

>>If the percentage doesn't approach 100 fast enough then they will mandate
>>mindless translations.
>Oh, Lord - I hope not! Seriously, I don't have a lot of inside information,
>but I really don't think this is what it's about. Do you have any serious
>info suggesting this mindlessness? (I realize that we're all cynics in this
>business, but fact and cynicism shouldn't be confused. Got facts?)

Nope, just fears.  I sat in a meeting where an individual (working in
one of the military service DoD secretariets) insisted that any university
that got federal money (ROTC, research grants, etc.) should be told to teach 
Ada or have their money taken away.  Luckily, no one took him too seriously,
but his position was such that many people have to take him seriously (and
he advises other more senior people on technical issues, such as Ada).

I figure he was just testing out the idea by presenting it to the group. The
fact that he would seriously press the idea suggested to me that he was
more focused on "getting people to use Ada" as an end unto itself rather
than improving software engineering practices.

* Bruce Benson                   + Internet  - bwb@sei.cmu.edu +       +
* Software Engineering Institute + Compuserv - 76226,3407      +    >--|>
* Carnegie Mellon University     + Voice     - 412 268 8469    +       +
* Pittsburgh PA 15213-3890       +                             +  US Air Force

emery@linus.mitre.org (David Emery) (12/18/90)

>From: bwb@sei.cmu.edu (Bruce Benson)
>I sat in a meeting where an individual (working in one of the military
>service DoD secretariets) insisted that any university that got
>federal money (ROTC, research grants, etc.) should be told to teach
>Ada or have their money taken away.

Actually, I think there's something to be said for this idea.  Even
more, I think that any DARPA or DoD-funded project should submit a
waiver request to do their work in something besides Ada.  Such
waivers should be reasonably easy to get, but there are a lot of
research projects that could be used on gov't systems, except for the
fact that they're implemented in languages that create a significant
maintenance/adaptability problem (e.g. C, lisp).  

However, unless and until Ada compilers are as affordable as C
compilers (e.g. Gnu C), such a requirement will be financially
untenable, since most schools are unwilling to fork out the $$ for an
Ada compiler.

				dave

sampson@cod.NOSC.MIL (Charles H. Sampson) (12/18/90)

In article <2455@sparko.gwu.edu> mfeldman@seas.gwu.edu () writes:
>In article <9700@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>>
>>If the percentage doesn't approach 100 fast enough then they will mandate
>>mindless translations.
>Oh, Lord - I hope not! Seriously, I don't have a lot of inside information,
>but I really don't think this is what it's about. Do you have any serious
>info suggesting this mindlessness? (I realize that we're all cynics in this
>business, but fact and cynicism shouldn't be confused. Got facts?)

     I haven't seen any mandate yet, at any level, but expressions of inter-
est in mechanical (read mindless) translation from various languages to Ada
keep cropping up in the part of the Navy that I work with.  Usually some
software house is trying to sell the Navy on the benefits of transitioning
to Ada and the wonderful tool they have to aid that transition.  I've had
to critique a few of these efforts.  The translated Ada was appalling, even
when the proponents were claiming that the program should be maintained (for
decades) in Ada rather than its original, natural, language.  These efforts
always seem to be presented as quck-and-dirty proofs-of-concept, with pro-
mises that the final product will be truly wonderful, as soon as a lot of
our tax money is spent.

                            Charlie

mfeldman@seas.gwu.edu (Michael Feldman) (12/18/90)

In article <9728@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>
>Nope, just fears.  I sat in a meeting where an individual (working in
>one of the military service DoD secretariets) insisted that any university
>that got federal money (ROTC, research grants, etc.) should be told to teach 
>Ada or have their money taken away.  Luckily, no one took him too seriously,
>but his position was such that many people have to take him seriously (and
>he advises other more senior people on technical issues, such as Ada).

Sheesh! No wonder Ada has a bad name, with guys like this rattling
around the Ada business. I'll bet he's a friend of Reagan who believes that
government should get off the backs of the people, too. :-)

Every time I start thinking charitably, someone comes along and makes a
good case for cynicism. Sad commentary.

Mike Feldman

g_harrison@vger.nsu.edu (12/18/90)

In article <2585@cod.NOSC.MIL>, sampson@cod.NOSC.MIL (Charles H. Sampson) writes:
> In article <2455@sparko.gwu.edu> mfeldman@seas.gwu.edu () writes:
>>In article <9700@as0c.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>>>
>>>If the percentage doesn't approach 100 fast enough then they will mandate
>>>mindless translations.
[stuff deleted]
> to Ada and the wonderful tool they have to aid that transition.  I've had
> to critique a few of these efforts.  The translated Ada was appalling, even
> when the proponents were claiming that the program should be maintained (for
> decades) in Ada rather than its original, natural, language.  These efforts
> always seem to be presented as quck-and-dirty proofs-of-concept, with pro-
> mises that the final product will be truly wonderful, as soon as a lot of
> our tax money is spent.
> 
>                             Charlie

Wouldn't it be wonderful to be able to translate [relatively] hard to maintain
code to [relatively] easy to maintain Ada.  Wasn't maintain - ABILITY one of
the goals of the language and of the "mandate?"  When someone foists a
translator on us, we need to be able to show a useful Ada program that will
never reverse-engineer into FORTRAN, etc.  

In my research I've been using a program to run a back-propogation neural
network with delta learning rule and momentem terms.  There are about ten
FLOAT, STRING, and INTEGER parameters to the program that (in many cases)
significantly alter the run-time characterists of the code.  This neural
network learns and recognizes all sorts of input patterns.  The learning
methods are easy to "tweek."  etc.  All of this is done without recompilation.  

I am "_NOT_" telling everyone what a cleaver programming I am; I am just saying
that writing this in virtually any other language would be a real pain to
maintain.  

I am reminded about making a silk purse out of a ......

[Excuse me for taking up your disk storage but...]

A few years ago at the Nth Annual Ada Technology Conference someone presented
some hard facts about maintaining a set of FORTRAN programs vs. rewriting them
into [GOOD] Ada.  Ada won, of course, and I suspect the speaker was somewhat
slanted in his/her view.  However, the facts were indeed impressive because it
showed that Ada supports good software engineering practices in what can be an
effecient way.  It wasn't that Ada was the answer and FORTRAN wasn't: it was
that good Soft. Eng. IS the solution to actually saving money.

George

------------------------------------------------------*------o    Happy---
-- George C. Harrison ------------------------------ * * ----o_o___ New---
----- Professor of Computer Science --------------  * * * ----\ o /-Year--
----- Norfolk State University, -----------------  *Merry* ----\ /--------
-------- Norfolk, Virginia 23504 ---------------  * * * * * ----|---------
----- INTERNET:  g_harrison@vger.nsu.edu ------  *Christmas* --_|_--------
----------These are MY views.... you may share them..*** -----------------

g_harrison@vger.nsu.edu (12/18/90)

In article <EMERY.90Dec17153931@aries.linus.mitre.org>, emery@linus.mitre.org (David Emery) writes:
>>From: bwb@sei.cmu.edu (Bruce Benson)
>>I sat in a meeting where an individual (working in one of the military
>>service DoD secretariets) insisted that any university that got
>>federal money (ROTC, research grants, etc.) should be told to teach
>>Ada or have their money taken away.
> 
> Actually, I think there's something to be said for this idea.  Even
> more, I think that any DARPA or DoD-funded project should submit a
> waiver request to do their work in something besides Ada.  Such
> waivers should be reasonably easy to get, but there are a lot of
> research projects that could be used on gov't systems, except for the
> fact that they're implemented in languages that create a significant
> maintenance/adaptability problem (e.g. C, lisp).  
> 

(The next thing we'll have is the government trying to tell us that we must
teach the metric system.  ;-)  I disagree with the above statement.  It's one
thing mandating equal opportunity; it another trying to FORCE what we teach. 

There is still such a thing as academic freedom.  

Although I am the FIRST to propose using Ada as the primary procedural 
language in the classroom, I will not be forced to even offer one course in 
the language and its applications by the DoD.  We do offer such a course and 
another course in specific Ada-like applications, but it was our choice to do 
this!

> However, unless and until Ada compilers are as affordable as C
> compilers (e.g. Gnu C), such a requirement will be financially
> untenable, since most schools are unwilling to fork out the $$ for an
> Ada compiler.

I disagree again.  Although Ada is not "free," there are relatively inexpensive
compilers for PC's, and with educational discounts you can purchase a
mini/mainframe compiler for about the same price as any other. 


George....

------------------------------------------------------*------o    Happy---
-- George C. Harrison ------------------------------ * * ----o_o___ New---
----- Professor of Computer Science --------------  * * * ----\ o /-Year--
----- Norfolk State University, -----------------  *Merry* ----\ /--------
-------- Norfolk, Virginia 23504 ---------------  * * * * * ----|---------
----- INTERNET:  g_harrison@vger.nsu.edu ------  *Christmas* --_|_--------
----------These are MY views.... you may share them..*** -----------------

rgc@raybed2.msd.ray.com (RICK CARLE) (12/18/90)

In article <EMERY.90Dec17153931@aries.linus.mitre.org>, emery@linus.mitre.org (David Emery) writes:
> >From: bwb@sei.cmu.edu (Bruce Benson)
> >I sat in a meeting where an individual (working in one of the military
> >service DoD secretariets) insisted that any university that got
> >federal money (ROTC, research grants, etc.) should be told to teach
> >Ada or have their money taken away.
> ......I think that any DARPA or DoD-funded project should submit a
> waiver request to do their work in something besides Ada...
> However, unless and until Ada compilers are as affordable as C
> compilers (e.g. Gnu C), such a requirement will be financially
> untenable, since most schools are unwilling to fork out the $$ for an
> Ada compiler.

What's stopping the DoD from buying up a ton of AdaZ licenses and
furnishing them as GFE on DoD projects (esp. research & technology
projects)?  If anything should ever be GFE, it's Ada.
I realize that sounds crazy.  But I seem to remember announcements
claiming that the Army bought 2 Army-wide site licenses for PC software
this year - the Procomm+ communications program and the PKZIP archiver.
I think both of those programs are inexpensive shareware that probably
cost between $35 and $75 a copy.  AdaZ only costs $149 (this month,
anyway).
So I suggest the DoD should do 2 things:
1) buy a DoD-wide site license from Meridian (how could either party
  lose?); and
2) extend that license to provide DoD with enough extra licenses so that
  DoD could provide the compiler as GFE to research and technology
  contractors.

This would provide the universities with plenty of cheap Ada and
eliminate a big obstacle to college-level Ada education.  And it would
reward Meridian for making such a cost breakthrough on Ada compilers.
[Of course the site license wouldn't have to be purchased from Meridian.
It could be put up for bids.]

	Rick Carle

bwb@sei.cmu.edu (Bruce Benson) (12/18/90)

In article <EMERY.90Dec17153931@aries.linus.mitre.org> emery@linus.mitre.org (David Emery) writes:

>Actually, I think there's something to be said for this idea.  Even
>more, I think that any DARPA or DoD-funded project should submit a
>waiver request to do their work in something besides Ada.  Such
>waivers should be reasonably easy to get, but there are a lot of
>research projects that could be used on gov't systems, except for the
>fact that they're implemented in languages that create a significant
>maintenance/adaptability problem (e.g. C, lisp).  

These kind of fuzzy statements, that imply all the problems of software
engineering will go away (or be *significantly* reduced) by using the
current king of silver bullets (i.e. Ada), are at the heart of why we
in government sometimes make such dumb decisions.  We don't know that
any of this is true, but we do know that the problems of software 
engineering are more centered on people and mangement problems than on
technology problems.  We focus on technology because it won't talk back.

>However, unless and until Ada compilers are as affordable as C
>compilers (e.g. Gnu C), such a requirement will be financially
>untenable, since most schools are unwilling to fork out the $$ for an
>Ada compiler.

What about the rest of the supporting environment: editors, debuggers,
libraries, code generators, readable books, jobs, etc.?  (I had a boss who
insisted that WordStar should be a fine programming editor since it can
export ascii files!) Affordability of the compiler must be one of the least
important issues when selecting a development environment (or a teaching
environment).  COBOL, FORTRAN, and now C, are still the most widely used
and *supported* languages in the commerical world, and this dwarfs the 
government sectors need for Ada programmers.  Universities like to not only 
educate their students, but possibly give them a skill that makes them readily
employable.

When Borland creates TurboAda or Microsoft does QuickAda, then the language
is probably mature enough to hold its own.  Until then, it remains an
interesting experimental language by the government.

[All the above is, of course, IMHO and does not necessarily reflect anyones
thinking but my own :-)]

* Bruce Benson                   + Internet  - bwb@sei.cmu.edu +       +
* Software Engineering Institute + Compuserv - 76226,3407      +    >--|>
* Carnegie Mellon University     + Voice     - 412 268 8469    +       +
* Pittsburgh PA 15213-3890       +                             +  US Air Force

mneerach@iiic.ethz.ch (Matthias Ulrich Neeracher) (12/19/90)

In article <737@ajpo.sei.cmu.edu>, progers@ajpo.sei.cmu.edu (Pat Rogers)
writes:
> In article <18173@neptune.inf.ethz.ch>, mneerach@iiic.ethz.ch
(Matthias Ulrich Neeracher) writes:
> > But then again, has there *ever* been something cost-effective
> > produced for the Department of Defense ?
> 
> Quite a bit, I would think.  COBOL is not my favorite language, but it would
> be difficult not to consider it quite an advance for the times, and cost-
> effective over its lifetime.  

COBOL must have been an interesting idea in its time. The mistake, IMO, was to
massively push its use. The "user-friendly" syntax seems now almost
universally 
to be recognized as a disaster. As for cost-effective, I wonder whether it 
wouldn't have been even more cost-effective to delay the standardization for
some years, in favor of a better language. I don't doubt that COBOL was a 
progress when it was created, but for how many years now has COBOL been a
hindrance to progress.
   Likewise, I wonder whether it is really necessary and wise to hard-code all
these laws requiring use of Ada now, thus forcing programmers to live with
Ada's inconveniences for maybe 50 years or longer.

> With respect to Ada, I have seen
> a presentation by a fellow consultant to the effect that, once familiar with
> the language, a very considerable increase in productivity is
typical/possible.
> (So it is not just a maintenance issue.)  The distinguishing thing about the 
> presentation is that he claims to have the data to prove it -- a database of 
> many (>100) projects.  My personal experience with the language (10 years) 
> agrees with his assertion.

Does this data take into account that programmers using Ada were maybe subject
to a lot of additional training ? At least in one small study I have
read about,
I wondered whether the (indisputable) improvements had anything to do at all
with Ada or whether not all this could be explained with the improved training
of the programmers and the greater attention given to them.
 
> Pat Rogers

Matthias

-----
Matthias Neeracher                                   mneerach@iiic.ethz.ch
   "These days, though, you have to be pretty technical before you can 
    even aspire to crudeness." -- William Gibson, _Johnny Mnemonic_

rcd@ico.isc.com (Dick Dunn) (12/20/90)

emery@linus.mitre.org (David Emery) writes:
> >From: bwb@sei.cmu.edu (Bruce Benson)
> >I sat in a meeting where an individual (working in one of the military
> >service DoD secretariets) insisted that any university that got
> >federal money (ROTC, research grants, etc.) should be told to teach
> >Ada or have their money taken away.
> 
> Actually, I think there's something to be said for this idea...

(I think there's something to be said for it too...but we probably don't
agree on what should be said.:-)  I think that it's high time Ada was cut
loose from its life-support system of government-mandated ramming-down-
our-throats and allowed to live or die.  I'm serious.  If Ada can't sur-
vive on its own, it's not viable.  (For the record, although I'm not much
of an Ada fan, I do think Ada *can* survive.  It won't be the top
language, but it has its place(s).)

In fact, I think that some of the mandated use of Ada has damaged its
growth.  People look at it and say "oh, that's only for government work,
and it's all tied up in bureaucracy...we don't want it."

>...Even
> more, I think that any DARPA or DoD-funded project should submit a
> waiver request to do their work in something besides Ada...

This is the first step on a slippery path to a very uncomfortable level of
government control.  Again, if Ada is so desirable, why does it have to be
forced?  Let the folks who are doing the research choose the language they
find appropriate to the tasks they need to do.  I can see obvious cases for
using at least C, C++, Icon, LISP, Ada, and assembly language in various
aspects of research.  As for using Ada for the mere sake of single-
language consistency...well, see what Emerson had to say about consistency.

> ...but there are a lot of
> research projects that could be used on gov't systems, except for the
> fact that they're implemented in languages that create a significant
> maintenance/adaptability problem (e.g. C, lisp).  

I don't see that either C or LISP have any inherent maintenance or
adaptability problems.  Seems like it's more a problem of excessive
narrowness or rigidity in gov't systems if they can't handle multi-
lingual software.

Note that the position I'm taking in the latter part of this posting is not
anti-Ada, but anti-single-language.  The idea that one programming language
can be suitable for all programming tasks is bogus from the word go.
-- 
Dick Dunn     rcd@ico.isc.com -or- ico!rcd       Boulder, CO   (303)449-2870
   ...Mr. Natural says, "Use the right tool for the job."

vtarbox@sleepy.bmd.trw.com (12/20/90)

I have followed, with some interest, the dialogue that has occurred since
the posting by Mike Feldman outlining the "Legislative Mandate for Ada"
[<2449@sparko.gwu.edu> mfeldman@seas.gwu.edu].  I thought some of you might
be interested in the contents of an action memorandum issued at the Air
Force secretariat level on 07 Aug 90.  A complete unedited transcript is
provided, below.  It immediately implements AF policy establishing Ada as
the single implementation language for *all* new (not just new weapon
systems) and upgraded software systems in the Air Force.

Please note the memorandum preceded the legislative action (Section 8092) by
almost three months.  What impact this will have on AF policy is unclear. 
It may have no impact depending upon the interpretation of the phrase
"...where cost-effective..." in Section 8092.

I hope the following sheds more light regarding the mind-set of the Air
Force bureaucrats (and possibly others within DOD).  It may create more fog
depending upon interpretations from another viewpoint.

If any have seen this before, I apologize for the repeat.  Sorry for the
length but I'm not the author.  So here we go!


--- THE MEMORANDUM ---

07 August 1990

Memorandum for the:

     Vice Chief of Staff
     Major Command
     Separate Operating Agency
     Direct Reporting Unit Commanders Air Force
     Program Executive Officers

Subject:  Air Force Policy on Programming Languages - Action Memorandum

Growing mission demands for software, particularly in the austere budget
environment we face, require a solid commitment to software engineering. 
Ada is more than a language; it is a proven technology that facilitates
software engineering, reducing risk and life-cycle costs.  Accordingly, the
attached policy establishes Ada as the single implementation language for
all new and upgraded software systems in the Air Force.  This policy
supersedes CSAF/CVA letter, Air Force Policy on Programming Languages,
November 9, 1988.

Now is the time to move aggressively to Ada.  Please give your personal
support to ensuring that the attached policy is fully implemented within
your organization.

The Air Staff will incorporate this policy into an appropriate Air Force
regulation applicable to all software domains.

Signed:


Lloyd K. Mosemann, II
Deputy Assistant Secretary of the Air Force
Communications, Computers, and Logistics


--- THE ATTACHMENT ---


                        PROGRAMMING LANGUAGES POLICY


1.   INTRODUCTION

Air Force policy requires the use of the Ada programming language as defined
in ANSI/MIL-STD-1815A-1983 (Ada Programming Language, 22 January 1983). 
This policy implements DOD Directives 3505.1 (Computer Programming Language
Policy, 2 April 1987) and 3505.2 (Use of Ada in Weapon Systems, 30 March
1987).  This policy remains in effect until it is published in an Air Force
regulation.


2.   DEFINITIONS

a.   Ada Implementation:  A software system in which Ada is used to meet all
or most of the language requirements.  Use of other languages in an Ada
implementation will be limited to those needed for special functions and
requires and "exception request".

b.   Commercial-Off-The-Shelf (COTS) Software:  Software already developed,
tested, and sold to other DOD or commercial customers, supported by a
commercial vendor over the system life-cycle, and requiring no government
modifications over the system life-cycle.

c.   DOD approved High Order Languages (HOLs):  The languages listed in
Enclosure 3 to DOD Directive 3405.1 (Computer Programming Language Policy,
02 April 1987).

     -  Ada
     -  SPL/1
     -  COBOL
     -  CMS-2M
     -  CMS-2Y
     -  PASCAL
     -  C/ATLAS
     -  FORTRAN
     -  JOVIAL J73
     -  MINIMAL BASIC

d.   Forth Generation Languages (4GLs):  Nonprocedural COTS computer
programming languages which consist of compact, English-like statements
which describe the overall tasks a computer is to carry out without
specifying any individual steps or their order.  For the purpose of this
policy, 4GLs include products which generate HOL Code.

e.   Software engineering:  The science of analysis, design, development,
implementation, test, evaluation, and maintenance of computer software over
its life-cycle.

f.   Validated Ada Compiler:  A compiler registered with the Ada Joint
Program Office (AJPO).  A project-validated compiler, a compiler that is
registered with the AJPO at project start or Milestone 0, is considered
validated for the entire life-cycle of the designated project.


3.   APPLICABILITY

This policy applies to all Air Force organizations to include both in-house
and contractor work.  It covers all computer software systems, e.g.:

     - Weapon
     - Intelligence
     - Information Systems
     - Command and Control
     - Automatic Test Equipment

developed, acquired, or managed under the AFR 700 series, AFR 800 series, or
AFR 57-4, and includes software for the entire range of computer hardware.


4.   EXEMPTIONS

a.   Desktop computers and workstation software developed for individual
use, stand alone, unique in-house applications.

b.   Short term/adhoc user applications (less that three years useful life).

c.   Products that come with software (e.g., automotive diagnostic systems)
for which the Air Force has no maintenance responsibility.


5.   POLICY

a.   The Ada programming language, as defined in ANSI/MIL-STD-1815A-1983, is
the single, common, high order computer programming language for all
computer resources used in the Air Force.  A validated Ada compiler and
modern software engineering principles that facilitate the use of Ada must
be used, unless a waiver has been granted.  The order of preference to meet
Air Force software requirements follows:

(1)  Reuse/modify existing Ada code.  (Waiver Not Required).

(2)  Use COTS software (software requiring no modifications or government
     maintenance).  (Waiver Not Required).

(3)  Develop new Ada code.  (Waiver Not Required).

(4)  Use 4GLs that generate Ada code or support Database Language SQL
     (Federal Information Processing Standard 127-1).
     (Exception Request Required).

(5)  Develop non-Ada code, modify COTS, or use 4GLs that generate non-Ada
     code or do not support SQL.  (Waiver Required).
     [Note:  A waiver is required to use DOD-approved HOLs (except Ada) and
     non-DOD-approved languages (e.g., C and Assembly)]

b.   Systems under development using a non-Ada language that was authorized
prior to the effective date of this letter may continue to use non-Ada
through deployment and maintenance.  (Waiver Not Required).

c.   Ada is required when more that one-third of the existing code is
altered (excluding COTS) at any one time.
(Under one-third, Waiver Not Required).
System Managers are encouraged to move to Ada with any software or hardware
upgrade.

d.   4GLs can be used to support rapid prototyping and evolutionary
development.  (Exception Request Required).

e.   Other languages (e.g., Assembly, C, C/ATLAS, 4GL, another HOL) may be
mixed with the Ada code in an Ada implementation for a special function or
routine.  (Exception Request Required).

f.   If Ada is used for Unit Under Test (UUT) and Automatic Test Equipment
(ATE), it shall use C/ATLAS standard nouns, noun modifiers, and procedural
terminology (i.e., verbs, macros) and be consistent with the intent of
standards being developed within the Institute of Electrical and Electronic
Engineers (IEEE) effort called ATLAS/Ada Based Environment for Test (ABET).

g.   Support Tools which PMRT to AFLC with specialized operating systems,
(e.g., simulators, stimulators) for which no validated Ada compiler exists. 
(Waiver Not Required).

h.   Industrial Process Equipment Acquisition (IPEA) programs for which AFLC
is the implementing command, to include stand-alone microcontroller devices
and devices where microcomputers are used as microcontrollers.
(Waiver Not Required).

i.   For small projects where using Ada is not feasible or cost effective
over the system life-cycle, and an exception request, instead of a waiver
request, may be used.


6.   WAIVERS

a.   Waiver requests must contain a description of the project, the
rationale and/or justification for not using Ada, and a life-cycle analysis. 
The analysis must show that the recommended solution is the most cost
effective and most beneficial to the Air Force over the system life-cycle. 
As a minimum, the analysis must:

(1)  Use a 10-year life-cycle, if actual life-cycle is unknown.

(2)  Use approved DOD inflation rates.

(3)  Specify development, life-cycle maintenance, training, and replacement
     costs.

(4)  Address portability, reuse, performance, and risk.

(5)  Include a statement of maintainability from the responsible software
     maintainer.

b.   The cost/effort to do the analysis should be commensurate with the size
and cost of the project.  For example, developing an Ada compiler/support
environment may not be cost effective for some projects over the system
life-cycle.

c.   Waiver requests will be submitted through appropriate levels (unit,
base, MAJCOM/SOA, Air Staff functional area) to HQ USAF/SC as early as
possible in the development cycle.  Waivers must be approved before a
commitment is made to the architecture (i.e., before release of the final
Request for Proposal for contractor software development, and before system
design begins for in-house development).  HQ USAF/SC will staff waiver
requests with cognizant HQ USAF offices and make a consolidated
recommendation of SAF/AQ, the sole USAF Ada waiver approval authority.

d.   Waiver requests for Class IV modification programs with cost of more
the $10M, will be part of the program package staffed at HQ USAF.  The Ada
waiver will be included in the package and will be staffed in conjunction
with the program.  An informational copy may be sent to HQ USAF/SC, but will
not be acted upon until validated by the appropriate level.


7.   EXCEPTIONS

a.   An exception request, instead of a waiver request, will be submitted
through appropriate levels to HQ USAF/SC for approval, and must be approved
before implementing the solution.  The exception request must include a
description of the project and the rational/justification for the exception 
An information copy may be sent to HQ USAF/SC, but will not be acted upon
until validated by the appropriate level.

b.   An exception request is not required for test equipment procured to be
compliant with Modular Automatic Test Equipment (MATE) standards.  This
includes the use of the government furnished MATE Control and Support
Software (MCSS), written in JOVIAL, which accommodates ATLAS constructs in
the test program.  However, our intention is to develop Ada for MATE
applications, and program offices are encourage to develop Ada usages in
advance of formal MATE conversion.


8.   TECHNICAL ASSISTANCE

Technical assistance on use of Ada (tools, environments, bindings, software
engineering, training, and data base management systems) is available from
HQ USAF/SCTT, DSN 225-9934 or DSN 223-2699.


Lloyd K. Mosemann, II
Deputy Assistant Secretary of the Air Force
Communications, Computers, and Logistics
SAF/AQK
Room 4E128
Pentagon
Washington, DC 20330
DSN 227-3624
(703) 938-4843


--- END OF ACTION MEMORANDUM ---


Val Tarbox
TRW Space & Technology Group
801-625-8024