KIT | KIT-Bibliothek | Impressum | Datenschutz

A Module-System Discipline for Model-Driven Software Development

Erdweg, Sebastian ORCID iD icon 1; Ostermann, Klaus
1 Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)

Abstract (englisch):

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 transformations. 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 separate compilation by preventing hidden dependencies, and it supports mixing modeling artifacts with conventional code artifacts as well as higher-order transformations. We have formalized our design and the aforementioned properties and have validated it by an implementation and case studies that show that our module system successfully integrates model-driven development into conventional programming languages.


Verlagsausgabe §
DOI: 10.5445/IR/1000188577
Veröffentlicht am 22.12.2025
Originalveröffentlichung
DOI: 10.22152/programming-journal.org/2017/1/9
Scopus
Zitationen: 4
Dimensions
Zitationen: 5
Cover der Publikation
Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsjahr 2017
Sprache Englisch
Identifikator ISSN: 2473-7321
KITopen-ID: 1000188577
Erschienen in The Art, Science, and Engineering of Programming
Band 1
Heft 2
Vorab online veröffentlicht am 01.04.2017
Schlagwörter module system, software components, dependency tracking, model-driven software, development, domain-specific languages
Nachgewiesen in Scopus
Dimensions
OpenAlex
KIT – Die Universität in der Helmholtz-Gemeinschaft
KITopen Landing Page