visma 0.1.2+1 copy "visma: ^0.1.2+1" to clipboard
visma: ^0.1.2+1 copied to clipboard

Visma is visualizing Hisma state machines in the web browser.

Visma is visualizing state machines.

This package provides a command line tool called visma that renders hierarchical state machines created with the hisma package to interactive state machine diagrams. It gets state machine status updates from its counterpart hisma monitor called hisma_visual_monitor and renders them to interactive web pages with the help of the pumli package.

Features #

Visma tool can be accessed from a web browser, by default accessing it on port 4040:

List of features visma provides:

State machines overview page #


State machine pages #


Visma does not only monitor, you can also fire events from the visma ui: #


Getting started #

There are two different ways of running visma you can choose from:

  • visma as a docker container
  • visma as a command installed by dart pub global activate

Whatever method you use, when visma is running you can reach its user interface via a web browser at (if you go with the default port configuration).

Running the visma docker image #

This is arguably the simplest way to get visma up and running:

$ docker run -it -p tamasp/visma

It will pull (1st time only) and run the visma docker image from Docker Hub. This image contains visma and all its prerequisites (Java, Graphviz).

More information about the image and its usage is available at the visma Docker Hub repository.

More information about docker is available at

Manual installation #

Manual installation of visma itself is simple, but getting its prerequisites installed could take some valuable time from you. Nevertheless, this section describes the installation of the prerequisites and visma and also how you run visma with this approach.


As stated in the first paragraph, visma is using PlantUML, hence PlantUML is a prerequisite for visma. See for PlantUML installation details.

Important As PlantUML can change their API anytime prefer using the well tested PlantUML V1.2022.1 as described in pumli (visma internally uses the pumli package to render state machine diagrams).

Installing visma

If PlantUML and its prerequisites (Java, Graphviz) are installed you can install visma as follows:

$ dart pub global activate visma


First let's have an overview of the command line parameters of visma:

$ visma -h
A visualization server for Hisma the hierarchical state machine.
Without parameters it will try running the 'plantuml -picoweb' command as the renderer for visma.

Usage: visma [--bind=BIND] [--port=PORT] [--plantuml_public] | [--plantuml_url=URL] | [--plantuml_jar=JAR --plantuml_bind=BIND --plantuml_port=PORT] [--help]

-p, --port               Port of the visma service listening on.
-b, --bind               Specify bind address of the visma service.
    --plantuml_public    The public PlantUML service will be used as renderer.
    --plantuml_url       PlantUML service at this URL will be used to render.
    --plantuml_port      Port of the PlantUML renderer service that will be started.
    --plantuml_jar       Specify PlantUML jar location.
    --plantuml_bind      Specify bind address of the local PlantUML service to be started.
-h, --help               Shows this help.


Simple start from cmd, default parameters
$ visma
Start from cmd, using a specific plantuml jar
$ visma --plantuml_jar files/plantuml/plantuml.1.2022.1.jar

Additional information #

As stated in the first paragraph visma is getting its workload (state machine updates) from hisma_visual_monitor. Please check the hisma_visual_monitor package at for instructions on how to use it in combination with your state machines and visma.

If you have any questions, comments please go to Hisma GitHub Discussions to start or join discussions.

pub points


unverified uploader

Visma is visualizing Hisma state machines in the web browser.

Repository (GitHub)
View/report issues


API reference




args, hisma_visual_monitor, logging, pumli


Packages that depend on visma