Hello,

I have been doing the Design Tools investigation. I had investigated several 
tools with the following features in mind:


è Open Source and active project

è Text-file based tool, which allows git control and manipulation of the files 
with other tools (to add extra functionality)

è Diagram export to image and possibly to ascii art (if we want to incorporate 
some diagrams into source code)

è User friendly

è Both component and sequence diagrams available

After my investigation I made the following short list:


è PlantUML: It has all characteristics above listed. Unfortunately, the export 
to ascii art diagrams feature is only available in the PlantUML online editor, 
also, there is no GUI (at least which I am aware of, but no big problem) for 
editing diagrams. Note that although the tool is called PlantUML, PlantUML is 
itself a standard, so there are several tools, which can handle it.

è Modelio: More GUI based than text file based. Import/Export from/to html like 
files is possible, however in a hard-to-understand format

è Violet: Also a GUI based. It has a simpler interface, but slower (annoying) 
than Modelio. The model is saved into html in a hard-to-read format.

è UMLet: Also GUI interface (seems not 100 % functional). It outputs to html, 
but this html only contains the position of the elements in the UML drawing and 
not the relation between components

è ASCIIFlow: Not properly an UML design tool, but it allows to quickly design 
simple component diagrams in ascii art, which can be included in code. Also 
allows to import and edit already existing ascii drawings. I believe It will 
not be used, but was put here as a reference.

è blockdiag and seqdiag: (http://blockdiag.com/en/), blockdiag provides two 
packages (shall be installed separately), blockdiag and seqdiag to, 
respectively, draw block and sequence diagrams. The input is text file which 
allows to generate the diagrams. Has also interface with sphinx and probably it 
is possible to represent the diagrams in asci art.

I would say that the best candidates are PlantUML and blockdiag.

I found other tools which are either dead projects (most of them) or have 
missing features. I will write down the list, If anyone is interested to have a 
look:

è ARGOUML

è UMBRELLO

è Dia

è StartUML

è UMPLE

è ZenUML

I know that there is the idea to use the doxygen to generate architectural 
components from the code. I believe that any of these tools can be used when 
such situation is not possible, or do you think that doxygen alone will meet 
our needs? I still did not look at it...

Best regards

José
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to