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,cfcf6e3e7ade5a74 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-05-24 12:27:02 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!kibo.news.demon.net!news.demon.co.uk!demon!pogner.demon.co.uk!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Free Ada UML tools Available / Date: 24 May 2002 20:16:39 +0100 Organization: Pushface Sender: simon@smaug Message-ID: References: <3CED3807.5378EC9D@lmco.nospammmmmm.com> <9ff447f2.0205232202.2451c06e@posting.google.com> NNTP-Posting-Host: pogner.demon.co.uk X-NNTP-Posting-Host: pogner.demon.co.uk:62.49.19.209 X-Trace: news.demon.co.uk 1022268361 nnrp-07:3573 NO-IDENT pogner.demon.co.uk:62.49.19.209 X-Complaints-To: abuse@demon.net User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Xref: archiver1.google.com comp.lang.ada:24675 Date: 2002-05-24T20:16:39+01:00 List-Id: Preben Randhol writes: > Yes, but I guess that the project needs a helping hand from more Ada > people. Alternatively one could start a Dia2Ada project (in Ada of > course) using the XML file that you can create with Dia. It might be OK to do it in Ada but I found it easier to start using XSLT. I'm not 100% sure that was the right thing, but it certainly works. What's really needed is something like JSP (or perhasp Zope), which has inserts that recognise the metamodel of UML and can access your model; package is .. end ; so you have a means of writing parameterisable templates. I'd got a little way towards this but it looked like a lot of work. It would certainly be worth something like this (the XSLT approach is very flexible but at a high cost). > What is it really that one expect of code from a UML model? I mean > is it only the skeleton code or should it do more? Well, I think it's up to the software architect! If your target is a little embedded box, you'll go one way, if it's something with an ODBC backend for persistence you'll do something else. But if the model describes the problem domain, it should be "true" for either. (This is a large claim, you often need to decorate/tag/colour the model to express particular design choices; of course a better design would tag the model descrptively and let the code generator figure out how best to translate it, but this is a hard problem). The choice that the present CF architecture makes is appropriate (I think!) for a memory-resident VxWorks GNAT system. If you describe a class you get a whole raft of code to support the extent of the class (all the current instances) and even more if you have associations. It has state machine support as well (you just fill in the actions, which are operations of the class like any other). What you don't do is have container classes in your model; you just tell CF you want to have 0..* (or 0..4 if you want bounded containers) instance. Another user has decided they don't want all that, they will hold class extents in the backend database so they only need stack-based arrays of instances (well, I think that's the plan). It is possible to generate a high proportion of the code needed, indeed if you write in an action specification language at a higher level than Ada you can get 100% translation of the same model into different target languages. See eg http://www.projtech.com/ . Aonix have a framework-only parameterisable code generator (ACD), Some of the links from http://www.pushface.org/coldframe/resources.html are broken, but this one is good.