A Module-System Discipline for Model-Driven Software Development
Sebastian Erdweg (TU Delft, Netherlands), Klaus Ostermann (University, of T\"ubingen, Germany)

TL;DR
This paper introduces a new module system for model-driven software development that enhances modular reasoning, separate compilation, and integration of models and transformations within conventional programming languages.
Contribution
It proposes a formalized module system that treats models and transformations as modules, enabling explicit dependencies and better integration in model-driven development.
Findings
Formalized module system design for model-driven development
Implementation demonstrates integration with conventional programming languages
Case studies validate improved modular reasoning and compilation
Abstract
Model-driven development is a pragmatic approach to software development that embraces domain-specific languages (DSLs), where models correspond to DSL programs. A distinguishing feature of model-driven development is that clients of a model can select from an open set of alternative semantics of the model by applying different model transformation. However, in existing model-driven frameworks, dependencies between models, model transformations, and generated code artifacts are either implicit or globally declared in build scripts, which impedes modular reasoning, separate compilation, and programmability in general. We propose the design of a new module system that incorporates models and model transformations as modules. A programmer can apply transformations in import statements, thus declaring a dependency on generated code artifacts. Our design enables modular reasoning and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
