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
next prev parent 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