Plattform · No-Code-Engines
Vier No-Code-Engines. Null Rust-Dateien.
MSP für kontinuierliche Signalverarbeitungs-Graphen. MEP für Zustandsmaschinen-Richtlinien (T·C·A-Primitive unter der Haube). Multi Stacks für Fahrzeug- und Industrial-IoT-Kommunikation. AI Funnel für deklarative Edge-KI. Alle vier sind Off-Target-testbar ohne Hardware in der Schleife.
Engine-Vergleich
Vier Engines · eine Plattform.
| Dimension | MSP | MEP | Multi Stacks | AI Funnel |
|---|---|---|---|---|
| Modell | Typisierter Knoten-und-Kanten-Datenflussgraph | Zustandsmaschine via T·C·A-Regeln | Protokoll / Q+R / Broadcast / Strategie | TOML-Graph + ONNX/TFLite + Datensatz |
| Ausführung | Kontinuierlich, immer aktiv | Ereignisgesteuert, reaktiv | Periodisch + kombiniert (MSP/MEP) | Kamera → GPU → NPU on-device |
| Authoring | YAML-Graph + Browser-Streamlit-Editor | YAML-Richtlinie + visueller Richtlinien-Designer | JSON-Stack + default-stacks/-Katalog | TOML-Graph + Cloud-Retraining-Pipeline |
| Off-Target-Validierung | msp-run CLI mit CSV-Eingaben (macOS) | mep-standalone-Runner + mep-lint | ECU-Simulator über virtuellem CAN | KI-Laufzeit + GPU-ROI-Shader-Fakes |
| Hot-Reload | LoadGraph-Service-Aufruf, kein Reflash | Richtlinie in-flight getauscht, kein Neustart | Stack-JSON-Edit + Commit | OTA-Kanal — gleich wie Code-OTA |
| Katalog | 226 Graphen · 21 Fahrzeugdomänen | 3 Trigger-Typen · 5 Aktions-Typen | 16 Protokoll-Familien · 22 Standard-Stacks | Kunden-Modell + COCO-Datensatz |
MEP — Zustandsmaschinen-Richtlinien (T·C·A unter der Haube)
Richtlinien-Automation ohne prozeduralen Code.
Der Produktverantwortliche liest MEP als Zustandsmaschinen-Richtlinien auf dem Gerät. Der Ingenieur liest dasselbe YAML als Trigger / Condition / Action-Primitive. Neues Richtlinien-YAML wird validiert und in-flight mit laufenden Regel-Entwässerung getauscht — kein Prozess-Neustart, kein Geräte-Neustart.
Drei Trigger-Typen
| Trigger | Beispiel | Typische Verwendung |
|---|---|---|
| DB-Schlüssel-Änderung | vehicle.speed überschreitet 90 km/h | Schwellwert-Alarme, Sampling-Rate-Änderungen |
| Benanntes Ereignis | sos.button.pressed | Hardware-Interrupt-Weiterleitung, micro service-Ereignisse |
| Cron / Periodisch / Einmalig | alle 15 Min., UTC | Geplante Berichte, Heartbeats |
call_interface-Aktion
Die action call_interface leitet an MSP, Multi Stacks, jeden benutzerdefinierten
Treiber oder jeden micro service über einen typsicheren Proxy mit Semver-Versions-Validierung
und einem konfigurierbaren Timeout (Standard 3 000 ms) weiter. micro service-Abhängigkeiten
werden mit Semver-Bereichen deklariert und degradieren graceful zur Laufzeit.
Ein visueller Richtlinien-Designer generiert gültiges YAML aus einem Knotengraph und
erkennt automatisch requires-Deklarationen für Ingenieure, die eine visuelle
Authoring-Oberfläche bevorzugen. Derselbe Designer rendert das Zustands-Diagramm für
Produkt-Reviews.
MSP — Kontinuierlicher Datenfluss
226 Graphen. 21 Domänen. Einstelliger Prozent-CPU-Budget.
116-Kernel-Browser-Editor
Eine Browser-Canvas listet alle 116 Kernel-Typen auf, validiert die Graphstruktur gegen das JSON-Schema in Echtzeit und exportiert die .msp.yml, die die Laufzeit direkt liest.
Laufzeit-Injektion über MQTT
Neue Graphen ohne Firmware-Update über MQTT an ein laufendes Gerät pushen. Der 21-Domänen-Katalog — Crash, EV-Batterie, Kraftstoff, GNSS, Flotte, Straße und mehr — bietet einen Ausgangspunkt für Fahrzeug-Telemetrie ohne von Grund auf neu zu verfassen.
Multi Stacks — Fahrzeug + Industrial-IoT-Kommunikation
Vier Bausteine pro Stack. 16 Protokoll-Familien.
Jedes Multi-Stacks-Deployment, Fahrzeugbus oder Modbus-IoT, deklariert vier bewegliche Teile: Protokoll, Anfrage + Antwort, Broadcast, Strategie. Stacks sind JSON-Datendateien; Protokoll-Änderungen sind JSON-Edits.
22 Standard-Stacks werden mit der OS geliefert
OBD-II, UDS, J1939, ISOBUS, OBFCM, Modbus RTU/TCP, CANopen — bei jedem CI-Push über Python/pytest-Standalone-Tests validiert. Neue Stacks leben in der Versionskontrolle, nicht in Firmware-Builds.
Kombiniert mit MSP und MEP
Periodische Strategie out of the box. Signalgesteuerte Sequenzen über MSP (ein Graph löst eine UDS-Anfrage aus); ereignisgesteuerte Sequenzen über MEP (eine Regel feuert bei einem benannten Ereignis und führt eine Stack-Aktion aus). Erweiterte Strategie bleibt deklarativ.
AI Funnel — Deklarative Edge-KI
TOML-Graph rein. OTA raus. Kein On-Device-Toolchain.
Der Kunde liefert einen TOML-Graph plus ein ONNX/TFLite-Modell und einen COCO-Datensatz. Munic-Cloud trainiert neu, quantisiert, validiert, paketiert und überträgt per OTA. Die On-Device-Laufzeit führt Kamera → GPU → NPU ohne Pixel-Kopieren aus.
Gleicher OTA-Kanal wie Code
Ein Modell-Retraining wird über denselben OTA-Kanal wie ein micro service-Update geliefert — gestaffelter Rollout, Version-Pinning, Flotten-Rollback alles über Code und Modelle vereinheitlicht.
Null CPU-Pixel-Lesevorgänge
Die GPU croppt und resized die Region of Interest; die KI-Laufzeit treibt den NPU an. Kamera, GPU und NPU teilen Speicher direkt — das Handle bewegt sich, die Pixel-Daten bleiben an Ort und Stelle. Das Laufzeit-Detail ist der Beweis, dass das deklarative Modell real ist.
Off-Target-Validierung
CI-Level-Testing ohne Gerät — über alle vier Engines.
| Tool | Engine | Was abgefangen wird |
|---|---|---|
| msp-run | MSP | Graph-Ausführung gegen CSV-Eingabe auf macOS, kein Gerät nötig |
| mep-standalone | MEP | Vollständige Richtlinien-Wiedergabe mit Szenario-YAML-Dateien |
| mep-lint | MEP | Schema-Fehler, undefinierte DB-Schlüssel, zyklische Regelgraphen, Ausdrucks-Typfehler |
| ECU-Simulator | Multi Stacks | ECU-Simulation über virtuellem CAN — UDS-, OBD-II-, ISO-TP-Regressions-Suiten ohne physische Bench |
| KI-Laufzeit-Fake | AI Funnel | Inferenz-Stub für CI; keine NPU-Hardware erforderlich |
Jede No-Code-Engine hat einen Off-Target-Runner. Ein korrektes YAML/JSON/TOML-Format und ein Datenvertrag sind weiterhin erforderlich — diese Tools validieren die Konfigurations-Oberfläche, nicht die Hardware-Integration.
Out of the box, zusammen
Ein Python-Container steuert alle vier Engines.
Die vier Engines sind keine Silos. Ein einzelner Python-Container, der mit dem In-Prozess-MQTT-Broker kommuniziert, kann MSP, MEP, Multi Stacks und AI Funnel aus einem Prozess steuern — kein Rust-Toolchain, kein Pro-Engine-SDK, kein benutzerdefinierter Verbindungscode.
MSP · Graph pushen
c.publish(
"mos/msp/LoadGraph",
json.dumps({"name": "harsh_brake", "yaml": yaml_str}),
) MEP · Richtlinie laden
c.publish(
"mos/mep/LoadPolicy",
json.dumps({"name": "geofence", "yaml": policy_str}),
) Multi Stacks · Stack laden
c.publish(
"mos/multi-stacks/LoadStack",
json.dumps({"name": "j1939_truck", "json": stack_json}),
) AI Funnel · Erkennungen abonnieren
c.subscribe("mos/ai-runtime/detections")
c.on_message = lambda _c, _u, m: handle(m.payload) Gleicher MQTT-Client, vier Engines, kein Sprach-Limit. Jede MQTT-fähige Laufzeit — C, C++, Go, Rust, JavaScript — kann dasselbe tun.
Wenn No-Code nicht ausreicht
Drei Programmierstufen, darauf ausgelegt, koexistieren zu können.
Ein typisches MOS4-Produkt mischt MSP für kontinuierliche Signalverarbeitung, MEP für Zustandsmaschinen-Richtlinien, Multi Stacks für Fahrzeug- oder Modbus-Kommunikation, AI Funnel für Edge-KI, einen benutzerdefinierten Rust-micro service für den wirklich neuartigen Algorithmus und einen Python- oder C++-Container für den Klassifikator des Data-Science-Teams.
Die vier No-Code-Engines teilen eine Registry und Laufzeit mit jedem Rust- und Container-micro service auf dem Gerät. Siehe Plattform-Architektur dafür, wie die Engines zusammenpassen, und micro services für die Cloud-Connect- und Integrations-Schicht jenseits des Geräts.
Vollständiges SDK ansehen →FAQ
Häufig gestellte Fragen
-
Wie passen die vier Engines zusammen?
MSP erzeugt kontinuierliche benannte Signale aus Sensor- und Bus-Eingaben. MEP reagiert auf diskrete Trigger (Signal-Schwellwert, Ereignis, Cron) mit Zustandsmaschinen-Richtlinien. Multi Stacks kommuniziert mit Fahrzeugbussen und Industrial-IoT-Geräten, periodisch gesteuert oder kombiniert mit MSP/MEP. AI Funnel führt deklarative Edge-KI aus — ein TOML-Graph plus ein Modell und ein Datensatz; Munic-Cloud trainiert neu und OTA. Die vier Engines teilen eine OS, einen OTA-Kanal, eine Off-Target-Geschichte.
-
Ist MEP eine Zustandsmaschine oder eine T·C·A-Engine?
Beide Lesarten werden geliefert. Der Produktverantwortliche liest MEP als Zustandsmaschinen-Richtlinien auf dem Gerät — das Richtlinien-YAML ist die Zustandsmaschine. Der Ingenieur liest dasselbe YAML als Trigger / Condition / Action-Primitive. Es gibt keine separate Zustandsmaschinen-Laufzeit; das zusammengesetzte Regelwerk ist die Zustandsmaschine.
-
Ist Multi Stacks dasselbe wie OBDStacks?
Ja. OBDStacks ist der Legacy-Name; Multi Stacks ist der kanonische Name seit 2026-05-05. Gleiche Engine, gleiche JSON-DSL, gleicher default-stacks/-Katalog.
-
Brauche ich Hardware, um eine Richtlinie oder einen Graphen zu testen?
Nein. Der MEP-Standalone-Runner spielt YAML-Szenario-Dateien Off-Target ab; das MEP-Lint-Tool fängt Fehler statisch ab. Der MSP-Runner führt jede .msp.yml mit CSV-Eingaben auf macOS aus. Der mitgelieferte ECU-Simulator deckt Multi Stacks über virtuellem CAN ab. Der KI-Laufzeit-Fake stubbt Inferenz für AI-Funnel-CI. Alle vier Engines haben CI-Level-Off-Target-Runner.
-
Erfordert irgendetwas davon Rust?
Nein. Die vier Engines werden mit YAML, JSON und TOML konfiguriert. Die Laufzeit ist Rust, aber die Authoring-Oberfläche sind Datendateien. Ein Python-Container kann jede der Engines über den In-Prozess-MQTT-Broker steuern — siehe "Out of the box, zusammen" unten.
-
Wann gilt der SDK-Pfad?
Wenn der Algorithmus wirklich nicht als Graph, eine Richtlinie, ein Stack oder ein TOML-KI-Graph ausgedrückt werden kann. Neuartige Erkennungslogik, proprietäre Modell-Inferenz, benutzerdefinierte Hardware-Integration. Die vier No-Code-Engines decken den Großteil der Geräteverhalten-Oberfläche ab; Rust-micro services, Python-Container und C++-Container decken den Rest ab.
Bringen Sie ein YAML, ein JSON oder ein TOML.
Zeigen Sie uns das Geräteverhalten, das Protokoll, die Signal-Extraktion oder den Inferenz-Task; wir ordnen es auf einem Entwicklungsgerät der richtigen Engine zu.