ForUML is a reverse engineering tool that generates Unified Modeling Language (UML) class diagrams from object-oriented Fortran programs. ForUML understands and diagrams Fortran class relationships, including inheritance and aggregation. ForUML also detects and depicts operator overloading, constructors, and parallel data structures (coarrays).
ForUML generates a formal description of each diagram in the XML Metadata Interchange (XMI) format and launches ArgoUML to display the resulting class diagrams. Launching ArgoUML gives users the option to edit ForUML diagrams and to export the diagrams to a graphics file format for inclusion in other documents.
Users not wishing to contribute code to the ForUML project may download our end-user distribution from the ForUML project page and view an online video demonstration of using ForUML.
Prior to work on the project, please download and install the following:
- Java SE Development Kit version 1.7.0 or higher -
- NetBeans IDE v.8.0.0 or higher
- Additional libraries (lib.zip) available on the project web site.
Extract the lib.zip file on your machine.
After installing the above packages, open the ForUML project in NetBeans as follows:
- Launch NetBean
- Go the the menu File > Open Project, then select the project that you cloned from the repository.
- On the project, right click on the project and select Properties. In the popup window, select Libraries and select buttons 'Add Library' and 'Create' respectively. You must provide the library name as "LibForUML". You have to select the button "Add Jar/Folder..." that will ask you to add Jar files. You should select all Jar files contained in the extracted lib folder.
- Now you can work on the project!
You only need to do steps #2 and #3 above once.
To build the project from the command line, use 'Ant', an automation tool, to build the Java application. You can download Ant here. Once you have Ant, following these steps:
- Go to the project directory and type the following:
ant -f build.xml
- If you built successfully, you will see the 2 new folders, including
build
anddist
. The build folder contains all compiled classes and thedist
folder contains the ForUML application and its required libraries.
Notes:
- DO not push those 2 directories (
build
anddist
) into the remote repository. We intend to keep only source code and configuration files in the repository.
To run the application from the command line, go to the dist folder and type the following:
java -jar "ForUML.jar"
To distribute this project, zip up the dist
folder (including the lib
folder) and distribute the ZIP file.
If you find ForUML useful, please cite the following paper in publications that employ ForUML-generated diagrams:
Nanthaamornphong, Aziz, Jeffrey Carver, Karla Morris, and Salvatore Filippone. "Extracting uml class diagrams from object-oriented fortran: Foruml." Scientific Programming 2015 (2015): 1.
For other releated publications, please visit the publications page of Prof. Aziz Nanthaamornphong.