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

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 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:

  1. Start Architect.

  2. Select File –> New Project.

  3. Select All from the list of Profiles.

  4. Select Fortran (Understand) from the Module Type drop down.

  5. Navigate and select the udb or und file in the file tree.

  6. 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.

  7. Click on Create Project.

You can then click DSM:$root under Views to view the DSM after the input has been processed.

Fortran Options#

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.

Show New Member Atoms
If members are expanded, new member atoms are automatically displayed.

Note that you can also enable member level functionality after a project is loaded:

  1. Right click on a subsystem to bring up a list of menus. You can expand the entire project by right clicking on $root.

  2. Select Expand Members.

  3. 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:

  • Source File

  • Method

  • Variable

  • Type

  • Common Block

The following kinds of dependencies are supported:

  • Data Modify

  • Data Read

  • Invoke

  • Typed

  • Module

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.