Distribution Package (zip file)
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.
Installation
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 at
www.control.utoronto.ca/people/profs/wonham/wonham.html
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 www.research.att.com/sw/tools/graphviz/download.html
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.