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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1d52a75fd633fefc X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-02-15 03:18:03 PST Path: supernews.google.com!sn-xit-03!supernews.com!freenix!oleane.net!oleane!ntserveur.tni.fr!not-for-mail From: Pierre Dissaux Newsgroups: comp.lang.ada Subject: Re: UML (Was: Ada to C++ translator?) Date: Thu, 15 Feb 2001 12:14:35 +0100 Organization: TNI - www.tni.fr Message-ID: <3A8BBA1B.41C67EA6@tni.fr> References: <3A844255.24A4DBA3@lmco.com> <968vnc$5a2$1@nnrp1.deja.com> <3A8AECDB.9000101@acm.org> NNTP-Posting-Host: tni-sparc22.tni.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01Gold (X11; I; SunOS 4.1.3_U1 sun4m) Xref: supernews.google.com comp.lang.ada:5270 Date: 2001-02-15T12:14:35+01:00 List-Id: Ray Blaak wrote: > > Nick Williams writes: > > > Ken Garlington wrote: > > Rose 98i will code generate package specifications and stubbed bodies; > > as well as basic accessor subprograms, but it's quite clear that UML is > > not sufficient to convey the full semantic meaning of a reverse > > engineered program. > > Nor should it be. UML is about describing software designs. The full details of > the implementation are ... in the implementation. > > One would not even want to describe the full implementation in a UML model. The > level of abstraction is all wrong. > HOOD (Hierarchical Object Oriented Design) method offers a better approach at this level: - easy to use graphical notation for Architectural Design: based on the concept of Module which always maps an Ada package (it may represent a class like UML, or any other software abstraction you can find in an Ada application). The method helps minimizing dependencies between the modules. - comprehensive textual notation for Detailed Design: all design documentation and code fits into a normalized textual structure (called ODS). - program structure (packages, dependencies,...) and behavioural code (tasking, ...) can be automatically generated whereas procedural code and more complex declarations are hand written, but within a well defined framework and under the control of a tool (controlling the dependencies again). - supports Ada reverse engineering for further information: http://www.tni.fr/tni/offre/stood/index.eng.html Pierre Dissaux, TNI > Just consider the work required to put this on some sort of UML diagram: > > for i := 1..10 loop > Ada.Text_IO.Print(Integer'Image(i)); > end loop; > > One would have to tediously draw out all sorts of nit-picky details. The > diagram won't necessarily be comprehensible either. It is far more succinct > and understandable to simply write and/or look at the code. > > The important information to put in a UML model is that which lets the reader > know what the major pieces of a system are, and how they relate. That is, the > reader leaves with a decent understanding of how to go about implementing the > system. The precise realization of the design is more properly described in the > code. > > Cheers, The Rhythm is around me, > The Rhythm has control. > Ray Blaak The Rhythm is inside me, > blaak@infomatch.com The Rhythm has my soul.