Hello Bruno,
I'm an engineer in the field of embedded systems. I think BOUML is great for support system development because of the ability to generate code direct from a class diagram. But it's necessary to have a compiler for C++. For a large amount of microcontroller families there are only C-Compilers avaliable.
When developing a small embedded system on step is to construct a module diagram. This is very similar to a class diagram. A module is like a class in common only with operations but without attributes. The code generated from a module should also be an implementation file and an declaration file (with the function prototypes).
The only association between modules is a directional dependency. When generating code this leads to an include statement in the implementation file of the module which depends on an other module.
Sometimes a module have also some attributes (global variables). They need to be defined in the implementation file when code generating. In the header file they needs a declaration with the keyword 'extern'.
I have tried to use the class diagram of BOUML to design a module diagram. I deleted the definition '${class}::' in the operation dialog for every operation on the tab 'C++'. Also I deleted some definitions in the class dialog (except '${members}'). So when generating code I get implementation files with only keywords my c-compiler understand. I have only to rename the files from *.cpp to *.c. But in the header file I can't suppress the keywords public, private, etc. For the global variables I also don't have a solution.
Can you imagine to support the language C with BOUML in the future?
Best regards,
Heiko Boehmer