🤖 AI Summary
Poor software structural understandability and insufficient modularization hinder adherence to robust programming principles—specifically incrementality, completeness, and transparency. To address this, we propose a novel architectural pattern that strictly separates independent services from event-based synchronization rules, thereby establishing a clear, one-to-one mapping between code structure and runtime behavior. Our approach innovatively decouples conceptual modeling from synchronization logic and introduces a domain-specific language (DSL) for declarative specification of behavioral rules, enabling fine-grained functional definition, LLM-assisted generation, and maintenance. Integrating event-driven architecture with service-oriented decomposition, the pattern is empirically validated on the RealWorld benchmark. Results demonstrate significant improvements in code readability, maintainability, and support for incremental development—advancing both design clarity and engineering agility.
📝 Abstract
The opportunities offered by LLM coders (and their current limitations) demand a reevaluation of how software is structured. Software today is often "illegible" - lacking a direct correspondence between code and observed behavior - and insufficiently modular, leading to a failure of three key requirements of robust coding: incrementality (the ability to deliver small increments by making localized changes), integrity (avoiding breaking prior increments) and transparency (making clear what has changed at build time, and what actions have happened at runtime).
A new structural pattern offers improved legibility and modularity. Its elements are concepts and synchronizations: fully independent services and event-based rules that mediate between them. A domain-specific language for synchronizations allows behavioral features to be expressed in a granular and declarative way (and thus readily generated by an LLM). A case study of the RealWorld benchmark is used to illustrate and evaluate the approach.