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,8fbb80525a3ce8ee X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-11-20 22:57:08 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!dispose.news.demon.net!news.demon.co.uk!demon!pogner.demon.co.uk!zap!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: UML & Ada Date: 21 Nov 2001 06:47:06 +0000 Organization: Pushface Message-ID: References: <9tc0qk$cee$1@nh.pace.co.uk> <9tem90$n3k$1@nh.pace.co.uk> NNTP-Posting-Host: localhost X-NNTP-Posting-Host: pogner.demon.co.uk:158.152.70.98 X-Trace: news.demon.co.uk 1006325760 nnrp-12:2220 NO-IDENT pogner.demon.co.uk:158.152.70.98 X-Complaints-To: abuse@demon.net NNTP-Posting-Date: 21 Nov 2001 06:47:06 GMT X-Newsreader: Gnus v5.7/Emacs 20.7 Xref: archiver1.google.com comp.lang.ada:16771 Date: 2001-11-21T06:47:06+00:00 List-Id: "Marin David Condic" writes: > I'd still like a diagraming model that allows representation of > anything that can be built in Ada - with icons for all the Ada > constructs. What I know of UML is that it tends to dictate OOD - > which makes it kind of lousy if the system in question doesn't want > to use OOD or is already built & you're trying to reverse-engineer > it. (I know this is A Bad Thing, but sometimes, that's the > mission...) My view is that both UML and Ada do a lot more than you need, in different ways. UML has an enormous amount of notation (and 2.0 will have more), and even where the semantics are precise I bet you normal engineers won't use it consistently. A presenter at an Ada UK Technology Day (early '01, I think) told us how neither the system designers creating statecharts nor the programmers implementing them actually understood the notation, with predictably unfortunate results. If you are modelling a problem domain, you likely don't want to be thinking about tasks. Indeed, the ideal is that your model should be true (useful) in a number of implementations. Analyse Navigation, say, and reuse in a cruise missile and a torpedo (I don't think that's _very_ likely ..). Change your implementation language from C++ to Ada but retain your model. The point at which you need to be thinking about tasks (or threads) is when you're deciding how to map the model onto code. You might want to use UML, but what you're talking about now is the translation rules which are the same for all the analysis domains of your application (lower layers are going to have more handcrafting, of course, perhaps with indicative-only UML models with lots of annotation). Stuff on this at http://www.projtech.com/ http://www.kc.com/html/products/products.html http://www.kc.com/html/xuml.html http://www.kc.com/as_site/ (these are quite old links, I haven't checked them recently). The current translation rules for tasks in my ColdFrame (http://www.pushface.org/coldframe/) are: (1) if you mark the class "active" you get a task per instance (2) the task is constrained by an access to its instance (3) non-<> procedure operations map to instance procedures which call the corresponding task entry.