The Lattix Understand for Fortran module reads in cross reference databases (.udb files) from Scientific Tools Understand. Understand is an interactive development environment (IDE) designed to help maintain and understand large amounts of legacy or newly created Fortran source code. It works well even if the source code does not compile or if the build environment is not setup.
You can obtain an evaluation version of Understand from http://www.getunderstand.com.
Configure Architect to Work With Understand#
The Understand module uses a library from Scientific Tools to read Understand database files (*.udb). Installing Understand 2.0 installs the library and alters the system PATH environment variable to include the Understand installation.
Note that 64-bit Lattix will work with 64-bit Understand and the 32-bit Lattix will work with the 32-bit version Understand. You cannot use 64-bit version of Lattix with 32-bit version of Understand or vice versa.
Windows: The Understand library is called udb_api.dll and is typically found in the C:Program FilesSciToolsbinpc-win32 directory. If, after installing Understand, Architect reports that the API library is missing, try logging out and logging back into your Windows session. Please ensure that path contains the directory C:Program FilesSciToolsbinpc-win64 or C:Program FilesSciToolsbinpc-win32.
Linux: The Understand library is called libudb_api.so and is found in the bin/pc-elf directory of your Understand installation. Specify the location of your Understand installation by setting STI_HOME environment variable to point to the top of your Understand installation.
Input to Create a New Project#
Once you have generated your udb file using Understand, you can create a new project:
Select File –> New Project.
Select All from the list of Profiles.
Select Fortran (Understand) from the Module Type drop down.
Navigate and select the udb or und file in the file tree.
Click on Add File to add the selected udb or und file to the project. The Fortran module supports loading only one file for each project.
Click on Create Project.
You can then click DSM:$root under Views to view the DSM after the input has been processed.
Member Level Processing#
Using member level functionality, files can be expanded to show relationships between their contents.
Do Not Load Members
This is the default. By default, Lattix creates a project whose elements are Source Files. It aggregates the references between the entities in your udb file as references between files.
Load Only Specified Members
You can specify the list of files which are expanded down to their members.
Load All Members
Members are enabled for the entire project.
Dependencies for Members#
Do Not Load Member Dependencies
If this option is turned on, the member are displayed but their dependencies are not turned on. This can keep memory consumption down, even while allowing update report to show exactly what members changed.
Load Member Dependencies
Member level dependencies are shown.
Note that you can also enable member level functionality after a project is loaded:
Right click on a subsystem to bring up a list of menus. You can expand the entire project by right clicking on $root.
Select Expand Members.
If you did not have members turned on, a project update dialog will come up. Click OK to update the project.
Fortran Atom Types and Dependency Kinds#
The following types of Atoms are supported:
The following kinds of dependencies are supported:
Note that each of the dependency kinds has several subkinds as well. The filter dialog allows you to filter the view for specific types of atoms and dependency kinds.