Lattix is a leading innovator in complexity management software. With roots at MIT, we have been providing solutions since 2004. Our flagship product, Lattix Architect, is in use by development teams, systems architects, designers, and quality personnel in 29 countries around the world

Founded by Neeraj Sangal, a recognized thought leader in the application of architecture analysis and the dependency structure matrix to the software development domain. Lattix is known for product excellence, prompt and personal support, and creating solutions that accelerate our customers’ revenue, minimize costs and improve quality.

Our Address is:

352 Park St, Suite 203W
North Reading, MA 01864



I have dual monitors on my PC. However, Windows crashes when I try to run Lattix.2019-07-16T18:36:43+00:00

If you experience this problem, it may be related to the interaction between the display hardware on your PC and the Java runtime. Here is a solution that has been reported by a user of Lattix:

  • Bring up Display Properties Dialog.
  • Select the Settings tab.
  • Click on the Advanced button.
  • Select the Troubleshoot tab.
  • Turn off the Enable write combining. Alternatively, you can also move the Hardware Acceleration slider to “None”.
On my Linux system, the fonts in the Lattix Architect header don’t look good (they are bold and squished). How do I fix it?2019-07-16T18:36:07+00:00

Your Linux systems may not have the correct fonts. This can happen because you are using a different JDK from the one that comes from Sun. Change the look and feel from “Metal” to the default. This should fix the problem.

In the shell script lattixarchitect.sh, which is in the Lattix bin directory, change the line:

$JAVA_HOME/bin/java -Xmx999m -Dswing.systemlaf=javax.swing.metal.MetalLookAndFeel -cp "$FULL_CLASSPATH" com.lattix.application.cmds.LattixArchitect $*


$JAVA_HOME/bin/java -Xmx999m -cp "$FULL_CLASSPATH" com.lattix.application.cmds.LattixArchitect $*

When using the floating license manager, I specify the License Host and Port number in the License dialog. However, nothing happens and I get a message that there is a “Communication Error” or “Connection is Refused”. What should I do?2019-07-16T18:35:27+00:00

Verify that the License Manager is up and running. Then ensure that there are no firewalls that are preventing the connection request from being sent to the License Manager.

When I go to run Lattix Architect from the desktop shortcut I get an error. What should I do?2019-07-16T18:34:30+00:00

Here are a few things to try:

      • Try bringing up Lattix by running the batch file “lattixarchitect.bat” in the Lattix bin directory.
      • If the error message suggests that you are running out of Java heap space, you can also try running “lattixarchitect.exe” with the argument “lattixarchitect.exe -Xmx1024m“.

Please contact us if you are not able to start up for any reason.

I specify a valid license but I get the message “No license for product (-1).”2019-07-16T18:33:17+00:00

Typically this happens when you first run Lattix as a user with admin privileges, and then run as regular user. The problem is that the license files are no longer accessible. Follow these steps to clear the license files:

      • Delete the file “architect.lic” in the config directory where you have installed Lattix (typically, c:\Program Files\Lattix9.4\config). Note that you may have to alter the directory to match your installation. Do nothing if there is no such file in the directory.
      • Delete the directory c:\Users\your-name\.lattix. The “.lattix” directory contains license and config information that Lattix generates when it runs.

Now start Lattix as a regular user and specify the License File. Please make sure that the license file on your file system is readable. If for any reason the file is not readable or you see an error message, copy the contents of the file and paste them as text directly into the Key text area of the License Dialog box. This bypasses having to read the license file.

Lattix Architect memory use appears to increase in time. Is Lattix Architect holding on to unused memory?2019-07-16T18:32:36+00:00

Lattix applications can grow in size over time based on use. However, we take pains to reclaim the memory that is no longer in use. This is done by freeing the memory and letting the Java garbage collector reclaim it. This can create a time gap between when memory is unused and when it is freed.

However, there is another important issue that can be misleading. Sometimes users look at memory usage in Windows Task Manager. It can show a lot of memory used by the Lattix Architect process even when the project that was loaded is closed. Note that this does not imply that there is a memory leak. This just reflects a large virtual size of the application when the project was loaded and does not reflect the what the current size of the application is.

Nevertheless, this is an important issue for us. We have fixed memory leaks in the past and so we are always interested in learning of scenarios where you may have experienced this problem. Please contact us if you think that you are running into a memory leak.

When I run Lattix, I get an error message “GC Overhead Limit Exceeded.” What is going on?2019-07-16T18:31:46+00:00

This error results from lack of sufficient heap memory. The virtual machine produces this message when the garbage collector is called too often because memory is running low. Increase the heap memory to resolve this problem. You can also turn off the Atom Database to reduce the memory footprint.

I run out of heap memory when I try to load a large project. How can I increase heap memory? Windows and Linux2019-07-16T18:31:07+00:00

By default, Lattix tries to create a heap size of 1GB for 32-bit systems and a size based on the actual memory for 64-bit systems. On some systems, based on actual memory organization, the default heap size is not set correctly. You can check the max heap size and the heap size used on your system by bring up the About box from Help→About.

Note that 32-bit applications are always limited to about 1GB of heap space regardless of how much physical memory you have on your computer. You can change the heap size that is used by Lattix by using the ‘-Xmxnumber‘ argument to either lattixarchitect.exe/lattixarchitect.bat/lattixarchitect.sh or to any of the other programs. If you are running Lattix Architect from the Windows shortcut, bring up the Properties dialog and append the heap size argument to the Target.

For instance:

lattixarchitect.exe -Xmx12g will allocate a maximum of 12 GB of heap for Lattix Architect.
ldcupdate.exe -Xmx8g will allocate a maximum of 8 GB of heap for ldcupdate.


The Info.plist file in the Lattix application package controls how the heap allocated when JVM is started. This steps shown here will start Lattix with 4 GB of heap memory. Please adjust according to your usage, while not specifying heap size larger than the physical memory on your system.

    1. In finder, select “Applications” on left.
    2. Search for Lattix in top right and find the “Lattix” application.
    3. Option-click (or right mouse click) on Lattix Architect application and select “Show Package Contents”.
    4. Expand “Contents” to view “Info.plist” file. Open file (using xcode or other editor).
    5. Add “string” argument to “JVMOptions”: -Xmx4g
    6. Expand “Contents/MacOS” in finder and double click on “JavaAppLauncher”
How do I move Lattix Web and the repository to another host?2019-07-16T18:30:04+00:00

Follow these steps to move Lattix Web from one host to another:

      • Stop the Lattix Web Repository Service. On Windows, you can do that from the Services panel: Control Panel\System and Security\Administrative Tools
      • Backup the repository data directory. In Windows, the default location of the directory is: C:\LattixRepository
      • Restore the repository data directory on the new host
      • Install Lattix Web on the new host. Specify the new repository data directory during installation.
      • Verify by connecting to the new repository using your browser. For example: http://hostname:8080/LattixWeb
      • Install the new license from Admin→License

Remember to let repository users know what the new host name and port number are.

When I update the Lattix Web will I lose the data in my repository?2019-07-16T18:23:58+00:00

No, you will not lose your data. When you install Lattix Web you specify the directory where the repository is located. Note that when you uninstall Lattix Web, the repository is left intact. Simply uninstall the older version of Lattix Web, install the new version, and specify the same directory for the repository.

Do I need to uninstall Lattix applications in order to install a new version?2019-07-16T18:23:23+00:00

You do not need to uninstall the older version of Lattix applications. In fact, you can have multiple versions of Lattix on your computer. Note that projects created on later versions of Lattix may not always be loadable on older versions.

You must uninstall Lattix Web prior to installing a new version of Lattix Web.

On Macs, I get an error when I try to run on OS X. What should I do?2019-07-16T18:21:26+00:00

Sometimes, the error reports the Lattix application as “damaged”. Generally, this problem occurs with older versions of OS X. Lattix has been tested on OS X 8.4 and higher. However, you should still be able to run Lattix using the shell script.

  • Open a Terminal Window
  • Run /Applications/Lattix9.4.1.app/Contents/Resources/Java/bin/lattixarchitect.sh. (Please adjust “9.4.1” with the version of Lattix that you are trying to run).
What version of Java is required to run Lattix?2019-07-16T18:20:44+00:00

Since Lattix installers for Windows and Macs include Java, you don’t need to install Java to run Lattix on Windows and Macs. For other platforms or if you are not using the installer on Windows and Macs you need to install Java. Lattix can run on the following versions of Java:

  • Windows: 1.8+
  • Mac: Java 1.8+
  • Linux: OpenJDK 1.8+ or Java 1.8+
How do I install Lattix?2019-07-16T18:13:16+00:00

Follow the steps in the Installation Manual. It also describes how to install the web repository and application on different platforms.

How can I attach an external file to LDI or Excel elements so that the file can be opened directly from a selection in Lattix?2019-07-16T17:57:17+00:00

You can specify a property called “sourcefile” to an Atom and a property called “linenumber” to an Atom or a Dependency. You specify the editor of your choice through View→Preferences→External Viewer Configuration. You can then View Source for an Atom or a Dependency directly from Lattix.

How do I create a project for LDI or Excel?2019-07-16T17:56:40+00:00

LDI projects are created by loading in “.ldi.xml” files. You can get examples of the ldi.xml file format in our customer portal (cp.lattix.com). Excel projects are created by loading in “.xls” or “.xlsx” files.

What is the difference between Importing an LDI or Excel file or Loading an LDI or Excel file through the New Project Dialog?2019-07-16T17:05:35+00:00

A subtle difference arises because Lattix provides full round trip support for two different ways of using Lattix. The two ways of loading information from LDI/Excel are based on your style of usage.

      • Usage Mode: Excel is the master source where information is maintained through the New Project Dialog (File→New Project). You cannot edit or remove dependencies in Lattix. You must change the spreadsheet and Update (Project→Project Update) your Lattix project. You can, however, always hide subsystems or dependencies to remove them from the Lattix model.
      • Usage Mode: Lattix is the master source where information is maintained (Excel is used for loading the data initially) through Import (File→Import). Once you load in the Excel spreadsheet, you can add/remove/modify the atoms or dependencies. However, you cannot “Update” an imported project with a different (or newer version of) the spreadsheet.

Note that there is a script (Export to LDI/Excel) that allows you to export any model to Excel. This means that even if you imported and modified your model in Lattix, you can always export it back to Excel. Therefore, you can always switch between the two usage modes.

What does Excel have to do with Lattix?2019-07-16T17:00:26+00:00

The Excel module allows you to create projects from Excel files. Both xls and xlsx types are supported. Historically, Excel was used for creating and analyzing DSMs. Lattix supports the original MIT Excel format. However, Lattix also supports a columnar format for specifying data. The Columnar format is particularly useful for collecting data. Here is a short (2 minute) video on using Excel with Lattix: https://www.youtube.com/watch?v=pSQ0ZV-s3GM&t=

What is LDI?2019-07-16T16:45:54+00:00

LDI (Lattix Data Import) module allows you to create Lattix projects from XML files. LDI is a module that allows users to specify their own atoms and dependencies. LDI is typically used for:

    • Analyzing your own system, for which Lattix does not provide a parser.
    • Establishing dependencies between modules that are of different types. For instance, if there are dependencies between your Java code and the Database, then LDI can be used to specify those dependencies.
What merge order should I use for multi-module projects? For instance, I have a project with Java, Hibernate and Oracle. What should the merge order be?2019-06-25T18:47:03+00:00

The merge order determines how the atoms will be merged. In this case the ultimate picture we want is the dependence of the Java application on the Oracle database. The Java module provides the Java atoms (class, interface, method, data member etc); and the Oracle module provides the Oracle atoms (schema, table, stored procedure, tigger etc). However, the Hibernate module provides atoms which are both Java and Oracle atoms such as Java classes and their related Oracle tables. Therefore, the merge order would be to put Hibernate at the end so that the Java atoms from Hibernate module would be merged with Java atoms from the Java module, and the Oracle elements from the Hibernate module would be merged with Oracle elements from the Oracle module.