the class2uml project pages

News

03/12/2004

This work has been awarded a first prize in the Student Research Competition of OOPSLA'04! Check out this page for all the OOPSLA related material.

03/12/2004

You can download the master thesis for this work. It is available in German only, though...

13/07/2004

The download page has been updated with the latest version of class2uml, including some minor fixes and a call graph implementation used in cardinality analysis.

These will be definitely the last changes to class2uml in the context of this master thesis project.

13/06/2004

In order to allow flexible data interchange, class2uml now implements an XMI export facility for its UML Diagrams. The XMI output it produces is compatible with the well-known Open Source tool ArgoUML.

Smaller real-life example diagrams have been succesfully tested with ArgoUML, however, there appears to be a slight problem in the ArgoUML parser when loading larger XMI files. Thus, those could not be tested in the program; but at least, they have been successfully compared against the corresponding XML DTD. They are indeed valid XMI files and should work, too.

Note:
Due to the minor differences between the XMI formats of the various Software Engineering tools, it is not certain that the ArgoUML XMI will be fully compatible to other XMI supporting tools. Thus, there might be necessary to use a converting tool on the class2uml output.

It is not planned to add any more features to class2uml in the context of the master thesis project.

14/05/2004

An analysis for composition detection has been added to the program.

In UML, compositions are a special kind of associations where it can be assured that the association source object "owns" the destination objects in a way that the latter become useless if the source is deleted. Graphically, it is denoted by a filled diamond on the source side of the association.

Composition analysis is always enabled when constructing a class diagram with java class2uml.ClassDiagram ..., however, it is a quite restrictive property and may not be identified very often. One of the classes of this project where it succeeds is e.g. class2uml.analysis.PropagationGraphBuilder.


06/05/2004

After two months of work on the code, a new version of class2uml has been uploaded where a lot has been changed and - hopefully - improved.

Summary of the most important changes so far (for a more detailed information about those points you may want to consult the about page):

  • no more dependency on *NIX-like commands (in the past, the program had relied on mv and gunzip)
  • improvement of the bytecode argument trace and the propagation analysis algorithms
  • implementation of warning prototypes for such array fields and associations that may be affected "externally", possibly leading to changes in their cardinalities
  • dumping of all the underlying analysis results into a special directory, where those protocol files can be consulted afterwards if desired
  • implementation of a query property analysis for methods


Martin Keschenau
Last modified: Fri Dec 3 11:33:47 CET 2004