THE M-IDL ARCHITECTURE
Machine-Interpretable Device Language: A structured schema for encoding appliance operation procedures
PROCEDURES
Step-by-step task sequences with preconditions, actions, and expected outcomes. Each procedure is decomposed into atomic operations with explicit state transitions.
CONTROLS
Physical interface mappings including buttons, dials, displays, and sensors. Normalized control semantics across device variations.
CONSTRAINTS
Safety requirements, operational limits, and failure modes. Explicit encoding of hazards, warnings, and recovery procedures.

TECHNICAL SPECIFICATIONS
FULL EXTRACTION SAMPLE
Complete M-IDL extraction from a Bosch dishwasher user manual. Every procedure includes preconditions, postconditions, constraints, and failure modes.
{
"schema_version": "1.3.0",
"source": {
"oem": "Bosch",
"model": "SHPM88Z75N",
"document_type": "user_manual",
"extraction_date": "2026-01-03",
"quality_score": 0.988
},
"procedures": [
{
"procedure_id": "PROC_001",
"name": "Start Normal Wash Cycle",
"steps": [
{
"id": "STEP_01",
"action": "VerifyState",
"target": "door",
"expected": "closed"
},
{
"id": "STEP_02",
"action": "Press",
"target": "power_button",
"postcondition": "display_on"
},
{
"id": "STEP_03",
"action": "Select",
"target": "cycle_dial",
"value": "normal"
},
{
"id": "STEP_04",
"action": "Press",
"target": "start_button",
"precondition": "door_closed AND water_supply_on",
"postcondition": "cycle_running"
}
],
"failure_modes": [
{
"trigger": "door_not_latched",
"behavior": "cycle_will_not_start",
"recovery": "Close door firmly until click"
}
],
"hazards": [
{
"description": "Hot steam when opening mid-cycle",
"severity": "warning"
}
],
"constraints": {
"water_temp_min_c": 50,
"max_load_kg": 12
}
}
],
"controls": [
{"id": "power_button", "type": "momentary_switch"},
{"id": "cycle_dial", "type": "rotary_selector"}
]
}Simplified sample. Full extractions include 15-30 procedures per appliance with complete parts catalogs.
EXPORT FORMATS
M-IDL (Native)
JSON-LD schema with full semantic markup. Best for custom integrations and LLM function calling.
BehaviorTree.XML
Direct export to BehaviorTree.CPP format. Drop into your ROS2 stack.
PDDL
Planning Domain Definition Language. Preconditions and effects for task planners.
ROS2 Actions
Action definitions and service interfaces for ROS2 navigation and manipulation.
Sample exports available in pilot packages.
VALIDATION & PROVENANCE
Every extraction includes full audit trail:
SOURCE TRACKING
SHA256 hash linking to original PDF page
QUALITY SCORE
0-1 composite metric (schema validity, primitive coverage, provenance)
HALLUCINATION CHECK
All primitives validated against skill ontology
HUMAN REVIEW
Spot-check on sample extractions
Latest extraction batch: 0.988 quality score. Zero hallucinated primitives.