Authors:
Thomas Buchmann
1
;
Felix Schwägerl
2
and
René Peinl
1
Affiliations:
1
Hof University of Applied Sciences, Hof, Germany
;
2
OTH Regensburg, Regensburg, Germany
Keyword(s):
Model-Driven Development, Large Language Models, Software Engineering, Code Generation.
Abstract:
This paper considers three fundamental approaches to software development, namely manual coding, model-driven software engineering, and code generation by large language models. All of these approaches have their individual pros and cons, motivating the desire for an integrated approach. We present MoProCo, a technical solution to integrate the three approaches into a single tool chain, allowing the developer to split a software engineering task into modeling, prompting or coding sub-tasks. From a single input file consisting of static model structure, natural language prompts and/or source code fragments, Java source code is generated using a two-stage approach. A case study demonstrates that the MoProCo approach combines the desirable properties of the three development approaches by offering the appropriate level of abstraction, determinism, and dynamism for each specific software engineering sub-task.