# QuantumLeaps/qpc

QP/C Real-Time Event Framework/RTOS implements event-driven Active Object (Actor) model combined with Hierarchical State Machines. Specifically designed for embedded systems (e.g., ARM Cortex-M MCUs).

Repository: https://github.com/QuantumLeaps/qpc
Canonical: https://ross.abutalabs.com/products/qpc
Homepage: https://www.state-machine.com/products/qp
Language: C
License: NOASSERTION
License Family: other
Topics: embedded, embedded-c, rtos, statechart, state-machine, event-driven, framework, arm, arm-cortex-m0, arm-cortex-m3, arm-cortex-m7, uml-state-machine, samek, qp, active-object, actor-model, actor, hierarchical-state-machine, arm-cortex-m, arm-cortex-m4
Last push: 2026-08-18T15:09:09+00:00

## Health v2 (maintenance only)
Score: 94/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 84, longevity 100
- inputs: {"age_days": 3731, "days_push": 15, "days_rel": 28, "gap_med": 51.5, "n_releases_24m": 11}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1356, forks 300 (observed 2026-08-28T04:04:29.333920+00:00)

## What it is
QP/C is a lightweight real-time event framework (RTEF) for C that implements the event-driven Active Object (Actor) model combined with hierarchical (UML) state machines. It serves as both an application infrastructure and a deterministic real-time runtime, designed primarily for resource-constrained embedded systems such as ARM Cortex-M microcontrollers.

## Use cases
- build event-driven firmware for ARM Cortex-M microcontrollers
- replace a traditional blocking RTOS with an Active Object architecture
- implement hierarchical UML statecharts in embedded C
- structure concurrent embedded software without shared-state locking
- generate state machine code from graphical models with the QM tool
- develop hard real-time applications that need deterministic scheduling

## When to choose
- you are writing bare-metal or RTOS-based C firmware on MCUs like Cortex-M0/M3/M4/M7
- you want safer concurrency via message passing between actors instead of shared-state mutexes
- your application behavior is naturally modeled as state machines or statecharts
- you need deterministic, analyzable real-time behavior (e.g., Rate-Monotonic scheduling)
- you want optional graphical model-based design and automatic code generation

## When to avoid
- you need a permissively licensed library and cannot comply with GPL v3 or buy a commercial license
- your project is a general-purpose desktop/server application better served by mainstream frameworks
- your team prefers conventional thread-and-mutex RTOS concurrency models
- you need a large ecosystem of third-party middleware and drivers rather than a focused framework

## Facets
- artifact type: framework
- maturity: stable
- function: embedded, concurrency, middleware
- domain: embedded-systems, developer-tools
- platform: embedded, c, cpp, cross-platform
- tags: rtos, active-object, actor-model, hierarchical-state-machine, statechart, event-driven, arm-cortex-m, uml-state-machine, model-based-design, real-time, arm

## Member repositories
- QuantumLeaps/qpc (main) score 94

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:29.333920+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:41:52.937356+00:00, confidence not recorded.
  - readme: https://github.com/QuantumLeaps/qpc (fetched 2026-08-28T04:04:29.333920+00:00, sha 8550cb342684)
  - homepage: https://www.state-machine.com/products/qp (fetched 2026-08-29T12:00:10.701940+00:00, sha d72d4bdbf9b1)
  - site_page: https://www.state-machine.com/about (fetched 2026-08-29T12:00:10.711797+00:00, sha 85caf5ee3d8c)
  - site_page: https://www.state-machine.com/licensing (fetched 2026-08-29T12:00:10.713861+00:00, sha 7ba6643ecbc8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
