comp.lang.ada
 help / color / mirror / Atom feed
From: Wes Groleau <wesgroleau@despammed.com>
Subject: Re: Reverse Engeenering
Date: Mon, 08 Apr 2002 13:31:22 -0500
Date: 2002-04-08T13:31:22-05:00	[thread overview]
Message-ID: <3CB1E1FA.4E05C30B@despammed.com> (raw)
In-Reply-To: 4519e058.0204081006.6cc320bd@posting.google.com


> I used Teamwork back in the pre-UML days (1989), but we never tried
> code generation or reverse engineers. I used the ObjectTeam (not
> realizing it was the same product), and can vouch that its
> reverse-engineering still sucked. For instance, it wanted to make each

Teamwork's reverse engineering algorithm in 1990
generated Buhr diagrams from Ada, with an algorithm like:

For each subprogram or task in the input,
   generate a new separate diagram containing one subprogram
          and an invocation arrow.
   put the name of the subprogram in the box
   put the parameters on the invocation.
end

So to make them usable, you go through all the diagrams
or source to identify all the packages (source is easier).
Then you manually create each package.  Then you create
all the visible subprograms/tasks in each package.  You
can cut and paste names and parameters from the revenged*
diagrams, or from source.  Guess which is easier!  :-)
Once you go through this step to make the model useful
for anything at all, you have to maintain it in that format,
because to reveng it again means doing all this over!

As for code generation:  It generated ONLY the skeleton,
i.e., only that which was obvious from the diagrams:
declaration, parameters, begin, exception, end.  It inserted
special comments to divide each compilation unit into
NINE sections.  Each section was stored in a separate
file, which so-called "code generation" pasted back
together.  These sections had to be maintained by hand,
but to syntax check or use any other tools, you had to
run the generator.  If you ever edit a compilable file,
see above comment about "reveng it again"


*the reverse engineering tool was called reveng - appropriate!

-- 
Wes Groleau
http://freepages.rootsweb.com/~wgroleau



  reply	other threads:[~2002-04-08 18:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-05 20:24 Reverse Engeenering Philippe JUGLA
2002-04-05 22:53 ` Stephen Leake
2002-04-05 23:51   ` Pat Rogers
2002-04-06  7:57     ` martin.m.dowie
2002-04-08 14:16     ` Stephen Leake
2002-04-08 14:53     ` Wes Groleau
2002-04-08 17:26       ` Michael Erdmann
2002-04-10 17:26         ` Wes Groleau
2002-04-08 18:06       ` Ted Dennison
2002-04-08 18:31         ` Wes Groleau [this message]
2002-04-09 22:56     ` Philippe JUGLA
2002-04-09  1:00 ` Adrian Hoe
replies disabled

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