r8 - 06 Oct 2006 - 15:16:08 - VinubalajiGopalYou are here: OSAF >  Journal Web  > CosmoDocumentationProcess
The entire class structure of the cosmo project is not yet documented with UML diagrams to illustrate the complete flow of the Cosmo architecture. Eventhough the java sources and javadoc of all the classes is very neat, the overall class hierarchy would be best illustrated by a UML diagram. This document describes the UML Documentation process for Cosmo, including the tools analysed and comments on each tool.

I used the following links to checkout the different UML tools:

Open Source Tools analysed:

Tool Name Comments Tutorial/links Status
Maven This is the most desirable solution for documenting the entire Cosmo source, since maven is part of the build system and a command to create the entire documentation will be a really nice feature. SpringGraph?, now known as SpringViz? and DotUML? are the two maven plugins which provides a mechanism to create the UML diagrams. The documentation for this tools were very sparse and I am not a maven expert, so could not set this up.   Completed - CosmoDotUML describes setting up the dotuml maven and shows a diagram generated using that plugin and CosmoSpringViz shows a graph generated using SpringGraph
Eclipse EMF The EMF expects a @model tag as part of the source and generating that for Cosmo is not straight forward. So EMF is unsuitable for the Cosmo Documentation project. Tutorial from the Eclipse website Completed
Argo XML It does create some of the uml diagrams, but we found the program to be unstable with the large amount of files it had to process. Apart from that we did not find the diagrams really useful.   Completed
Fujaba Fujaba is a GPL'ed java swing application and I found it to be very stable and user friendly. I still feel that the UI for this application needs some work, especially when editing the class diagrams.   Completed and marked for deployment Maven dotuml plugin will generate more dynamic class diagrams using a simple command line utiltiy and it can be part of the build system. So we will be using maven plugin instead of Fujaba.

Here is the class diagram created using Fujaba:

  • Example class diagram of the Cosmo Dav directory:
    Example class diagram of the Cosmo Dav directory

Other tools analysed

  • Magic Draw
  • Visual Paradigm for Eclipse

Both this tools are proprietory and has a community license edition for non profit use. This community license edition does not allow to create the UML diagrams from the java source and it is barely useful for the documentation process.

Came across the following UML tools for Python, but did not do any analysis, since it was beyond the scope of the Cosmo documentation process:

-- VinubalajiGopal - 12 Jun 2006

toggleopenShow attachmentstogglecloseHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
pngpng cosmo1.png manage 118.1 K 12 Jun 2006 - 17:07 VinubalajiGopal Example class diagram of the Cosmo Dav directory
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r8 < r7 < r6 < r5 < r4 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.