Search papers, labs, and topics across Lattice.
This paper introduces JDomInO, a bidirectional synchronization toolchain designed to maintain alignment between Java codebases and their corresponding domain models in the context of Domain-Driven Design (DDD). By enabling deterministic generation of code from a domain model and reconstructing the model from existing code, JDomInO addresses the common issue of model-code drift as systems evolve. The tool has been validated through a comprehensive Hotel Management scenario, ensuring both forward and reverse synchronization paths are robust and reliable, with potential applications in enhancing AI code assistants' understanding of DDD semantics.
JDomInO keeps Java code and domain models in sync, preventing the costly drift that undermines effective Domain-Driven Design.
Domain-Driven Design gives teams a shared vocabulary for complex business logic, but that vocabulary only stays useful as long as the model and the code agree with each other. In practice, they drift apart: code changes outpace the model, or model revisions never make it into the codebase. This paper presents JDomInO, a bidirectional synchronization toolchain for tactical DDD that keeps a Java codebase and its domain model connected through a shared metamodel, with the goal of keeping the two in sync as the system evolves. JDomInO generates Java code structure deterministically from a domain model (forward path) and reconstructs a domain model from existing Java code (reverse path). The forward path has been fully validated on a Hotel Management scenario covering all 12 building block types in the metamodel; the reverse path's mapping logic has passed unit testing, with end-to-end validation underway. We also outline how the structured domain model produced by JDomInO could serve as a precision context layer for AI code assistants, helping them respect aggregate boundaries and DDD semantics that raw source code alone does not convey.