Planning Network Visualization
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Planning Network Visualization

As this is a pre-release version planviz. You can clone it (and the required libraries) to build it locally.

Example PLANVIZ visualization

Check out the CHANGELOG


The DOLL team (including Paul Robertson, Dan Cerys, Prakash Manghwani, and Tom Marble) recently demoed PLANVIZ in the talk Model based programming in PAMELA at Clojure/west. Check out the ClojureTV video and the slides.

For more details visit the PAMELA project page.


The planviz application is part of the PAMELA suite of tools.


Here are the steps to build planviz locally:

  1. Install RabbitMQ Server
  • For Debian GNU/Linux systems simply do

    # apt-get install rabbitmq-server

  1. Install boot. Please note the steps to install and profile.boot to your ~/.boot/ directory (so that the cider deftask is available).

    $ boot --version
    #Wed Apr 13 13:18:30 CDT 2016
  2. Clone and install plan-schema

    $ mkdir -p ~/src/github/dollabs
    $ cd ~/src/github/dollabs
    $ git clone
    $ cd plan-schema
    $ boot local
  3. Clone and install webtasks

    $ cd ..
    $ git clone
    $ cd webtasks
    $ boot local
  4. Clone and install webkeys

    $ cd ..
    $ git clone
    $ cd webkeys
    $ boot local
  5. Clone and build planviz (NOTE: you may see various warnings like WARNING: Use of undeclared Var planviz.components/x21694 at line 42 that do not prevent building)

    $ cd ..
    $ git clone
    $ cd planviz
    $ boot build-jar
  6. Run the demo

  • NOTE this config uses the example plans from plan-schema
  • For convenience you may add the planviz/bin directory to your PATH (or simply refer to the startup script as ./bin/planviz).
  • Note that the single argument to planviz FOO.edn refers to a configuration file with details in config/FOO.edn. Alternatively you can give a full path to an *.edn file as the sole argument to planviz (i.e. so it can be located elsewhere than in the config/ directory).
$ planviz demo.edn
  1. After you see PLANVIZ server ready you can open a (or several) browser windows to http://localhost:8080

    $ open http://localhost:8080

Commands (a la IRC)

  • /who see which clients are connected
  • /whoami see the host and port of your browser connection (remote id)
  • /msg user ... private message for user
  • /nick firefox set nickname for this connection
  • /list list available plans
  • /show v1.tpn show a specific plan
  • /next view the next plan
  • /prev view the previous plan
  • /manual manual mode (do not respond to other user updates)
  • /auto automatic mode (highlight relevent selections from others)
  • /export export current plan as SVG
  • /? help
  • free format text broadcast message

Key bindings

  • z or = (zoom-in)
  • x or - (zoom-out)
  • ArrowRight (pan-right)
  • ArrowLeft (pan-left)
  • ArrowUp (pan-up)
  • ArrowDown (pan-down)
  • A-ArrowRight or C-ArrowRight (next-plan) use Alt- or Control- key
  • A-ArrowLeft or C-ArrowLeft (prev-plan)
  • 1 (reset) zoom out to 100%
  • p (list-plans)

Development status and Contributing

Please see CONTRIBUTING for details on how to make a contribution.

NOTE The tests are (obviously) incomplete!

Copyright and license

Copyright © 2016 Dynamic Object Language Labs Inc.

Licensed under the Apache License 2.0 LICENSE

Acknowledgement and Disclaimer

This work was supported by Contract FA8650-11-C-7191 with the US Defense Advanced Research Projects Agency (DARPA) and the Air Force Research Laboratory. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense or the U.S. Government.