Overview Which2Gui is set up in such a way as to show the user a great amount of information in an understandable manner, while providing ready accessibility to all program functions. The top of the program window contains a single row of function buttons: The first button allows selecting the location to look for datasets. Its label is set to the currently selected directory. Train/Test - initiate train/test run. Custom Rules - initiate custom rule test run. Configuration - configuration options. About - about Which2Gui. Quit - terminate Which2Gui. If the user attempts to quit Which2Gui while the background lisp code is still running, the interface will wait for it to return before terminating. Under the button row, on the right side of the program window, the currently selected directory tree is displayed. This is where the user selects which sets to train and test on. The same dataset cannot be selected for both training and testing. Also, there can only be one set selected for either train or test. To the left of the directory tree, the most visible part of Which2Gui is the currently selected dataset pane, a user-friendly processed view of said set. It is a spreadsheet-like array which displays the attributes and associated values found in the set, in an easily readable format. The column headers are refreshed upon selection of a new set, enabling the loading of sets containing different types of data concurrently, if one wishes to do so. Under the dataset tree and the current set pane, we have the results output pane. The tabs at the top of the pane are used to switch between displaying train/test and custom rule results. As Which2Gui never removes results, the results pane displays all of the entries in guiout.txt. Each line in this pane represents the result from a single run. At the bottom of the program window we find the status bar, showing the current dataset filename, the column and row number of the selected cell in the current dataset pane, the total number of instance lines in the current set, the current operating condition of Which2Gui ("idle" or "working"), a checkbox option to show or hide all but the last result, and a progress bar that flashes back and forth while the operating condition is "working". Configuration The configuration dialog allows modifying several internal Which2 settings. The available options are: scoring metric, bins, beam, lives, samples, base, goal, discretization, and logging. These options are all described in the design documentation. Train/Test To perform a train/test run, one must select a dataset to train on and one to test on before clicking the "Train/Test" button. The selections cannot be the same dataset and there can be only one selection under both train and test columns. Unless these conditions are met, Which2Gui will not initiate a run. Error dialogs are displayed in the event that the above happens, informing the user as to why it refuses to run. Upon successful completion of a train/test run, the result is displayed at the top of the results list. At this point, Which2Gui is ready to run again. Custom Rule Testing To perform a custom rule test, one only needs to have one selection under "Train". Selecting a test set has no effect on the custom rule run. A custom rule is composed of at least one attribute/value pair. The dropdown selection of attributes depends on which attributes are found in the current dataset file, while the value selection depends on the bin number set in the configuration dialog (default bin value is 2, thus the selections available are listed as 0 and 1). Next to each attribute/value pair, the + and - buttons allow the addition of one pair, which is always added to the bottom of the list regardless of which + buttons is clicked, or the removal of the current pair (whichever pair's - button is clicked gets removed). Upon successful completion of a custom rule test, the result is displayed at the top of the results list. Which2Gui is now ready to perform another run. Known Issues While the interface remains responsive as the lisp backend code runs, it is not recommended to attempt a concurrent run. Under certain conditions the system may perform as expected and return results from both runs, however this behavior cannot be guaranteed since Which2Gui accesses main.lisp and guiout.txt in unpredictable ways when more than one run is performed. The custom rule testing dialog allows the testing of a rule composed of multiple attribute/value pairs containing the same attribute. Testing such a rule returns a meaningless result. This behavior is considered an issue and would be a major priority if this software were to be further developed.