Index: trunk/src/atmsdriver/model/Station.java
===================================================================
--- trunk/src/atmsdriver/model/Station.java	(revision 190)
+++ trunk/src/atmsdriver/model/Station.java	(revision 191)
@@ -195,4 +195,35 @@
     
     /**
+     * Return the color for the lanes in a given direction.
+     * @param direction
+     * @return character representing color of lanes in given direction
+     * '@' = red,  '+' = yellow, '-' = green
+     */
+    public char getColorByDirection(DIRECTION direction)
+    {
+        /* For now just use the color of the first lane. 
+         * TODO: Average the color in all the lanes for the given direction */
+
+        String laneDir = "OS";
+        if(direction.equals(this.direction))
+        {
+            laneDir = "ML";
+        }
+        // Examine all the lanes in a given direction
+        for(LoopDetector loop : loops)
+        {
+            if(loop.loopLocation.startsWith(laneDir))
+            {
+                // Return color according to loop volume
+                if (loop.vol == 1) return '@';
+                if (loop.vol == 3) return '+';
+            }
+        }
+        // Default case
+        return '-';
+                
+    }
+    
+    /**
      * Output for updateByDirection. Logs the update to the console.
      * 
Index: trunk/src/atmsdriver/model/Highways.java
===================================================================
--- trunk/src/atmsdriver/model/Highways.java	(revision 190)
+++ trunk/src/atmsdriver/model/Highways.java	(revision 191)
@@ -198,10 +198,10 @@
         {
             Scanner sc = new Scanner(new File(highwaysMapFileName));
+            // first line of file contains number of FEP Lines
             String firstLine = sc.nextLine();
-
             Scanner linesc = new Scanner(firstLine);
             int numLines = linesc.nextInt();
             linesc.close();
-
+            // FOR each FEP Line
             for (int i = 0; i < numLines; i++)
             {
@@ -227,9 +227,10 @@
         String line = sc.nextLine();
         Scanner scline = new Scanner(line);
-
+        // Get the attribute of this FEP Line
         int lineNum = scline.nextInt();
         int count = scline.nextInt();
         int numStations = scline.nextInt();
         ArrayList<Station> stations = new ArrayList<>();
+        // Read all the stations for thie FEP Line
         for (int i = 0; i < numStations; i++)
         {
@@ -473,4 +474,19 @@
     }
 
+    /** Return a string representation of the Highways */
+    public String toString()
+    {
+        StringBuilder result = new StringBuilder();
+        for (Highway hwy: highways)
+        {
+            result.append(""+String.format("%3s ",hwy.routeNumber));
+            for (Station stat: hwy.stations)
+            {
+                result.append(stat.getColorByDirection(stat.direction));
+            }
+            result.append("\n");
+        }
+        return result.toString();
+    }
     /**
      * XML tags used in writeToXML()
