← Back to projects
2022 — 2025

LMF

Model Engineering framework

The Challenge

Eclipse EMF's workflow was too costly for rapid iteration: editing metamodels required separate Eclipse instances, references weren't always propagated correctly, and partially invalid XMI files could make the editor unusable.

The Approach

Rewrote MOF management from scratch with explicit M1/M2/M3 level handling. Replaced XML with a custom textual DSL (.lm). Built a complete ecosystem: • Core API & runtime • Parser with structured diagnostics • Java code generator (JavaPoet) • CLI tool (validation, inspection, editing, formatting) • Gradle plugin for automatic Java source generation from .lm files before compilation • Full LSP server (diagnostics, completion, go-to-definition, rename, hover, code actions, formatting) • IntelliJ plugin wrapping the LSP

The Result

A complete Model Engineering toolchain. Dramatically faster iteration — editing remains functional even with temporarily invalid files. Full IDE support via LSP with real-time diagnostics and cross-file rename. Described as "night and day" compared to the EMF workflow. LMF became the backbone of the Lily engine ecosystem.

Tech Stack

JavaDSLModel EngineeringCode GenerationLSPIntelliJGradleJavaPoet

Built with SvelteKit + Tailwind CSS

© 2026 Aurélien Mora