Back to directory

WebGME HFSM

A browser-based modeling and simulation tool for hierarchical UML state machines that generates dependency-free C++17 code from the diagram, and simulates the machine live while it is being drawn.

WebGME HFSM

WebGME HFSM turns hierarchical finite state machines, in the UML sense with nested states, history, choice pseudostates and typed event payloads, into readable C++17 code for embedded and desktop targets. It simulates the machine while it is being drawn, so a missing transition can be found in the browser rather than on real hardware, and the diagram itself, exportable as Mermaid, PlantUML or SCXML, is the actual model rather than a separate drawing of it.

Generated code is a header and source file per machine plus a few small header-only support files, with no RTTI and no framework to link against; events are posted through a thread-safe queue and handled to completion on one thread, so an interrupt handler or another task can safely post into the machine. It can be used entirely in the browser with no install through a hosted playground, or run as a self-hosted WebGME server using Docker or Node.js and MongoDB, with the same runtime also shipping inside the espp library for ESP32 firmware.

More in Design tools

See all 97
  • Wave

    wave.subworkflow.ai

    A browser-based tool for designing layered gradient wave backgrounds, with a colour wheel per layer, presets and shape or colour shuffling, exported as a looping MP4 or GIF.

  • SpikeUI

    nimoxi.com

    A visual, WYSIWYG UI designer that exports a design directly to HTML, CSS and JavaScript or to a native Windows application, sold as a one-time purchase with no subscription, and including a built-in AI assistant that can build components from a description.

  • Bastardica

    bastardica.mitpit.com

    A browser tool that mixes, stretches, and squishes two fonts together glyph by glyph, exporting the result as a downloadable TTF, OTF, or WOFF2 web font.