All Projects → QuantumLeaps → qm

QuantumLeaps / qm

Licence: other
QM model-based design tool and code generator based on UML state machines

Programming Languages

CSS
56736 projects
HTML
75241 projects
C++
36643 projects - #6 most used programming language
Batchfile
5799 projects
c
50402 projects - #5 most used programming language
Roff
2310 projects

Projects that are alternatives of or similar to qm

qp-arduino
QP real-time embedded frameworks/RTOS for Arduino (AVR and SAM)
Stars: ✭ 37 (-31.48%)
Mutual labels:  fsm, state-machine, statechart, free, code-generation, modeling-tool, uml-state-machine, qp, samek
statechart
A rust implementation of statecharts: hierarchical, reactive state machines
Stars: ✭ 41 (-24.07%)
Mutual labels:  state-machine, statechart, hierarchical-state-machine
kstatemachine
KStateMachine is a Kotlin DSL library for creating finite state machines (FSM) and hierarchical state machines (HSM).
Stars: ✭ 63 (+16.67%)
Mutual labels:  fsm, state-machine, hierarchical-state-machine
Umple
Umple: Model-Oriented Programming - embed models in code and vice versa and generate complete systems
Stars: ✭ 147 (+172.22%)
Mutual labels:  state-machine, uml, code-generation
simple-state-machine
A simple Java state machine for Spring Boot projects
Stars: ✭ 25 (-53.7%)
Mutual labels:  fsm, state-machine, statechart
Qpn
QP-nano real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 107 (+98.15%)
Mutual labels:  fsm, state-machine, embedded-systems
Transitions
A lightweight, object-oriented finite state machine implementation in Python with many extensions
Stars: ✭ 4,082 (+7459.26%)
Mutual labels:  state-machine, state-diagram, hierarchical-state-machine
StateBuilder
State machine code generator for C++ and Java.
Stars: ✭ 30 (-44.44%)
Mutual labels:  state-machine, statechart, uml-state-machine
Hfsm2
High-Performance Hierarchical Finite State Machine Framework
Stars: ✭ 134 (+148.15%)
Mutual labels:  fsm, state-machine, embedded-systems
Qpcpp
QP/C++ real-time embedded framework/RTOS for embedded systems based on active objects (actors) and hierarchical state machines
Stars: ✭ 124 (+129.63%)
Mutual labels:  fsm, state-machine, embedded-systems
ThingML
The ThingML modelling language
Stars: ✭ 91 (+68.52%)
Mutual labels:  state-machine, statechart, uml
xstate
State machines and statecharts for the modern web.
Stars: ✭ 21,286 (+39318.52%)
Mutual labels:  fsm, state-machine, statechart
free-category
Free categories, free arrows and free categories with monadic actions
Stars: ✭ 21 (-61.11%)
Mutual labels:  state-machine, free
UnityHFSM
A simple yet powerful class based hierarchical finite state machine for Unity3D
Stars: ✭ 243 (+350%)
Mutual labels:  fsm, state-machine
guile-smc
GNU Guile State Machine Compiler
Stars: ✭ 15 (-72.22%)
Mutual labels:  fsm, uml
mr.boilerplate
Online app to generate Scala boilerplate
Stars: ✭ 32 (-40.74%)
Mutual labels:  code-generator, code-generation
php-json-schema-model-generator
Creates (immutable) PHP model classes from JSON-Schema files including all validation rules as PHP code
Stars: ✭ 36 (-33.33%)
Mutual labels:  code-generator, code-generation
copygen
Go generator to copy values from type to type and fields from struct to struct (copier without reflection). Generate any code based on types.
Stars: ✭ 121 (+124.07%)
Mutual labels:  code-generator, code-generation
pastafarian
A tiny event-based finite state machine
Stars: ✭ 20 (-62.96%)
Mutual labels:  fsm, state-machine
GraphQL.Tools
GraphQL.Tools is a GraphQL to C# compiler (code-generator) which turns your GraphQL schema into a set of C# classes, interfaces, and enums.
Stars: ✭ 49 (-9.26%)
Mutual labels:  code-generator, code-generation

QM model-based design tool


What's New?

View QM Revision History at: https://www.state-machine.com/qm/history.html


Documentation

The online HTML documention for the latest version of QM is located at: https://www.state-machine.com/qm/

The offline HTML documentation for this particular version of QM is located in the folder html/. To view the offline documentation, open the file html/index.html in your web browser.


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 Real-Time Embedded Frameworks (RTEFs). 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: https://www.state-machine.com/qm/


Downloading and Installing QM

The most recommended way of obtaining QM is by downloading the QP-bundle, which includes QM and also all QP frameworks and the QTools collection. The main advantage of obtaining QM bundled together like that is that you get all components, tools and examples ready to go.

NOTE: QP-bundle is the most recommended way of downloading and installing QM. However, if you are allergic to installers and GUIs or don't have administrator privileges you can also download and install QM separately as described below.

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


Installing QM on Windows (32/64-bit)

Go to the QM releases and download the QM zip archive for Windows (qm_<ver>-win32.zip). You can unzip the archive into any directory, although the C:\qp\ folder is the recommended default.

NOTE: It is generally not recommended to install QM in such standard locations as "Program Files" or "Program Files (x86)", because these directories have access limitations and don't allow you to modify the QM Style Sheet (qm.qss) or the model templates.

If you wish, after the installation, you could create a desktop shortcut for QM and you can also associate QM model files (*.qm and *.qmp) with the QM application (using the standard Windows Explorer and "Open With" popup menu).

To uninstall QM you simply delete the installation directory.


Installing QM on Linux (64-bit)

Go to the QM releases and download the QM zip archive for Linux (qm_<ver>-linux64.zip). You can unzip the archive into any directory, although the ~/qp/ folder is the recommended default.

After unzipping the archive, go to the qm/bin/ directory and make sure that the qm executable and the qm.sh shell script have executable permissions. You can either do this with your desktop's file manager or at the command line, type:

chmod u+x qm
chmod u+x qm.sh

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


Installing QM on MacOS

Go to the QM releases and download the disk image for MacOS (qm_<ver>-macx64.dmg). Double click on .dmg file. This will mount and open the disk image. To install the QM tool, you simply drag the qm.app image into the Applications folder (typically visible in the Dock). If you wish, you might also create the alias of the qm.app and place it on your Desktop.

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


EXAMPLE PROJECTS

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).


LICENSING QM

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 https://www.state-machine.com/qm/license.html ), 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 SourceForge.net/projects/qpc/ 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 https://www.state-machine.com/qm/qt_lgpl.html 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 (https://www.state-machine.com/licensing/ ) for more information.


SUPPORT AND REPORTING BUGS & ISSUES

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


REPORTING BUGS & ISSUES

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!


CONTACT INFORMATION

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].