Expand description
Compiler pipeline for the Event Tree Definition Language (ETDL).
Validates .etdl documents, resolves fault tree top-event probabilities
(IEC 61025:2006), and
generates service-local code. Reliability — event trees (IEC 62502),
fault trees (IEC 61025), retry policies, SLAs — becomes a build-time,
machine-checked artifact instead of scattered runtime guesses.
§Pipeline
validate::validate_document— structural and semantic diagnostics (E-1xx, V-1xx..V-5xx, W-4xx)fault_tree::resolve_fault_trees— exact top-event probability evaluation (AND/OR/NOT/XOR/VOTING gates, exponential failure model)- [
typeck] — ECEL condition type-checking against AsyncAPI schemas codegen::CodeGenerator— backend trait;codegen::RustCodeGeneratoremits async handlers with embedded probabilities, retry policies, andetdl-coreinstrumentation
§Example
use etdl_compiler::Compiler;
use etdl_parser::{parse_document_from_file, load_asyncapi_imports};
use std::path::Path;
let base = Path::new(".");
let doc = parse_document_from_file(&base.join("order-fulfillment.etdl"))?;
let registry = load_asyncapi_imports(&doc, base)?;
let result = Compiler::new().compile(&doc, ®istry);
assert!(result.diagnostics.iter().all(|d| !d.is_error()));
assert!(result.rust_output.is_some());Re-exports§
pub use codegen::CodeGenerator;pub use codegen::RustCodeGenerator;pub use validate::Diagnostic;