[comp.lang.ada] Computer Language Translation

tkueny@nfsun.UUCP (Todd Kueny) (02/27/91)

Several years ago I founded a company called LEXEME which did
language translations from a variety of computer languages to
both C and Ada.  The company did okay but died for reasons unrelated
to the technology.  The technology was very effective.  For example:
There is an AN/UGC-144 terminal in Saudi Arabia running Ada which
we created.  We probably converted several million lines of code
over the course of 4 or 5 years; much is still in production.

Is this still a viable business area?  Are companies willing to
consider translation as a viable business alternative?

It seems that there is a lot of interest in Ada these days as well as
in translations.  It is interesting to note that there are a lot of
'translators' available which claim to convert FORTRAN and so forth to
C or Ada very easily.  These are often low in price.

I still believe that hard part of translation is not really the
conversion part, i.e., compiler-like technology can do everything
which is reasonably possible, but is instead the project planning and
execution.  The more difficult parts are moving the run-time, making
sure the Ada compiler does what you want, making sure task switches
happen fast, making sure that the source get frozen, knowing how to
test, etc.

I would like to hear any comments concerning translation that people
may have.  Only serious comments please, no flames about why its a
terrible thing to do; some of us have no choice.

########################################################################
Todd R. Kueny			{ My opinions are my own. }
nfsun!tkueny@uunet.uu.net	105 Bevington Road
(412) 243-1630			Pittsburgh, PA  15221
-- 
########################################################################
Todd R. Kueny			Intelligent Technology
nfsun!tkueny@uunet.uu.net	115 Evergreen Heights Drive
(412) 931-7600			Pittsburgh, PA  15219

joevl@mojsys.com (Joe Vlietstra) (03/01/91)

In article <791@nfsun.UUCP> tkueny@nfsun.UUCP (Todd Kueny) writes:
>[...Discussion about language translation products...]
>I would like to hear any comments concerning translation that people
>may have.  Only serious comments please, no flames about why its a
>terrible thing to do; some of us have no choice.
>
>########################################################################
>Todd R. Kueny			{ My opinions are my own. }
>nfsun!tkueny@uunet.uu.net	105 Bevington Road
>(412) 243-1630			Pittsburgh, PA  15221

We are looking at developing a QuickBASIC-to-Ada translator for
internal use.  (Don't ask me why, it's a long story.)  We have also
used a lot of PD and commercial translators.  Our experience corresponds
with your observation -- there's a lot more to translation than simple
re-expression in another language.

I can summarize a translation task into the following steps:

    -- INITIALIZATION
       Experiment with the translator.
       Use lint (or flint) to identify problems in original code.
       Use cross-ref to develop data base for global variables.
       This step represents roughly 10% of the total effort.

    -- PRE-TRANSLATION
       Place original version into configuration management.
       Fix minor problems reported by lint (e.g. unused vars, etc.)
       Try to clean up spaghetti code.
       Perform regression test against original version.
       Approximately 25% of the total effort.

    -- TRANSLATION
       Run translator.  Fix translator artifacts.
       Perform another regression test.
       Only 5% of the total effort.

    -- POST-TRANSLATION
       Fix major problems reported by lint.
       Incorporate Ada structured programming features.
       More regression testing.
       60% of the total effort!

Even if the translator is able to correctly translate 100% of the
original code, there will be a significant post-translation effort.
The post-translation effort stems from the fact software translated
into Ada is never as well-structured as software originally written
in Ada.  (In fact, translated software is pretty darn ugly.)
A significant clean-up effort is required before the translated
software is presentable.  The management challenge is to prevent
the clean-up effort from becoming a re-write effort.
				Joe Vlietstra

-- 
------------------------------------------------------------------
Joe Vlietstra        | Checked Daily:  ...!uunet!mojsys!joevl
Mojave Systems Corp  | Checked Weekly: mojave@hmcvax.claremont.edu
1254 Harvard Avenue  | Iffy Routing:   joevl@mojsys.com

jls@rutabaga.Rational.COM (Jim Showalter) (03/01/91)

The problem is not translating a bad design in FORTRAN into a bad
design in Ada--I'm sure that can be automated.

The question is--is there any way to automate the translation of
a bad design in FORTRAN into a good design in Ada? I doubt it.
--
***** DISCLAIMER: The opinions expressed herein are my own. Duh. Like you'd
ever be able to find a company (or, for that matter, very many people) with
opinions like mine. 
                   -- "When I want your opinion, I'll beat it out of you."