[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/directory TraceAnalyser.java, 1.11, 1.12

Chien-Liang Fok chien-liang at users.sourceforge.net
Tue Apr 11 14:53:14 PDT 2006


Update of /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/directory
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3477/edu/wustl/mobilab/directory

Modified Files:
	TraceAnalyser.java 
Log Message:


Index: TraceAnalyser.java
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/wustl/tools/java/edu/wustl/mobilab/directory/TraceAnalyser.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** TraceAnalyser.java	11 Apr 2006 15:26:55 -0000	1.11
--- TraceAnalyser.java	11 Apr 2006 21:53:12 -0000	1.12
***************
*** 8,15 ****
--- 8,18 ----
  	static int INTRUDER_AGENT_ID = 0;
  	static int QUERIER_AGENT_ID = 1;
+ 	
+ 	private static final int MAX_AGENT_NUM = 2; // max number of agents within a GetAgentsResults message.
  
  	private boolean debug;
  	private Vector<TraceLine> trace = new Vector<TraceLine>();
  	private Hashtable<AgillaAgentID, AgillaLocation> agentLocTable = new Hashtable<AgillaAgentID, AgillaLocation>();
+ 	private Hashtable<Integer, GetAgentsResults> getAgentsResultsTable = new Hashtable<Integer, GetAgentsResults>();
  	
  	public TraceAnalyser(String file, boolean debug) throws Exception {		
***************
*** 149,152 ****
--- 152,173 ----
  			if (line.action.equals("QUERY_GET_AGENTS_RESULT_RECEIVED")) {
  				if (line.agentID == QUERIER_AGENT_ID) {
+ 					TraceLineGetAgents currLine = (TraceLineGetAgents)line;
+ 					
+ 					GetAgentsResults result = null;
+ 					if (getAgentsResultsTable.containsKey(new Integer(currLine.qid))) {
+ 						result = getAgentsResultsTable.get(new Integer(currLine.qid));
+ 					} else {
+ 						result = new GetAgentsResults(currLine.qid);
+ 						getAgentsResultsTable.put(new Integer(currLine.qid), result);
+ 					}
+ 					
+ 					if (result != null) {
+ 						for (int j = 0; j < currLine.numAgents; j++) {
+ 							AgillaAgentID aID = currLine.agentids.get(j);
+ 							AgillaLocation loc = currLine.agentLocs.get(j);
+ 							AgillaLocation actualLoc = agentLocTable.get(aID);
+ 							result.add(new GetAgentsResultsEntry(aID, loc, actualLoc));
+ 						}
+ 					}
  					
  				}
***************
*** 160,167 ****
  		System.out.println("Number of Results Messages: " + numResultsMessages);
  		System.out.println("Number of Location Update Messages: " + numLocationUpdateMessages);
! 		System.out.println("Average Error (hops): " + errorSum/(numGoodQueries+numBadQueries));
  		//System.out.println("Number of Errors: " + numErrors);
  	}
  	
  	/**
  	 * Finds the location of the agent closest to the specified location.
--- 181,213 ----
  		System.out.println("Number of Results Messages: " + numResultsMessages);
  		System.out.println("Number of Location Update Messages: " + numLocationUpdateMessages);
! 		System.out.println("Overall Average Error (hops): " + errorSum/(numGoodQueries+numBadQueries));
! 		System.out.println("Average Error (hops): " + errorSum/numBadQueries);
  		//System.out.println("Number of Errors: " + numErrors);
  	}
  	
+ 	private class GetAgentsResults {
+ 		int qid;
+ 		Vector<GetAgentsResultsEntry> results = new Vector<GetAgentsResultsEntry>();
+ 		
+ 		public GetAgentsResults(int qid) {
+ 			this.qid = qid;
+ 		}
+ 		
+ 		public void add(GetAgentsResultsEntry entry) {
+ 			results.add(entry);
+ 		}
+ 	}
+ 	
+ 	private class GetAgentsResultsEntry {
+ 		AgillaAgentID aID;
+ 		AgillaLocation reportedLocation, actualLocation;
+ 		
+ 		public GetAgentsResultsEntry(AgillaAgentID aID, AgillaLocation reportedLocation, AgillaLocation actualLocation) {
+ 			this.aID = aID;
+ 			this.reportedLocation = reportedLocation;
+ 			this.actualLocation = actualLocation;
+ 		}
+ 	}
+ 	
  	/**
  	 * Finds the location of the agent closest to the specified location.



More information about the Tinyos-contrib-commits mailing list