Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information. Update Jul 18, 2017

QM modeling tool

What's New?

View QM Revision History at:

About QM

QM (QP Modeler) is a freeware graphical modeling tool for designing and implementing real-time embedded software based on the UML state machines and the lightweight QP active object frameworks. QM is available for Windows 32/64-bit, Linux 64-bit, and MacOS.

NOTE: For more information, please refer to the online QM Manual at:

Installing QM on Windows (32/64-bit)

CAUTION: If you have any previous version of QM installed on your system, please uninstall it before installing the new version.

Download the QM installer for Windows, which is a Windows executable. Run the installer. The installation is very straightforward and offers you options of installing a desktop icon and associate QM model files (*.qm) with the QM tool. The uninstaller is provided.

Installing QM on Linux (64-bit)

CAUTION: If you have any previous version of QM installed on your system, please uninstall it before installing the new version.

Download the QM installer for Linux. You need to make the file executable in order to run it. You can either do this with your desktop's file manager or at the command line, type:

chmod u+x qm_4.0.0-linux64

You should now be able to execute the installer. You can do this from your file manager (by double-clicking on the installer), or from the command line by typing:


Run the installer. The uninstaller is provided.

NOTE: To run the QM application on Linux, you need to run the /bin/ script. Make sure that the file has executable permissions.

Installing QM on MacOS

CAUTION: If you have any previous version of QM installed on your system, please uninstall it before installing the new version.

Double click on the provided qm_4.0.0-macos.dmg file. This will mount and open the disk image. To install the QM tool, you simply drag the image into the Applications folder (typically visible in the Dock). If you wish, you might also create the alias of the and place it on your Desktop.

To uninstall QM, simply delete the file and the examples.

NOTE: The QM application contains both the QM GUI and the QMC model compiler command-line utility. You can invoke the QMC utility from the terminal by typing:



The QM example models are included in the QP baseline distributions. The console-type examples are available for Windows (MinGW and Visual C++), Linux, and macOS. GUI-based simulations are available for Windows with the raw Win32 API. Cross-platform GUI examples based on the Qt framework are available in QP/C++.

Embedded examples are available for a number of boards, such as ARM Cortex-M, AVR, MSP430 with the IAR, ARM/KEIL, and GNU compilers.

Additionally, a number of examples are provided for the desktop (Windows and POSIX). These examples don't require any embedded hardware to try.

All examples are located in the /examples/ directory, where denotes the folder where you have installed the specific version of the QP framework (QP/C, QP/C++, or QP-nano).


The QM graphical modeling tool is freeware. It is free to download and free use, but is not open source. During the installation you will need to accept a basic End-User License Agreement (see ), which legally protects Quantum Leaps from any warranty claims, prohibits removing any copyright notices from QM, selling it, and creating similar competitive products. The EULA also prohibits distributing QM from third-party websites. The only legitimate source of QM is the website.

NOTE: QM uses internally the Qt application toolkit under LGPL Please refer to the LGPL Compliance Package for QM in the sub-directory qt_lgpl or online at for more information how to obtain the source code for the Qt toolkit.

LICENSING QM Code Generator

The code generated by QM is licensed under the same terms as the underlying QP framework, for which the code has been generated. Please refer to the QP licensing ( ) for more information.


Support for QM is provided in the Free Support forum at:


The QM software has many assertions inside, and the assertions are ENABLED in the release version.

When you hit an assertion, or any other error, please check the "Bug Tracker" available at:

If you don't find your problem, please try to reliably reproduce the problem, and submit a concise report to the "Bug Tracker"

Also, if you find inconsistencies or any awkward features, please submit a suggestion how to improve this functionality to the "Feature Tracker" at:

Thank you for your help in improving QM!