Using Software Categories for the Development of Generative Software
Pedram Mir Seyed Nazari, Bernhard Rumpe

TL;DR
This paper introduces a semi-automatic approach using software categories to identify code parts suitable for generation in model-driven development, streamlining generator development and maintenance.
Contribution
It proposes a novel method leveraging software categories to systematically identify candidate code for generation, reducing manual effort and improving maintainability.
Findings
The approach effectively identifies code candidates for generation based on dependencies.
It simplifies the process of separating handwritten and generated code.
The method supports tool-assisted development of generative software.
Abstract
In model-driven development (MDD) software emerges by systematically transforming abstract models to concrete source code. Ideally, performing those transformations is to a large extent the task of code generators. One approach for developing a new code generator is to write a reference implementation and separate it into handwritten and generatable code. Typically, the generator developer manually performs this separation a process that is often time-consuming, labor-intensive, difficult to maintain and may produce more code than necessary. Software categories provide a way for separating code into designated parts with defined dependencies, for example, "Business Logic" code that may not directly use "Technical" code. This paper presents an approach that uses the concept of software categories to semi-automatically determine candidates for generated code. The main idea is to…
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.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Model-Driven Software Engineering Techniques
