comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey D. Cherry" <jdcherry@utech.net>
Subject: Re: Popular Design Diagram Methods For Ada
Date: 2000/02/04
Date: 2000-02-04T00:00:00+00:00	[thread overview]
Message-ID: <389AFCFE.7CB008BD@utech.net> (raw)
In-Reply-To: 3899CE45.FDF88C8F@quadruscorp.com

Comments interspersed ...

"Marin D. Condic" wrote:
> 
> I've used their AdaDL tool in the past and it did useful things for us
> at the time. In this case, I don't think I'm looking so much for some
> sort of static code analysis as I am looking for a diagraming tool. What
> we need to do is more at a gross level rather than resolving detailed
> design issues. It's not so much a case of trying to identify where some
> variable is declared or what is the "with" chain for a specific module
> as it is a case of identifying how all the CSCs hang together, how and
> what they communicate to each other, etc.

I'd like that as well, and if you find something, please let me know where 
I can get my hands on it.  IMHO, the problem here is that I don't think there 
is any way to derive CSC structure from code unless the developer followed 
a structured design methodology, or the tool can divine the intentions of 
the developer's thoughts on CSC interaction.  If the developer used an 
object-oriented approach, then Rose and Software Through Pictures (StP) can 
help tremendously since that is their underlying assumption when those tools 
reverse engineering a set of software.  The Understand for Ada tool can 
help in the diagramming of call trees, with trees, used by trees, etc., so if 
a structured design were originally used on the software, you'll get a good 
part of the CSC structure and interaction captured.  Since their text 
reports repeat the graphic tree in text form, you may be able to import it 
into a drawing tool.  This would give you a start on a drawing with the 
basic structure defined.  You could then add and move things around based on 
your experience with the code in order to recover the original CSC design.

> A "reverse engineering" tool that produced some sort of diagrams showing
> who calls what might be helpful. I don't think that is as critical to
> our problem as other factors though. My experience with reverse
> engineering from code has been pretty disappointing, ...

Ditto.

> so I'd rather have
> a tool I can use to draw my own diagrams with after using the meatware
> to look over the code. I also want to select a methodology and tool with
> which we can also go forward with future designs.

I agree, but I'm sure you realize that this is still a largely manual 
process.  It would be great to be able to automate such an activity.

> Helpful Hint For Toolmakers: A design tool that lets you draw things at
> a gross level and then "push down" into details (or "pop up" from
> details to a higher context) would be *very* useful. Also, the ability
> to flag features such that they can be "filtered out" of the view of a
> diagram would be useful. Think about how a package may have one major
> type and a handful of important subprograms. Yet there may be a
> half-dozen other visible types which are necessary, but unimportant to
> understanding what the package is all about. Being able to specify
> levels of importance and filtering out the details (a sort of "zoom"
> function) would be a very handy thing to have.

I couldn't have said it better myself.

> As I said elsewhere, I need something that supports the full Ada
> language so that we can represent any Ada structures that occur. I'm not
> against something that supports OOD, but it has to allow us to step
> outside of that box when the code doesn't fit that model.

Yes this should be a capability of a great tool, to use either a structured 
design or a object-oriented design.  Likewise I'd like to be able to tell 
an idealistic reverse engineering tool that the software was developed using 
a structured approach, or an OO approach, and then have it generate the 
appropriate diagrams.  Once the diagrams were generated, I would like to 
be able to extend the design (by manipulating the diagrams) and then have 
the tool forward engineer the appropriate changes.  Now that's what I call 
round trip engineering. ;)

> I've heard many mentions of UML diagrams. I must admit my ignorance in
> this area. For the last 10 or so years, I've been designing with a
> custom tool aimed specifically at Control Laws problems - Its a
> specialty that is not as well served by "general purpose" software
> design methodologies. As a result, I've not kept up with most of the
> recent developments in design methodologies. Could you point me at any
> web resources that describe UML and anything related to it?

Start at Rational's web site at http://www.rational.com, then follow the 
link for the "UML Resource Center".  If you're looking for a pseudo-intro 
book to UML, I liked the book "UML Toolkit" by Hans-Erik Eriksson and 
Magnus Penker.  If you get into the real-time UML stuff, then I highly 
recommend the book "Doing Hard Time, Developing Real-Time Systems with 
UML, Objects, Frameworks, and Patterns" by Bruce Powel Douglass.  It's a 
_great_ book!

> We should all be so lucky as to have enough money to spend on custom
> tool development! :-) I think I'd disagree about the "real operating
> system" part - at least if we're talking Windows-NT and its descendents.
> We need Windows as one platform for a design tool, but we'd also like to
> be able to run on Sun boxes. The reality of the world is that lots of
> platforms exist and a tool needs to be available on many of them if it
> wants to succeed. If it only runs on Sun/Unix, I can't make use of it in
> all the places it would need to run.

I use Windows NT on my PC at home.  I can also boot Windows 98 since I use 
IBM's boot manager from the Partition Magic product.  But the last time I 
booted Windows 98 was the day I finished the Tomb Raider III game, about 
7 months ago.  I definitely think NT is more reliable and useful than 
either Windows 95 or 98, but there are much more reliable operating systems 
than NT, UNIX variants being the most prominent.

-- 
Regards,
Jeffrey D. Cherry
Senior IV&V Analyst
Logicon Space and Information Operations
Logicon Inc.
a Northrop Grumman company




  reply	other threads:[~2000-02-04  0:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-02-02  0:00 Popular Design Diagram Methods For Ada Marin D. Condic
2000-02-02  0:00 ` Ted Dennison
2000-02-03  0:00   ` Chris M. Moore
2000-02-03  0:00     ` Marin D. Condic
2000-02-04  0:00       ` Jean-Pierre Rosen
2000-02-04  0:00         ` Marin D. Condic
2000-02-05  0:00           ` Jean-Pierre Rosen
2000-02-03  0:00 ` Jeffrey D. Cherry
2000-02-03  0:00   ` Marin D. Condic
2000-02-04  0:00     ` Jeffrey D. Cherry [this message]
2000-02-04  0:00       ` Marin D. Condic
2000-02-07  0:00         ` Jeffrey D. Cherry
2000-02-04  0:00     ` Jean-Pierre Rosen
2000-02-04  0:00       ` Marin D. Condic
2000-02-05  0:00         ` Jean-Pierre Rosen
2000-02-07  0:00         ` Pierre Dissaux
2000-02-08  0:00           ` Marin D. Condic
2000-02-08  0:00             ` Jean St-Pierre
replies disabled

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