From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,677566500df644a3 X-Google-Attributes: gid103376,public From: "Marin D. Condic" Subject: Re: Popular Design Diagram Methods For Ada Date: 2000/02/03 Message-ID: <3899CE45.FDF88C8F@quadruscorp.com>#1/1 X-Deja-AN: 581186903 Content-Transfer-Encoding: 7bit References: <38986B2C.D4BDB7A4@quadruscorp.com> <3899C15B.3C81B9E9@utech.net> Organization: Quadrus Corporation X-Sender: "Marin D. Condic" (Unverified) X-Server-Date: 3 Feb 2000 18:52:33 GMT Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 2000-02-03T18:52:33+00:00 List-Id: 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 =============================================================