[net.columbia] Old fashion computing practices @ NASA

gwe@cbdkc1.UUCP ( George Erhart ) (08/06/85)

A former prof of mine, and good friend, worked for NASA through a subcontractor
for a period of time after receiving his PhD. He told me that there were "old"
diehards that still used cards to program when he was there (74-77). This was
inspite of the fact that modern terminals were available.  He also said that 
one of the main launch sequencing programs for the shuttle was written
in FORTRAN and it included hundreds of lines of EQU's at the beginning. 

Can anyone confirm or deny this?

George Erhart

eugene@ames.UUCP (Eugene Miya) (08/08/85)

> A former prof of mine, and good friend, worked for NASA through a
> subcontractor
> for a period of time after receiving his PhD. He told me that there were
> "old"
> diehards that still used cards to program when he was there (74-77).
> This was
> inspite of the fact that modern terminals were available.  He also said that 
> one of the main launch sequencing programs for the shuttle was written
> in FORTRAN and it included hundreds of lines of EQU's at the beginning. 
> 
> Can anyone confirm or deny this?
> 
> George Erhart

Okay. Below my office in a corner is a card punch room.  CONFIRMED.
P.S. many of the users of cards are visiting scientists (physicists
and chemists for example) who brought cards with them for sabbatical.

This is 1985.  I have worked directly with NASA since 1977.  At many
NASA sites: modern terminals are not available.  There are millions of
lines of FORTRAN available from NASA from the public domain thru COSMIC
(NASA's software distribution service).

NASA's problem stems from the fact that it got into the computer
world quite early and it froze it's perspective on computer technology
with the IBM 360/FORTRAN world in the 1960s.  It felt it had to freeze
this perspective for a variety of reasons which I won't cover.

In 1978, Carl Sagan, Raj Reddy, Ed Feignenbaum [sorry, I was describing
this story at lunch] put together a committee to look at the use of robtics
and AI in NASA.  This partially stemmed from a problem on the second Viking
Lander on Mars which had a bolt stuck in a joint on the arm to dig
trenches.  A loop wiggled the arm back and forth til the bolt dropped
out.  This set of commands had to be tested on earth and then sent 7 light-
minutes to Mars and then back before this problem was freed.  The question:
could an AI program have figured this out instead?

Early on NASA, like many businesses, looked at AI skeptically and dropped it.
It looked at more more than teleoperators.  Back to Sagan.  They published
this report which said that the computing practices of NASA were in some
cases 10-15 years behind the rest of the world.  There was a fundamental
problem in computer science much less AI.  The report came out in a
plain red cover without a NASA logo [I guard my copy].  Regarding
punch cards, in particular, it mentioned that even in the best cases
cards were only replaced by card images and submitted by batch.

My observations: 1st Unix system in NASA: a bootlegged system [this
machine I am posting on] in 1979.  No NASA purchased DEC-10s, and
very little LISP work.  Heavy use of IBM, Univac, and CDC hardware.
Dominance of Modcomp computers for "real-time" work [recall Thompson's
comments about the popularity of the PDP-11 in the 1974 Unix paper].
I moved from JPL to Ames in 1982.

Around 1980. It became clear to NASA HQ that something had to be done
about upgrading NASA computing.  Software schedules tended to be critical
on some space projects, the increible bulk of data from satellite sensors
was going unanalyzed, more performance was needed.  There was no office of
NASA particularly oriented to computing [still to this day].  NASA's
purpose was to do space and aeronautics.

An effort began to improve this situation.  Funding has begun on particular
'mission' areas: realtime systems software engineering, scientific
database, and supercomputing, oh, and some AI.  A new institute: RIACS
the Research Institute for Advanced Computer Science was formed headed by
Peter Denning for a couple of these cases.  Money was put into doing
"real" computer work.  The problem comes with some managers trying
to tell the difference on research done on computers and research on
computers.  Change is occurring, but it takes time.  Many people are still
skeptical of this effort.  LANs, for instance, are still quite scarce in
NASA, yet we have the Deep Space Net talking to satellites far away.

BASIC is stilling being used in many parts of NASA.  The IBM-oriented
managers (old time FORTRAN people) still have a great deal of power
which we did not expect to be a problem, but turf wars are everywhere.
Things are changing: more young visiting scientists are coming and
just this day, a couple physicists came asking for access to Unix
rather than VMS. [Many others like VMS's prompts for Filenames.]
This says nothing of the people who still use TSS here.  We're
catching up.

--eugene miya
  NASA Ames Research Center
  {hplabs,ihnp4,dual,hao,decwrl,allegra}!ames!aurora!eugene
  emiya@ames-vmsb

doug@escher.UUCP (Douglas J Freyburger) (08/10/85)

> A former prof of mine, and good friend, worked for NASA through a subcontractor
> for a period of time after receiving his PhD. He told me that there were "old"
> diehards that still used cards to program when he was there (74-77). This was
> inspite of the fact that modern terminals were available.  He also said that 
> one of the main launch sequencing programs for the shuttle was written
> in FORTRAN and it included hundreds of lines of EQU's at the beginning. 
> 
> Can anyone confirm or deny this?
> 
> George Erhart

I sure can.  I don't know about space shuttle software, but
there are lots of computers that run nothing but ForTran-66
programs or older being put through the latest ForTran compilers.
Of course they use line editors on their shiney new VT100s
because they don't know about about screen editors.  There
are only a few groups changing (oh-so-slowly) over to the
radical new languages that can out in the early 70s (Pascal
and C).  Although, the shuttle software was written by IBM
people under contract, so they probably used a mish-mash of
PL-1 and ForTran.  There was also work down by Rockwell
that I'll guess is a mish-mash of Jovial and ForTran.

Doug Freyburger		DOUG@JPL-VLSI, DOUG@JPL-ROBOTICS,
JPL 171-235		...escher!doug, doug@aerospace,
Pasadena, CA 91109	etc.

hhs@hou2h.UUCP (H.SHARP) (08/13/85)

I can confirm that Fortran is alive and well at NASA.  Although
not always by the choice of the government workers.

hhs@hou2h.UUCP (H.SHARP) (08/13/85)

Some followup information:'

A Software Engineering Institute was formed several years ago
at Goddard Space Flight Center.  The lead person in that effort is
Frank McGarry. They have had several Conferences over the last few
years and have produced booklets documenting the results of the
conferences (i.e. papers presented).  They have also produced 
results of tests done on different projects to compare metrics 
used.  They have published handbooks for software managers 
suggesting methods for managing software projects.  

A film was produced and shown at several centers describing the
"crisis" in software engineering.  All these efforts lead me to
believe that Headquarters has perhaps realized that something
needs to be done NASA-wide to help the situation.

At Goddard, there is now an ADA working group which has Ada 
running on several VAX's among other computers, and they are 
studying the use of ADA.  Another directorate at GSFC (CD. 500)
has purchased several Symbolics processors and is proceeding to
explore AI applications in its area.             
I am not aware of any systems running UNIX yet.
As shown by the above, there are efforts underway to upgrade and
to modernize the computing at NASA.  The question is if and when
results will be seen.  The "turf wars" mentioned in a previous
article are ever present.  With Space Station coming up, I don't
believe NASA can afford to drag its feet.

But, to end with a particular, one division at GSFC which works
in communications had been writing its switching software in
MASM, a structured assembly language with a PDL and preprocessor
designed by Sperry.  When a new Prime contractor took over, it
insisted that they "modernize" and program the next project in
a high-level language.  And what language did they pick?
Fortran, of course.

P.S.  REMEMBER!
	When you dump on civil servants, you dump on NASA!
	

csg@pyramid.UUCP (Carl S. Gutekunst) (08/13/85)

In article <46@escher.UUCP> doug@escher.UUCP (Douglas J Freyburger) writes:
>         Although, the shuttle software was written by IBM
>people under contract, so they probably used a mish-mash of
>PL-1 and ForTran.

I thought the shuttle software was done by Intermetrics...? Or did they just do
the compilers? In general, how can one find out more about computing on the
shuttle?
-- 
      -m-------     Carl S. Gutekunst, Software R&D, Pyramid Technology
    ---mmm-----     P.O. Box 7295, Mountain View, CA 94039   415/965-7200
  -----mmmmm---     UUCP: {allegra,decwrl,dual,Shasta,sun,topaz}!pyramid!csg
-------mmmmmmm-     ARPA: pyramid!csg@sri-unix.ARPA

rcj@burl.UUCP (Curtis Jackson) (08/14/85)

>and C).  Although, the shuttle software was written by IBM
>people under contract, so they probably used a mish-mash of
>PL-1 and ForTran.  There was also work down by Rockwell
>that I'll guess is a mish-mash of Jovial and ForTran.
>
>Doug Freyburger		DOUG@JPL-VLSI, DOUG@JPL-ROBOTICS,
>JPL 171-235		...escher!doug, doug@aerospace,
>Pasadena, CA 91109	etc.

Well, I was offered a job with Rockwell, and they were writing in
GOAL (Ground ?Operations? Aeronautical Language).  It was NASTY
stuff:

	IF VOLTAGE AT XPTB < 5.5 AND ....

It looked a LOT like some technical COBOL or something.
-- 

The MAD Programmer -- 919-228-3313 (Cornet 291)
alias: Curtis Jackson	...![ ihnp4 ulysses cbosgd mgnetp ]!burl!rcj
			...![ ihnp4 cbosgd akgua masscomp ]!clyde!rcj

epm0@bunny.UUCP (Erik Mintz) (08/14/85)

> 
> I thought the shuttle software was done by Intermetrics...? Or did they just do
> the compilers? In general, how can one find out more about computing on the
> shuttle?

The September 1984 issue of "Communications of the ACM" contains a case
study of the space shuttle software system. Most of the software seems
to have come from IBM.

-- 
Erik Mintz

ARPA or CSnet : epm0%gte-labs.csnet@csnet-relay
UUCP: ...harvard!bunny!epm0

bradley@im4u.UUCP (08/15/85)

>>         Although, the shuttle software was written by IBM
>>people under contract, so they probably used a mish-mash of
>>PL-1 and ForTran.
>
>I thought the shuttle software was done by Intermetrics...? Or did they just do
>the compilers? In general, how can one find out more about computing on the
>shuttle?
>-- 

The space shuttle was the subject of a special case study published in the
Communications of the ACM sometime within the past year or two.  I'm not
sure of the exact issue.  The article described the computers and software 
used onboard the shuttle and in the development/testing areas.

Although the software is developed and maintained by IBM, I seem to recall that
there is also a NASA team that writes "equivalent" programs which are used to
verify the ones from IBM.  The software is not in PL-1 or Fortran, but in
a language called HAL(?).  According to the article the language is not named
after the computer in 2001, but after the person who developed it.

It's been a while since I read the article so this some of this might be
off a little bit.
-- 
David K. Bradley  

-------------------------------------------------------------------------------
Computer Science Department, The University of Texas at Austin
bradley@ut-sally.UUCP      {ihnp4,harvard,gatech,ctvax,seismo}!ut-sally!bradley
-------------------------------------------------------------------------------

eugene@ames.UUCP (Eugene Miya) (08/16/85)

> 
> I thought the shuttle software was done by Intermetrics...?
> the compilers? In general, how can one find out more about computing on the
> shuttle?
> -- 
>       -m-------     Carl S. Gutekunst, Software R&D, Pyramid Technology

Again best reference was the CACM several months ago on the shuttle
CPUs [IBM], and the recent issue of the Annuals of Computers.

The programming language developed by Intermetrics for NASA in 1973 is
called HAL/S.  I have a manual [since you are in Mountain View] if
you want to read it.  It is supposed to be "FORTRAN-like" but after
inspection it is closer to PL/1 without dynamic memory and other
sophiticated features, oh yeah, there is no multiple operator '*'
instead two adjacent variables are multiplied like in algebra [big
mistake!].  Intermetrics modified HAL/S into a real time ground
form called HAL/G.  They also tried to submit a modified version as a
candidate language for Ada and was one of the four finalists.
There is a HAL/S user's group run by an old friend, but only NASA uses it
to any degree.  HAL/S is written in PL/X or something and was
hosted on 360/370s for cross compilation to the Shuttle's computers.

My short bit of work was to help evaluate whether it was worth $1 million
to spent hosting HAL/S to Univac 1100/81s for Galileo's onboard
computers.  NASA is now considering Ada for future space work, but
the dynamic memory and lack of instruction space on most spacecraft
computers has old timers talking about a restricted Ada.  [e.g.
"Oh no! . . . recursion is inefficient, dangerous, and difficult to
comprehend...." much less pointers]

--eugene miya
  NASA Ames Research Center
  {hplabs,ihnp4,dual,hao,decwrl,allegra}!ames!aurora!eugene
  emiya@ames-vmsb

doug@escher.UUCP (Douglas J Freyburger) (08/17/85)

> A film was produced and shown at several centers describing the
> "crisis" in software engineering.  All these efforts lead me to
> believe that Headquarters has perhaps realized that something
> needs to be done NASA-wide to help the situation.
> 
> I am not aware of any systems running UNIX yet.

There are plenty of unix machines at JPL, with "escher" on
the net, and at least one other (in robotics) to follow by
the end of the year.  There are also several Symbolics
machines at JPL now.  No mainframes newer than UniHack
1100s (Sperry, now), though.  NASA in general IS working a
catch-up game with computers now.  We're getting better,
but we have a long way to go.

There is a huge project that was speced in Ada before Ada
compilers existed, so last year they agreed to do it in
ForTran.  The memo said that the ForTran code should not be
self-documenting, but should be read-through with the spec
and the PDL side-by-side.  Does it maybe sound like someone
in management still doesn't believe still software
modernization is a good idea? :-)
-- 

Doug Freyburger		DOUG@JPL-VLSI, DOUG@JPL-ROBOTICS,
JPL 171-235		...escher!doug, doug@aerospace,
Pasadena, CA 91109	etc.

Disclaimer: The opinions expressed above are far too
ridiculous to be associated with my employer.

Unix is a trademark of Bell Labs, VMS is a trade mark of
DEC, and there are others that I'm probably forgeting to
mention.