[Uml-devel] Ada code generator for umbrello

Luis De la Parra Blum lparrab at gmx.net
Wed Dec 18 17:21:08 UTC 2002

Hi Oliver!

Thanks for your mail, and sorry it took me so long to get back to you. I'm on 
vacations and the last few days I've been going out all night (and sleeping 
all day!).

Of course I'm (we're) interested in your code! I must confess that my 
knowledge of Ada is null, but it's always nice to have support for more 

Unfortunately I don't think Ada generation is going to make it into 1.1, but 
when you consider your code is usable we can put it in a separate library and 
offer it as a separate plug in in our page so that people who already got 1.1 
can get it (you can have several libraries for the generators). Then we can 
put it into the "official" codegen library that is distributed with Umbrello 
(if you agree) so that for the next version we have only one lib.

I know associations really suck, but they were implemented that way before I 
came to the project, and changing them would have broken a lot of things, so 
we decided to leave them like that.
There's been a lot of discussion about it in the list, and of course we are 
going to fix that, but it won't be untill the next major version.

to your question about KInstance: (from the KLibFactory documentation):
This KInstance is comparable to KGlobal used by normal applications. It allows 
you to find resource files (images, XML, sound etc.) belonging to the 

since we don't use any external resources from within the library maybe we 
*coud* get away without it (I dont really know, just guessing) but since we 
are using KLibLoader and friends, I think it's a good idea to do things the 
way they're supposed to be.

To your othe comment:
I dont know what SANS_KDE is (but I imagine it). but when I wrote that code I  
tried to make it as independent as possible. I use KLibLoader and factory for 
commodity(???) only, but it should be pretty easy to get rid of those and use 
libtool and lower APIs directly, removing all dependency on KDE, but right 
now I don't see the need to do that.

I'm CCing the list and attaching your mail (to give you propper credit for the 

Thanks again,


-----Original mail----------
Hi there,

I've been adding an Ada code generator to umbrello.
If this this of interest to you?
FYI I am appending a diff against umbrello-1.1rc1
(however, this is still a work-in-progress.)

For a compile-only syntax check I tried compiling the Ada generator
without KDE.  To do this, I defined a symbol SANS_KDE.
Of course, I realize that KDE is needed to do anything useful.
Still, this was an interesting study to see how thickly the code
generators are intermeshed with KDE.
To my delight it turns out the interface between the two is thin.

A major touching point are the associations.
However, to judge by the comments in the generator code
concerning associations, I still have hope this might improve
over time (?)

One other small touching point is the
        static KInstance* s_instance;
in class WriterFactory (uml/codegenerators/factory.h)

I did not understand this. What is the s_instance member there for?


Oliver Kellogg

More information about the umbrello-devel mailing list