Index: /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.form
===================================================================
--- /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.form	(revision 187)
+++ /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.form	(revision 188)
@@ -4,5 +4,5 @@
   <Properties>
     <Property name="defaultCloseOperation" type="int" value="3"/>
-    <Property name="title" type="java.lang.String" value="ATMS Batch Driver"/>
+    <Property name="title" type="java.lang.String" value="Traffic Modeler"/>
   </Properties>
   <SyntheticProperties>
Index: /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 187)
+++ /trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 188)
@@ -26,6 +26,9 @@
 import java.util.logging.Logger;
 import javax.swing.JOptionPane;
+import javax.swing.JWindow;
 import javax.swing.Timer;
+import javax.swing.UIManager;
 import tmcsim.cadsimulator.Coordinator;
+import tmcsim.cadsimulator.viewer.model.CADSimulatorState;
 import tmcsim.client.ATMSBatchDriver;
 import tmcsim.client.ATMSBatchViewer;
@@ -39,5 +42,5 @@
  * @version 2.0
  */
-public class TrafficModelManager extends Observable 
+public class TrafficModelManager
 {
     private final static int ONE_SECOND = 1000;
@@ -78,9 +81,4 @@
     };
 
-    /**
-     * Reference to the simulation Coordinator from whom we get simulation
-     * elapsed time.
-     */
-    private Coordinator theCoordinator;
 
     /**
@@ -112,6 +110,9 @@
      *
      * @param propertiesFile Target file path of properties file.
-     */
-    public TrafficModelManager(String propertiesFile) throws SimulationException 
+     * @param theCoordinator Reference to the simulation Coordinator from whom we get simulation
+     * elapsed time.
+     */
+    public TrafficModelManager(String propertiesFile, final Coordinator theCoordinator) 
+            throws SimulationException 
     {
         if (!loadProperties(propertiesFile))
@@ -119,14 +120,16 @@
             System.exit(0);
         }
-
+//        final Coordinator theCoordinator = theCoordinator;
         // Initialize the highway model
         incidents = new HashMap<String, List<TrafficEvent>>();
         highways = new Highways(
-                "config/vds_data/highways_fullmap.txt",
+                atmsProperties.getProperty(PROPERTIES.HIGHWAYS_MAP_FILE.name),
+                //"config/vds_data/highways_fullmap.txt",
                 //        "192.168.251.46", 8080);  //IP address of FEP Sim Linux VM
-                "localhost", 8080); 
+                atmsProperties.getProperty(PROPERTIES.FEPSIM_IP_ADDR.name),
+                8080); 
 
         // READ THE BATCH FILE OF COMMANDS and put in a queue
-        readBatchFile();
+        eventQueue = readBatchFile();
         // Launch the display
         theView = new TrafficModelViewer(this, new ArrayList<String>(incidents.keySet()));
@@ -245,11 +248,18 @@
         return true;
     }
-    private void readBatchFile()
+    /**
+     * Read a file of traffic events.  
+     * @return the chronologically ordered list of events
+     */
+    // Method is package private to facilitate unit testing.
+    LinkedList<TrafficEvent> readBatchFile()
     {
         FileInputStream fis;
+        LinkedList<TrafficEvent> eventList = new LinkedList<TrafficEvent>();
         try
         {
-            fis = new FileInputStream("config/vds_data/atmsBatchEvents.txt");
-            eventQueue = new LinkedList<TrafficEvent>();
+            fis = new FileInputStream(
+                    //"config/vds_data/atmsBatchEvents.txt");
+            atmsProperties.getProperty(PROPERTIES.EVENTS_FILE.name));
             // Read all lines from the file of events
             Scanner scan = new Scanner(fis);
@@ -264,5 +274,5 @@
                     {
                         evt = new TrafficEvent(line);
-                        eventQueue.add(evt);
+                        eventList.add(evt);
                         String incident = evt.incident;
                         // Add the line to the list for the corresponding incident
@@ -293,7 +303,8 @@
             Logger.getLogger(ATMSBatchDriver.class.getName()).log(Level.SEVERE, null, ex);
         }
-        System.out.println("Events file read, " + eventQueue.size() + " events queued.");
+        System.out.println("Events file read, " + eventList.size() + " events queued.");
         // Put the events in chronological order
-        Collections.sort(eventQueue);
+        Collections.sort(eventList);
+        return eventList;
     }
 
@@ -343,4 +354,38 @@
     }
 
+    /**
+     * Construct the CADClient with the properties file path, either from the
+     * command line arguments or default.
+     *
+     * @param args Command line arguments.
+     */
+    public static void main(String[] args) throws RemoteException
+    {
+        final String CONFIG_FILE_NAME = "traffic_model_config.properties";        
+        if (System.getProperty("CONFIG_DIR") == null)
+        {
+            System.setProperty("CONFIG_DIR", "config");
+        }
+        CADSimulatorState theModel = new CADSimulatorState();
+        Coordinator theCoordinator = new Coordinator(theModel);
+        try
+        {
+            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+            new TrafficModelManager(System.getProperty("CONFIG_DIR") + System.getProperty("file.separator") + CONFIG_FILE_NAME,
+            theCoordinator);
+
+        }
+        catch (Exception e)
+        {
+            atmsLogger.logp(Level.SEVERE, "SimulationManager", "Main",
+                    "Error initializing application.");
+
+            JOptionPane.showMessageDialog(new JWindow(), e.getMessage(),
+                    "Error - Program Exiting", JOptionPane.ERROR_MESSAGE);
+
+            System.exit(-1);
+        }
+
+    }
     class WriteToFEPThread extends Thread
     {
Index: /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.java	(revision 187)
+++ /trunk/src/tmcsim/cadsimulator/managers/TrafficModelViewer.java	(revision 188)
@@ -96,5 +96,5 @@
 
         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-        setTitle("ATMS Batch Driver");
+        setTitle("Traffic Modeler");
 
         lstEvents.setFont(new java.awt.Font("Noto Mono", 0, 12)); // NOI18N
Index: /trunk/src/tmcsim/cadsimulator/CADServer.java
===================================================================
--- /trunk/src/tmcsim/cadsimulator/CADServer.java	(revision 123)
+++ /trunk/src/tmcsim/cadsimulator/CADServer.java	(revision 188)
@@ -20,4 +20,5 @@
 import tmcsim.cadsimulator.managers.ParamicsSimulationManager;
 import tmcsim.cadsimulator.managers.SimulationClockManager;
+import tmcsim.cadsimulator.managers.TrafficModelManager;
 import tmcsim.cadsimulator.viewer.model.CADSimulatorState;
 import tmcsim.common.SimulationException;
@@ -122,4 +123,8 @@
         ATMS_PROP_FILE("ATMSProperties"),
         /**
+         * Filepath for the properties file to initialize the traffic manager.
+         */
+        TRAFFICMGR_PROP_FILE("TrafficMgrProperties"),
+        /**
          * Class name of desired user interface.
          */
@@ -168,4 +173,8 @@
      */
     protected static ATMSManager theATMSMgr = null;
+    /**
+     * Traffic Model Manager instance
+     */
+    protected static TrafficModelManager theTrafficMgr = null;
     /**
      * Properties file for the CADSimulator.
@@ -242,4 +251,9 @@
                     cadSimulatorProperties.getProperty(
                     CAD_PROPERTIES.ATMS_PROP_FILE.name));
+            
+            theTrafficMgr = new TrafficModelManager(
+                    cadSimulatorProperties.getProperty(
+                    CAD_PROPERTIES.TRAFFICMGR_PROP_FILE.name),
+                    theCoordinator);
 
             theMediaMgr = new MediaManager(
