@InProceedings{Gogolla:2000:euroREF, author = "Martin Gogolla and Ralf Kollmann", title = "Re-Documentation of {Java} with {UML} Class Diagrams", booktitle = "Proc. 7th Reengineering Forum, Reengineering Week 2000 Z{\"u}rich", year = "2000", editor = "Eliot Chikofsky", pages = "41--48", publisher = "Reengineering Forum, Burlington, Massachusetts", abstract = "This paper describes the generation of class diagrams characterizing the static data and class structure of Java source code. To achieve such a diagrammatic representation, translation rules are defined that transform Java syntax into UML notation. Attention is paid especially to implicit and advanced properties of associations. First, an implementation view class diagram of the Java source code is generated that reflects program-specific details of the source code. In a second, more involved step, we try to create a design view from the source code and also represent certain patterns as ODMG language features. The focus of our approach is on minimizing the resulting UML diagrams (minimal with respect to the number of elements in the diagrams) by recognizing certain patterns in the source code and transforming certain low-level syntactic constructs into high-level semantic UML features.", }