Cat & Mouse Software
See also: Cat & Mouse Project Report
Using the Software
The software is fairly easy to use. Run the application by double-clicking on maze.exe. You may then draw a maze. Select "Wall" from the "Paint Brush" palette at the top left of the window. You may then draw walls with the left mouse button in the main canvas area. Walls always conform to a grid. Similarly you may draw doors with the "Door" brush and erase both walls and doors with the "Eraser" brush. Note that two doors side by side are consider to be two distinct doors. Using the "Cat" and "Mouse" brushes, you may place the cat and mouse icons. You are only allowed to have one cat and one mouse in the maze. You can right click on doors to change their attributes, such as cat-only, controllable, etc. For some of these combinations, the door icon will change shape and colour. When you mouse-over a door, a tooltip window will display it's complete attribute set. At any point you may save your maze using the "Save" button. Mazes are saved as simple text files. At any point you may use the Animation feature, although as mentioned below, it is extremely underdeveloped. In order to use the Graphviz and CTCT features, you must first use the compile button. The compile really just gives the program a concept of rooms, and these are colour coded for your benefet. The doors are also numbered in the compile phase. After a compile, you are able to build GraphViz output and view FSM graphs of the various models. GraphViz and CTCT are described in more detail below.
Simply download the distribution package (above) and unzip it anywhere. It is a VB application, so it is possible you may need some basic dll's for it to run, but probably you'll be fine. When unzipped, it should look like this. maze.exe is the main application. The following is an explanation of the use and meaning of the other folders.
This folder is for the maze animation feature mentioned in the preliminary document. This feature is VERY underdeveloped. The idea was that you would specify a transition sequence and you could use this feature to view an animation of that sequence. I originally added it because I already had very similar functionality in a C++/OpenGL application from a previous project. Currently all you can do is view a representation of the graph in the animation software (and you can drag one of the animals). I eventually realized that it is probably easier to just animate the VB GUI, so this feature was abandoned. ani_maze.exe is the c++ animation program. glut32.dll is required to run the exe (you don't need this if it already exists in your win/sys32 folder). new_maze.txt specifies the maze data and run_maze.bat runs ani_maze.exe with new_maze.txt as an input parameter. new_maze.txt is overwritten (always retaining the name "new_maze.txt") every time you click the "View Animation" button in the main VB program.
This folder contains input files for CTCT. They are overwritten (always retain the same file names) every time you click the "Build CTCT Output" button in the main VB program. CTCT is a program that lets you perform automatic operations, such as SHUFFEL and SUPCON. You can request a copy from Wonham
This is the default save and load folder. The maze files are saved as simple text files. Three examples are included in the distribution package.
Dotty is a product from the Graphviz project that lays-out beautiful graphs. When you click on the "Build GraphViz Output" button in the main VB program, the new_maze_cat.dot, new_maze_mouse.dot and new_maze_shuffle.dot files are generated (always of the same name). These are input files for Dotty and represent graphs for the FSM of the cat, the mouse, and their combined behaviour. The program then attempts to automate the Dotty compilation process (which generates gif images from the dot input files) In order for this to work you must have Dotty installed. You can get it from the Graphviz website. Scroll halfway down the page and click on the "Windows Install Package" link and download and install the software. If you install the package anywhere other than "C:\Program Files\ATT\Graphviz" then you will have to change the target of the dot.lnk file in the maze\graphviz folder. The maze program needs this link in order to automate the Dotty compilation process. Note: once you have installed graphviz and you have drawn a maze and clicked the "Compile" button, you may then click the "Build GraphViz Output" button. This opens three formatted Dotty windows. You must click the "Do Layout" button, then the "Close" button on each window. This creates the gifs. For ease of use the "View Cat FSM", "View Mouse FSM" and "View Shuffle FSM" buttons become available. These simply open the relevant gif images in Windows Picture and Fax Viewer. The files exist on your system regardless and remain until overwritten. Compiled gifs for the classic maze are included in the distribution package.