Branch for experimental incremental synthesis code.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@251 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Beginning to use Epydoc for API documentation.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@253 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Improve partition and YAML-related scripts and corresponding documentation.

Other trivial stuff.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@254 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Trivial; remove unused imports.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@255 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
discretize now passes argument abs_tol to is_adjacent; update loadYAML.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@256 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Merge trunk into incremental-synth branch.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@259 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Merge trunk into incremental-synth branch.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@274 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
DOC: Improve Epydoc-aware formatting.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@275 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Merge from trunk.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@277 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
New automaton node attributes for goal modes and reachability gradients.

...includes methods to read/write these to tulipcon XML files, to
color nodes in a DOT file according to goal mode, and to dump in the
experimental "gr1c automaton" format.

Note that current development on this branch of tulip is happening
alongside the "patching" branch of gr1c.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@278 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Delete th e defunct function.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@279 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
writeDotFile is now merely a wrapper for dumpDOT.  Improve xml2dot.

There are currently no regression tests to run, but the example
robot_simple_gr1c.py generates a DOT file as usual without apparent
problems.

The tool xml2dot provides new functionality and is now exported (i.e.,
visible on the system path as a script) during installation.  This
facilitates interfacing with other stuff that speaks the tulipcon XML
Schema.  An example use-case is

  $ gr1c -t tulip examples/gridworld_env_small.spc | xml2dot -c - tmp.dot && dot -Tpng -O tmp.dot

See the comments in gridworld_env_small.spc for a depiction of the
problem; that example is distributed with gr1c, likely in a directory
called "examples".  The output of the above is a PNG image named
tmp.dot.png or similar.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@280 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Method to get state dictionaries from a GridWorld.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@282 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
TRIV DOC

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@283 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Implementation of (wrapper for) my "local fixed point" algorithm.

For a trivial deterministic example, see localmu_unreach.py.  From the
directory examples/incremental, try

  $ ./localmu_unreach.py
  $ dot -Tpng -O tmp-orig.dot && dot -Tpng -O tmp-pat.dot

The second line creates images from the DOT dumps of the original and
patched automata, respectively.  Goal modes are indicated by color.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@284 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Bump dev version to inaugurate the "incremental" module.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@285 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
TRIV DOC: misprint in comments.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@286 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Ensure max RGB component is 1 in dumpDOTcolor, to improve readability.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@287 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Nondeterministic case working on initial tests!  Try localmu_unreach.py

Only support for one "troll" dynamic obstacle; see function add_trolls
in gridworld module.  Does not yet have mutual exclusion.  New methods
in GridWorld class, state and dumpsubworld, respectively for
generating state dictionaries and building "subworlds", e.g., to
describe reachable positions of multiple objects in a common gridworld.

GridWorld spec method now distinguishes between whether movement is
controlled ("system") or not ("environment"); supports offsets applied
to variable names.


git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@288 0a9e5e60-ec9e-4aaa-982f-e550c827d28d
Mutual exclusion and arbitrary number of troll obstacles implemented.

git-svn-id: https://tulip-control.svn.sourceforge.net/svnroot/tulip-control/branches/incremental-synth@289 0a9e5e60-ec9e-4aaa-982f-e550c827d28d