Skip to content

Loading and Displaying Automata

Daniel Kramp edited this page Aug 10, 2017 · 4 revisions

Choosing an Automata File

In order to begin using this tool, the first step is to load up an automata to be displayed. There are a few ways to do this from the page header:

  1. Uploading a file - The user can upload a file from their local computer that contains the automata data. Any properly formatted .anml or .mnrl file is acceptable and can be drag and dropped into the file selector or chosen manually.
  2. Selecting an ANMLZoo file - The user also has the option to select from a built-in list of ANMLZoo automata. Selecting a file from the dropdown menu will automatically load the automata and its corresponding input file (see Input Files for information on the input stream). The last option, "Donut", is a small, custom made automata that is useful for instruction in basic understanding of automata and is not part of the ANMLZoo library.
  3. Loading from URL - Any ANMLZoo file can be automatically displayed when the page is loaded via URL queries. Once an ANMLZoo file is selected from the dropdown menu, it is loaded into the URL so it can be reloaded at any time by refreshing the page or following the URL. The syntax for loading a file from the URL as a query is a=automataName.

Automata Constructor Options

When an automata file is loaded, the user is prompted with the "Automata Constructor Options" dialog. This allows the user to add certain optimizations or construction constraints to the automata before displaying. The options have the following behavior:

  • Global Optimization - Performs a left minimization of the automata to reduce STEs if possible.
  • Remove OR Gates - Drops OR gates from the graph as they are only beneficial in certain hardware and the automata functions without them.
  • Fan-In Limit - (optional) The maximum number of incoming connections an STE may have (must be greater than zero).
  • Fan-Out Limit - (optional) The maximum number of outgoing connections an STE may have (must be greater than zero).
  • Node Position Method - The method by which the STEs will be laid out on the screen:
    • Default - The default hierarchical positioning method.
    • Custom JSON - Allows the user to upload a custom JSON file containing the graph data. __Make sure this file contains all the same nodes and edges as the automata file being uploaded or else it will not behave properly. See Editor Mode for information on generating a JSON file.

Additionally, if loading an ANMLZoo file via a URL, the construction settings can be automatically added via queries as well. Constructing an ANMLZoo file will append the appropriate construction settings to the URL. The syntax for settings is as follows (all are optional):

  • o=optCode where optCode is a two-bit number representing the global optimization and OR gate removal in that order. (ex. o=01 does not perform global optimization but does remove OR gates).
  • fi=# where '#' is the numerical fan-in limit (ex. fi=5 applies a fan-in limit of 5).
  • fo=# where '#' is the numerical fan-out limit (ex. fo=3 applies a fan-out limit of 3).

The automata file may be changed at any time and will update without page refresh when a new file is uploaded. Once an automata is displayed, the user can zoom in and out using the scroll wheel or default zooming method of their device, and pan around by clicking and dragging the screen.

Graph Settings

The "Graph Settings" tab at the bottom of the page allows for simple alterations in the automata's onscreen look. The following tools are provided in this area:

  • Node Size - Changes the render size of all nodes on the screen.
  • Edge Thickness - Changes the render thickness of all edges on the screen.
  • Width/Height Ratio - When increased, makes the graph wider; decreasing makes the graph taller.
  • Rotation - The rotation angle of the camera. Ranges from -180 degrees to 180 degrees in 15 degree increments.
  • Render Edges? - Toggles whether or not the edges should be rendered at all. Not rendering edges speeds up simulation.
  • Heat Map Mode - Not currently functional.
  • Reset Camera - Resets the viewport to its initial position, scale, and rotation.
  • View Graph Legend - Opens a small window that provides a key for the color scheme of active or inactive STEs.
Clone this wiki locally