jLOAF: How to run it - NMAI-lab/JLOAF GitHub Wiki

This page will explain to the user how to run/Test any agent that is using the jloaf framework:

To test an agent that uses the jloaf frame work, one has to follow these steps:

1- set up the agent in the correct way using jloaf. See how to set it up

2- create a class that extends PeformanceEvaluator class from jloaf.

3-Override the createAgent method from PerformanceEvaluator class, that creates a new instance of your agent and returns it.

4-Override the createArrayOfCaseBaseNames method from the PerformanceEvaluator class, this method takes an array of strings, which are the names of the log files of your agent experiments, then your method will have to use the parser that you created to parse your log files into casebases. As it might be mentioned in how to set it up, a parser should be able to return a string representation of the name of the file that store the casebase. Store the name(s) of your file(s) in an array of String(s) and return that Array.

5- now you have everything set to start your test. Create the main function, and in the main function create an instance of the class that extends the performanceEvaluator class, to test the performance of the agent under the functionalities of the jloaf frameWork, you must invoke the performanceEvaluatorMethod, which is presented in the PerformanceEvaluator class. This method has the following arguments:

5.1: an array of string that must have the name of the log files that correspond to your agent experiment. These log files will be then parsed and converted to casebases, using the reateArrayOfCaseBaseNames method that you created earlier.

5.2: a filter that you wish to use to filter your casebase, See UML: FILTER, note that filtering happens in the preprocessing phase of the testing. If you wish not to use a filter, you could pass this function the NoFilter filter.

5.3: a string that represents the name of the output file, in which you would like to store the performance results.

5.4: a Reasoner. See UML: Reasoning

5.5: a String representation of the state-Based Similarity you would like to use. If you want to use the default one, pass it null.

5.6: a String representation of the ComplexInput Similarity you would like to use. If you want to use the default one, pass it null.

6- after running the performance test, your results will be in the output file you chose, and you can see all the statistics results of your test. It is also written to a database and the console.