comp.lang.ada
 help / color / mirror / Atom feed
From: adp@cetijsc.nasa.gov (Allan Plumb)
Subject: Re: Fortran to Ada
Date: 4 Nov 1994 14:24:06 GMT
Date: 1994-11-04T14:24:06+00:00	[thread overview]
Message-ID: <39dg66$43s@popeye.jsc.nasa.gov> (raw)
In-Reply-To: 9411032048.AA02784@eight-ball.hv.boeing.com.hv.boeing.com

Bob Crispen <crispen@EIGHT-BALL.HV.BOEING.COM> writes:
|> Whenever we've ignored our own lessons learned (jeez, none of YOU guys
|> have ever done THAT ;-) and tried to re-code (that is, convert from line
|> to line, Fortran to Ada) we've created a nest of bugs that take forever
|> to find and fix.  When we redevelop, we find that previously annoying
|> but non-fatal bugs which have existed in the Fortran code since
|> time immemorial have now mysteriously disappeared.
|> 
|> Your mileage may vary, but I doubt it.

  Oh?  Whenever I've seen people redevelop in another language (or the
  same language) without paying sufficient attention to the existing
  system, I've seen: 

    - many capabilities of the existing system are lost
      (but of course everybody else has up-to-date requirements, right?)

    - validation of the new system is iffy, since they don't have 
      anything to compare it to at lower levels

  I've seen several cases at JSC of "Here's the new improved version of
  system X; it does everything the old one did!  ...   Function ZZZ? 
  I didn't know anybody still used that. ... Function QQQ?  Nobody ever
  told me the system was supposed to do that. ... Why is the new system
  giving shuttle cross-ranges off by 10 miles from the old system? 
  Let me spend a couple of months to figure that out."

  And "re-code (that is, convert from line to line, Fortran to Ada)"
  is or should be a straw-man argument.  _Of course_ line by line 
  conversion won't work.  So why would you do that?  I.e., translators
  _by themselves_ aren't up to the task, but reengineering FORTRAN to 
  Ada is a bit more than putting semi-colons on the ends of the lines...

  My own experience was reengineering a FORTRAN orbital maneuver program
  to Ada.  About 40 KSLOC, FWIW.  The resultant Ada program gaves answers
  identical to 15 decimal places to the FORTRAN, and I _know_ that no
  capabilities were left out, because I have a trail from every FORTRAN
  algorithm to the Ada replacement, or documentation of why it was not
  needed.  And BTW, we found several "annoying bugs in the FORTRAN" and
  fixed them as we went.

  And I've seen quite a few redevelopment projects that hit the other
  problems I mentioned, and my coworkers have told me of more.


  Is reengineering difficult and time-consuming?  Yes.  Does it have 
  advantages over redevelopment?  Also yes.  Are the advantages worth
  the time?  Now _here_, your mileage may indeed vary.

  Carry on.

 -- Allan Plumb (adp@gothamcity.jsc.nasa.gov)



  reply	other threads:[~1994-11-04 14:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1994-11-03 20:48 Fortran to Ada Bob Crispen
1994-11-04 14:24 ` Allan Plumb [this message]
1994-11-07 11:09 ` Robert I. Eachus
  -- strict thread matches above, loose matches on Subject: below --
2003-12-03 13:20 Anders Sneckenborg
2003-12-03 20:08 ` Randy Brukardt
2003-12-03 20:53 ` Gautier Write-only
1994-11-10 17:25 Bob Crispen
1994-10-31  4:43 Fortran To ADA Paul Emerson
1994-11-01 11:24 ` N. MELLOR
1994-11-01 12:50 ` Gregory Aharonian
1994-11-01 13:56   ` David Weller
1994-11-02 16:09   ` Charles Stump
replies disabled

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