Inner TRIM3 Masthead

Documentation for TRIM3 Developers

TRIM3 Simulations

Conversion of Input Data

Interface

Common source code for the five Navigator tools listed below is located in the ASPE-TRIM application server's d:\inetpub\wwwroot_prod\common folder. The code that creates objects from these common classes (and in some cases derives specialized classes of their own) is located in the following d:\inetpub\wwwroot_prod subfolders.

  • Dictionary
  • PublicRules (view-only rules)
  • Rules (rules that may be edited)
  • Runs
  • SummaryTables

The Microdata tool uses classes from an in-house system called OOQM (Object-Oriented Question Maker). The source code for this tool is stored in the d:\inetpub\wwwroot_prod\Microdata directory. Source code for another OOQM application--a CTD editor--that has not been updated nor used in recent years is stored in the d:\inetpub\wwwroot_prod\CTDEditor.

New versions of the interface are developed by modifying the code in the test directory (d:\inetpub\wwwroot_dev), which is accessed via port 8080 on the ASPE-TRIM server. (The ASPE-TRIM version of the interface is accessed with the "aspetrim.urban.org" URL, and the public server interface is accessed with the "trim.urban.org" URL.) A separate application server is used for tests which require a separate database, TRIM3 engine or application options that could have a negative or unpredictable impact in a production environment.

The interface code on the public server is updated only after code changes have been successfully tested and approved for production use on the ASPE-TRIM server. When a new version is ready for release, the modified files are copied from the ASPE-TRIM server to the public server. CAUTION: Ascertain that the files on the test and production ports of the ASPE-TRIM server and the production port of the public server are the same before copying changes from the ASPE-TRIM to the public server.

The file ServerDefaults.php should never be over-written, as it assigns values to variables that vary by server. Many of the values are derived from TRIM_* environmental variables, but the list of variables and their values are unique to each server.

Additional documentation is available to assist programmers in maintaining and modifying the source code for the following Navigator functions:

Other articles of interest:

Database

TRIM3 Frame

Some of the more important source code files in the TRIMdll group are:

  • Code for reading input data:
  • Code for reading program rule values from the CTD:
    • baseinst
    • inst
    • packager
    • func
  • Code for handling requests for simulation runs and supplying basic functionality to the simulation modules:
  • Code for creating "Make" files:
    • make

This section contains documentation to assist the programmer in maintaining and modifying frame code.

  • Using environmental variables in the frame[Word]
  • Using the VarMap and BaseArray classes [Word]
  • Running Multiple Simulation Engines on the Same Server [Word]
  • Frame changes required to create an ACS Make File [Word]
  • Schema Names and Setting Simulation Year[Word]

Other articles of interest:

  • Diagram of Simulation Steps[Word]
  • UML Sequence Diagrams
    • Call Sequence for a Typical Run [Word]

Public Server

Useful Technical Sites