comp.lang.ada
 help / color / mirror / Atom feed
From: "Marin D. Condic" <mcondic-nospam@quadruscorp.com>
Subject: Re: Popular Design Diagram Methods For Ada
Date: 2000/02/03
Date: 2000-02-03T18:52:33+00:00	[thread overview]
Message-ID: <3899CE45.FDF88C8F@quadruscorp.com> (raw)
In-Reply-To: 3899C15B.3C81B9E9@utech.net

Jeffrey D. Cherry wrote:
> 
> Given the above context, and if you're talking just code analysis ... not, for
> example, requirements tracking or automated testing ... then we've been using
> a tool called "Understand for Ada" by Scientific Toolworks, Inc.  They also
> have a C++ and FORTRAN variant of the same tool.  Their web site is at
> http://www.scitools.com.  We've found that this tool gives you the most

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.

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, 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.

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. 

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.


> The reason these reverse engineering tools don't help that much is because we
> look at (mostly) Ada83 code and these tools generate UML diagrams.  Since Ada83
> isn't as object-oriented as Ada95, the resulting class diagrams are
> uninformative.  This isn't a failure of the tool but merely a consequence of

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?

> If you have money that you can devote to a project, you may want to consider
> using ASIS to develop your own analysis tools.  We've identified several
> ASIS tools that we'd like to develop but simply don't have the resources.
> Also, if you use a real operating system (i.e. _not_ Windows), there are
> many more analysis tools available.
> 
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.

Thanks for the info. Anything else you can suggest would be appreciated.

MDC
-- 
=============================================================
Marin David Condic   - Quadrus Corporation -   1.800.555.3393
1015-116 Atlantic Boulevard, Atlantic Beach, FL 32233
http://www.quadruscorp.com/
m c o n d i c @ q u a d r u s c o r p . c o m

Visit my web site at:  http://www.mcondic.com/

"Capitalism without failure is like religion without sin." 
        --  Allan Meltzer, Economist 
=============================================================




  reply	other threads:[~2000-02-03  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 [this message]
2000-02-04  0:00     ` Jeffrey D. Cherry
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