Technical Details
This project is written in the Java programming language and will make use of Java Swing components to create and manage a simple and familiar user interface. Java was chosen as a programming language as it is a (mostly) platform independent language. Using the Java Swing toolkit allows us to build a user interface with tested controls that are familiar to users.
By using Java SpyTracker takes advantage of the Weka data mining tool and its algorithms. Weka is freely available collection of data mining algorythms and a framework for running them written in Java.
Functional Details
Input
SpyTracker is able to handle and recover from many types of errors in the secret agent records it is given. The data preprocessing module can detect both syntactical and semantic errors. Data for each train track will be stored in a file once read into the program so that more data can be added as time progresses.
The data input by the user should be organized one line of data for each date, where each date includes one entry for each secret agent observed. Each observation entry includes:
- The letter of the car the agent was observed in (A-E)
- The row number the agent was sitting in (1-20)
- A date printed on the agents briefcase indicating the date the agent became a secret agent.
Output
SpyTracker produces the following information as output to each prediction:
- The number of secret agents typically on a given train, set of cars, or in a set of rows.
- The cars that will typically contain secret agents.
- The rows that secret agents will typically be sitting in.
- >The amount of time that the secret agent has been in the business of secret agenteering.

