Plattform · MEP
40 Regeln. 40 YAML-Einträge. Null Rust-Dateien.
MEP führt Trigger → Condition → Action-Richtlinien auf dem Gerät aus. In einem visuellen Editor verfassen, als YAML exportieren, ohne Reflash hot-reloaden. Geräte-Automation ohne einen Rust-Entwickler in der Schleife.
Zustandsmaschinen-Richtlinien für den Produktverantwortlichen. T·C·A-Primitive für den Ingenieur. Eine YAML-Datei, zwei Lesarten.
Richtlinien-Modell
Trigger → Condition → Action. Nicht mehr.
Jede Regel hat genau drei Teile. Es gibt kein Ausführungsmodell jenseits dieses Konstrukts.
Trigger
Was die Regel startet
- ·
on_change— DB-Schlüssel-Änderung - ·
on_event— benanntes Ereignis von jedem micro service - ·
on_schedule— Delay, Periodic oder Cron (nur UTC)
Condition
Optionales Gate
Ausdruck, der gegen DB-Zustand und Ereignis-Payload ausgewertet wird. Typgeprüft vor dem Deployment — Fehler tauchen in CI auf, nicht auf dem Gerät.
Action
Was ausgeführt wird
- ·
set— DB-Schlüssel schreiben - ·
emit— Ereignis veröffentlichen - ·
call_interface— jeden MOS4-micro service aufrufen - ·
schedule— eine andere Regel auslösen
YAML ist das Deployment-Artefakt
Kein Rust. Kein Firmware-Rebuild. Kein Reflash.
Eine Geräte-Automatisierungsregel lebt in einer .yaml-Datei. Sie zu ändern bedeutet YAML zu bearbeiten und die aktualisierte Richtlinie zu pushen — via OTA oder einen direkten Service-Aufruf. Hot-Reload entwässert laufende Regeln und tauscht den Richtlinien-Graphen atomar aus.
Richtlinie deklariert Abhängigkeiten
Jede Richtlinien-Datei trägt eine requires:-Liste mit Semver-Bereichen. Die
Engine validiert die Einschränkung bei der Richtlinien-Ladezeit — nicht zur Laufzeit beim
ersten Aufruf. Optionale Abhängigkeiten degradieren graceful.
Parallele Ausführung mit Konflikt-Erkennung
Mehrere Regeln, die im gleichen Zyklus zutreffen, werden parallel über einen begrenzten Worker-Pool ausgeführt. Wenn zwei Regeln denselben DB-Schlüssel schreiben, erkennt MEP dies und verwirft das Write mit niedrigerer Priorität — keine stille Daten-Korruption.
Flotten-weites Audit
Jedes Gerät nach geladenen Richtlinien-Namen, Versionen und Regelanzahlen abfragen — auditierbar ohne SSH-Zugriff.
Authoring-Oberfläche
Ein knotenbasierter Editor, der YAML exportiert.
requires:-micro
service-Liste automatisch aus den im Graphen verwendeten Knoten.
MEP ist einer von vier visuellen Authoring-Engines in MOS4s No-Code-Schicht, neben dem Signal-Graph-Editor, dem KI-Pipeline-Builder und der Multi-Stack-Konfigurations-Ansicht.
Zwei Ansichten, eine Datei
Zustandsmaschine für den Produktverantwortlichen. T·C·A für den Ingenieur.
Dieselbe Geofence-Richtlinie liest sich als Drei-Zustands-Maschine im Designer und als drei T·C·A-YAML-Regeln in der Engineering-Ansicht. Die YAML-Datei ist die Zustandsmaschine — es gibt keine separate Laufzeit.
Produkt-Ansicht — Zustands-Diagramm
Drei Zustände: außerhalb des Polygons, annähern an die Grenze, innerhalb. Der Produktverantwortliche liest das Diagramm; das Gerät führt die Richtlinie aus.
Geofence-Zustandsmaschine — drei Zustände (außerhalb, annähernd, innerhalb) mit Übergängen bei Eintritt-, Nah- und Austritt-Ereignissen. Dasselbe Diagramm wird aus dem YAML unten generiert.
stateDiagram-v2 [*] --> außerhalb außerhalb --> annähernd: nah annähernd --> innerhalb: Eintritt annähernd --> außerhalb: Austritt innerhalb --> annähernd: nah innerhalb --> außerhalb: Austritt
Ingenieur-Ansicht — drei T·C·A-Regeln
Dieselbe Richtlinie als drei YAML-Regeln. Jeder Übergang ist ein Trigger / Condition / Action-Tripel. Das zusammengesetzte Regelwerk ist die obige Zustandsmaschine.
rules:
- name: enter_geofence
on_event: geofence.near
when: state == "approaching"
do:
- set: { state: "inside" }
- emit: geofence.entered
- name: leave_geofence
on_event: geofence.exit
do:
- set: { state: "outside" }
- emit: geofence.left
- name: approach_geofence
on_change: distance_m
when: distance_m < 50 and state == "outside"
do:
- set: { state: "approaching" } Der visuelle Designer rendert das Zustands-Diagramm aus dem YAML; das YAML bleibt das Deployment-Artefakt. Einen Zustand hinzufügen bedeutet eine Regel hinzufügen — das Diagramm aktualisiert sich automatisch.
Pre-Deployment-Validierung
Fehler in CI, nicht auf dem Gerät.
| Prüfung | Was abgefangen wird | Wann ausgeführt |
|---|---|---|
| Undefinierte DB-Schlüssel | Schlüssel-Tippfehler und fehlende Deklarationen | CI / Pre-Deploy |
| Fehlende requires:-Deklarationen | micro service-Abhängigkeitslücken | CI / Pre-Deploy |
| Zyklische Regelgraphen | Endlose Trigger-Schleifen | CI / Pre-Deploy |
| Unerreichbare Bedingungen | Tote Regelzweige | CI / Pre-Deploy |
| Ausdrucks-Typfehler | Typ-Diskrepanzen in Bedingungen/Aktionen | CI / Pre-Deploy |
Ein eigenständiger Szenario-Runner spielt YAML-Dateien Off-Target in CI-Pipelines ab. Ein Richtlinien-Engine-Test-Double erlaubt vollständiges Richtlinien-Auswertungs-Testing ohne einen MOS4-Stack auf Hardware.
Beispiel-Regeln
Was Integratoren ausliefern.
Geofence-Eintritt und -Austritt
Ein Cloud-Ereignis und einen Buzzer auslösen, wenn ein Fahrzeug ein Polygon überquert — einmal geschrieben, flottenweit ausgerollt.
Hartes-Bremsen-Erkennung
Auf ein MSP-abgeleitetes Verzögerungs-Signal hören; wenn ein 1,5-Sekunden-Fenster passt, ein Ereignis mit 5-Sekunden-Pre-Roll auslösen.
Leerlauf bei ausgeschalteter Zündung
Periodische Prüfung von Drehzahl und Zündungszustand; bei N-minütiger Verletzung das Dashboard dimmen und ein Wartungsticket öffnen.
Deployment-Abdeckung
MEP wird in allen sechs Deployment-Szenarien geliefert.
Zustandsmaschinen- und LED-Steuerungs-Richtlinien gehören zu den Fähigkeiten mit der höchsten Abdeckung in der MOS4-Feature-Matrix — verfügbar von leichten Dongle-Formfaktoren bis zu compute-class-Gateway-Plattformen.
IOT Hub
Trigger-Aktions-Richtlinien leiten Sensor-Ereignisse an Cloud-Endpunkte und steuern Geräteausgaben — kein Pro-Regel-Verbindungscode erforderlich.
Landwirtschaft
Regelbasierte Ereignisverarbeitung koordiniert den Zustand von Feldmaschinen: Geofence-Zonen, Gerät-Anhängen/-Abnehmen und Planungsfenster.
Dashcam
Hartes-Ereignis-Richtlinien lösen Clip-Bookmarking und Cloud-Upload aus; LED-Muster bestätigen den Aufnahmezustand gegenüber dem Fahrer.
Dongle OBD
Leichtgewichtige Trigger-Aktions-Regeln reagieren auf OBD-Signale — Leerlauf-Erkennung, DTC-Präsenz, Zündungs-aus-Sequenzen — innerhalb eines begrenzten Fußabdrucks.
C4Max
Multi-Stack-Kompositions-Richtlinien orchestrieren Daten-Routing über Fahrzeugdomänen; MEP treibt ereignisgesteuerte Sequenzen zwischen Signal-Schichten an.
Ekko Drive
Fahrverhalten-Richtlinien werten MSP-abgeleitete Signale aus und geben bewertete Ereignisse aus; Cron-Regeln aggregieren Sitzungsdaten für Cloud-Berichte.
MEP-Richtlinien kombinieren mit der Multi-Stack-Schicht für ereignisgesteuerte Daten-Routing-Sequenzen. Siehe Multi Stacks für Cross-Stack-Strategie-Komposition.
Knoten-Katalog
58 Knoten-Typen über drei Kategorien.
10 Triggers · 17 Conditions · 31 Actions — zur Build-Zeit aus dem Engine-Schema abgeleitet. Jeder Knoten ist im visuellen Designer und in handverfasstem YAML verfügbar.
Triggers (10)
-
on init -
on event -
on db changed -
on schedule -
on periodic -
on cron -
on rule -
on message -
any -
stt listen
Conditions (17)
-
comparison -
and -
or -
not -
has changed -
time since changed -
time since triggered -
is type -
matches -
in range -
contains -
is null -
time since applied -
time since condition true -
value -
rag confidence gate -
confidence gate
Actions (31)
-
set -
write db -
emit event -
call interface -
if else -
for each -
schedule -
unschedule -
trace -
set led -
sequence -
set output -
set buzzer -
read input -
read analog -
get ignition -
send message -
go to idle -
shutdown -
reboot -
register operation -
complete operation -
tts announce -
tts announce stream -
llm reason -
llm reason stream -
rag lookup -
tool call with confirm -
input sanitize -
observer log -
llm cloud fallback
Mit call_interface-Aktionen MSP, Inferenz-Engines und benutzerdefinierte Treiber
aus jeder Richtlinien-Regel erreichen. Siehe das SDK für das Authoring von micro services, die MEP
aufrufen kann.
FAQ
Häufig gestellte Fragen
-
Brauche ich einen Rust-Entwickler, um nach dem Deployment eine Regel zu ändern?
Nein. Eine Regel zu ändern bedeutet YAML zu bearbeiten und die aktualisierte Richtlinie zu pushen — via OTA oder einen direkten Service-Aufruf. Kein Rust-Toolchain, kein Firmware-Rebuild, kein Reflash. Hot-Reload entwässert laufende Regeln und tauscht den Richtlinien-Graphen atomar aus.
-
Was ist das genaue Richtlinien-Modell?
Jede Regel hat genau drei Teile: einen Trigger (on_change, on_event oder on_schedule — Delay/Periodic/Cron in UTC); eine optionale Bedingung (Ausdruck gegen DB-Zustand und Ereignis-Payload); und eine oder mehrere Aktionen (DB-Schlüssel setzen, Ereignis ausgeben, call_interface oder eine andere Regel planen). Es gibt kein Ausführungsmodell jenseits dieses Konstrukts.
-
Ist MEP eine endliche Zustandsmaschine?
MEP-Regeln drücken zustandsmaschinen-artiges Verhalten durch T·C·A-Primitive aus. Das Richtlinien-YAML ist die Zustandsmaschine — es gibt keine separate Zustandsmaschinen-Laufzeit. T·C·A ist das Regel-Primitiv; das zusammengesetzte Regelwerk ist die Zustandsmaschine. Beide Lesarten werden geliefert — der visuelle Designer rendert das Zustands-Diagramm für Produktverantwortliche; das YAML bleibt das Engineering-Artefakt.
-
Welche Zeitzone verwendet die Cron-Planung?
Nur UTC. Zeitzonenbewusste Planung wird derzeit nicht unterstützt.
-
Kann eine Richtlinie einen anderen MOS4-micro service aufrufen?
Ja. Die call_interface-Aktion erreicht jeden MOS4-micro service — MSP, Inferenz-Engines und benutzerdefinierte Treiber. Der Schnittstellen-Proxy validiert die Semver-Einschränkung bei der Richtlinien-Ladezeit, speichert die Verbindung und wendet ein konfigurierbares Timeout an (Standard 3 000 ms pro Aufruf). Kein Pro-Integration-Verbindungscode. Siehe das SDK für das Authoring benutzerdefinierter micro services.
-
Kann ich Regeln ohne Hardware testen?
Ja. Ein semantisches Lint-Tool validiert YAML, bevor es ein Gerät erreicht — fängt undefinierte DB-Schlüssel, fehlende requires:-Deklarationen, zyklische Regelgraphen, unerreichbare Bedingungen und Ausdrucks-Typfehler ab. Ein eigenständiger Szenario-Runner spielt YAML-Dateien Off-Target in CI-Pipelines ab. Ein Richtlinien-Engine-Test-Double erlaubt das Testen der Richtlinien-Auswertung in der Integration ohne einen vollständigen MOS4-Stack.
Bringen Sie das Regelwerk mit.
Zeigen Sie uns die Richtlinie, die Sie auf dem Gerät wollen; das Engineering-Team verfasst die Regeln mit Ihnen.