dschien / process-model

Interactive web-based tool for creating hierarchical process models

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Process-Model

A Process Model is a decision support tool to help with finding and dealing with risky elements within a process. To create a process model, you build up a hierarchy of processes, sub-processes, and evidence pointing at their likely success or failure within the project. Next, estimate the strength of the dependencies between them. The model will propagate these chances of success or failure upwards. By filling the completed model with plausible values and then experimenting with them, you may find which sub-processes are most likely to drive the success or cause the failure of the overall planning process.

Evidence is specified as interval probabilities. These are two numbers in the form [P(failure), P(success)]. P(success) should be greater than P(failure) (unless we have conflicting evidence). P(success) and P(failure) should each be between 0 and 1 inclusive.

We implement a process model as a directed acyclic graph.

Features

  • Pan and zoom around your model.
  • Create different kinds of node according to IBIS.
  • Evidence is automatically propagated from lower to higher levels of the model.
  • Nodes may be arranged automatically or manually.
  • Nodes may be resized.
  • Save and load in a custom json format.
  • Load from and save to linked Gitit wiki pages.
  • Import from PeriMeta XML files.

Future Plans

See TODO.org.

Source code

Get the source code

Installing

To install, clone the repository then serve using any web server, for example using python3 on a Debian system:

sudo python3 -m http.server 80 &

Building

If you make changes to the code, you will need to rebuild it. Our Javascript files our arranged as node.js modules, and we use the ‘browserify’ tool to combine them into a single file.

Begin by installing Node JS. On a Debian-based system, I’d recommend using this PPA:

sudo add-apt-repository ppa:chris-lea/node.js 
sudo aptitude update
sudo aptitude install -y nodejs

Then run the following:

npm -g install browserify # Install Browserify as a command you can run.
npm install # Install the various packages we depend on (listed in package.json).
node test.js # Run the tests
browserify process-model.js -o bin/main.js # Package all the Javascript code together in a way that we can load into a browser.

About

Interactive web-based tool for creating hierarchical process models

License:MIT License


Languages

Language:JavaScript 46.0%Language:HTML 45.6%Language:CSS 8.1%Language:Makefile 0.2%Language:Shell 0.1%