Analysis Server

Topics

Introduction

The iFAB Foundry server encompasses all analysis tools developed by the DARPA iFAB Foundry project. The server must be running prior to submitting designs for analysis.

System Requirements

  • Windows Server 2008 or Windows 7 (64-bit versions required)
  • Avoid running on a virtual machine (VM)
  • CPU: Recommend multi-core CPU, 2.5+ GHz
  • RAM: Minimum 4 GBs, Recommend 2+ GBs per core
  • Hard Disk: Minimum 20 GBs free, Recommend 100+ GBs free

Setup Instructions

Note

When asked to change environment variables, you may be required to restart your computer for the changes to have an affect.

  1. Install pre-requisite software

  2. Extract this ZIP to a folder of your choice. We will refer to this folder as <install_dir>

  3. Setup Windows Environment Variables

    • Add <install_dir>/lib/oce-0.11/Win64/bin to PATH
    • Add <install_dir>/main/All/lib/win64 to PATH
    • Add <install_dir>/lib/atsv-5.1.8/jnilib to PATH
    • Add MMGT_OPT with value 0
  4. Disable error popups on Windows. This step is optional; however, you will need to manually close any popup messages.

    • Run the registry editor, regedit.exe
    • Set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode to 2
    • Set HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\DontShowUI to 1

Building and Running iFAB Foundry

The iFAB Foundry server encompasses all analysis tools developed by the DARPA iFAB Foundry project. The server must be running prior to submitting designs for analysis. Follow the steps below to compile and run the server. Refer to the troubleshooting section at the end of this document if you encounter any issues.

  1. When building iFAB Foundry, the resulting build is saved to C:\iFoundry

  2. Navigate to the <install_dir>/main/All directory and run the command:

    ant deploy
    
  3. Navigate to C:\iFoundrydist and run the startup.bat script. This starts a local instance of iFAB Foundry

  4. Next, run launchGUI.bat. This opens the GUI for submitting designs and viewing the results

  5. Login with username “test” and password “secret”

  6. Using the GUI, you can submit designs for analysis and view the results. Tip: double-click any row on the results page to view details

  7. To shutdown, close the GUI and run shutdown.bat

Verifying your Installation

Submit each of the designs in <install_dir>\models\EXAMPLES. The armor, machining, and assembly examles will always return successful. The casting example will only work if aPriori is available. Please refer to the Troubleshooting section if you encounter any issues.

Building the TDP Editor

The TDP Editor is a graphical tool for annotating STEP models with manufacturing information. It (1) annotates individual parts with the manufacturing process used to manufacture the part (i.e., purchased, machining, casting, plate); and (2) annotates the assembly with join information (i.e., mechanical fasteners, welds, adhesive). The output from the TDP Editor is then submitted to the iFAB Foundry server for analysis.

  1. The TDP Editor is built by running the command:

    ant deploy-tdp-editor
    
  2. To run the TDP Editor, navigate to the C:\iFoundry\dist\TDPEditor folder and run the TDPEditor.bat script

VehicleForge Submissions

Designs created using the AVM META/CyPhy tools (another component of the DARPA Adaptive Vehicle Make program) are submitted to iFAB Foundry for analysis using a command-line tool. This command-line tool is embodied in the iFABFoundry-VehicleForgeInterface.jar library. The use of this tool is best demonstrated by the Python scripts used by the META/CyPhy tools to bundle and submit designs. These scripts can be found in the folder: <install_dir>/tools/TestBenches/DetailedManufacturingTestbench

Troubleshooting

If you experience issues when compiling or running this software, please refer to the following troubleshooting steps to resolve your issue. If you are still unable to resolve this issue, please create a problem report on vehicleforge.org.

  • If you receive the message “<command> is not recognized as an internal or external command, operable program or batch file”, please ensure all the software outlined in the Setup Instructions has been installed, that the environment variables have been correctly set, and restart your computer. It may be necessary to add the directory containing the <command> executable to your PATH environment variable.

  • Make sure that the versions of the software installed in section Setup Instructions appear first on your PATH environment variable. If not, there may be a conflict when more than one version of the software is installed.

  • If you attempt to verify the installation and you receive an error message or the design fails, check the logs in C:\iFoundry\dist\logs to see if there are any error messages.

  • There are known issues when trying to compile and run this software on a virtual machine (VM). If you are running a VM and experience file permission or other errors, please try compiling and running this software on a system with Windows natively installed.

  • Sometimes shutdown.bat won’t close all of the windows. If this happens, just manually close the windows. You should always ensure the three Java windows (TaskManager, Worker, and Tomcat) are closed.

  • If the website at https://127.0.0.1:8443/ifab/ does not appear or indicates the server was not found, ensure that the following windows were created:

    • PostgreSQL
    • TaskManager
    • Worker (typically 4 workers are created)
    • Tomcat

    If any of these windows are missing, check the following troubleshooting steps to resolve the issue.

  • If the PostgreSQL window is missing, verify that there is no other PostgreSQL instance running. First, ensure that no PostgreSQL service is running. Second, open the task manager and check if postgres.exe is a running task. If so, kill this process. Close the other windows and re-run startup.bat.

  • If the TaskManager or Worker window is missing, first try closing all the windows and re-running startup.bat. If this issue persists, edit startup.bat and increase the timeouts used. I.e., find the lines:

    timeout 10
    

    and change them to:

    timeout 20
    

    Close all windows and re-run startup.bat. If this problem persists, look in the logs at C:\iFoundry\dist\logs to find any error messages.

  • If the Tomcat window is missing, check the logs in

    C:\iFoundry\dist\logs and C:\iFoundry\dist\apache-tomcat-7.0.21\logs for any error messages.

  • If you receive an OutOfMemoryException from Java, try increasing the available memory by changing the -Xmx argument. For example:

    java -Xmx8g
    

    allocates 8 GBs of memory.

  • If there were any errors during the installation process or if you are making significant source code changes, it is helpful to start with a new, clean build. This is accomplished with the command:

    ant deploy-clean
    

    THIS COMMAND WILL DELETE THE C:\iFoundry FOLDER. THE IFAB FOUNDRY DATABASE AND ASSOCIATED FILES WILL BE DELETED.

  • The iFAB Foundry system relies on system services, networking, databases, and the file system for its operation. It is possible that certain Windows configurations and security software may inadvertently cause unexpected behavior. If you continue to experience issues not resolved by these troubleshooting tips, we recommend temporarily disabling any security software and running the iFAB Foundry software with administrative permissions. TAKE APPROPRIATE STEPS TO SAFEGUARD YOUR SYSTEM BEFORE DISABLING SECURITY SOFTWARE (E.G., DISCONNECT FROM NETWORK). If these actions resolve the issue, you will need to identify the configuration setting(s) affecting the software and make the necessary modifications.