Metadata Interpretation Driven Development
J\'ulio G. S. F. da Costa, Reinaldo A. Petta, Samuel Xavier-de-Souza

TL;DR
The paper introduces Metadata Interpretation Driven Development (MIDD), a novel approach that enhances separation of concerns in software engineering by using metadata interpreters to handle non-functional concerns at runtime, increasing reuse and flexibility.
Contribution
MIDD proposes coding non-functional concerns as metadata interpreters, enabling runtime interpretation that improves separation of concerns and promotes reuse across different business domains.
Findings
Increases code reuse through metadata interpreters.
Allows multiple domains to share interpreters without rewriting.
Supports evolution of software architectures like serverless computing.
Abstract
Despite decades of engineering and scientific research efforts, separation of concerns in software development remains not fully achieved. The challenge has been to avoid the crosscutting of concerns phenomenon, which has no apparent complete solution. In this paper, we show that business-domain coding plays an even larger role in this challenge. We then introduce a new approach called \emph{Metadata Interpretation Driven Development} (MIDD), which suggests a way to enhance the current way of realizing separation of concerns by eliminating the need to code functional concerns. We propose to code non-functional concerns as metadata interpreters. This interpretation occurs at run-time and is possible because it assumes the existence of such metadata in artefacts created in previous stages of the process, such as the modelling phase. We show how this can increase the (re)use of the…
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.
Code & Models
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
