Loading…

Metadata Interpretation Driven Development

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 cod...

Full description

Saved in:
Bibliographic Details
Published in:arXiv.org 2021-10
Main Authors: Júlio G S F da Costa, Petta, Reinaldo A, Xavier-de-Souza, Samuel
Format: Article
Language:English
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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 constructs. Furthermore, we show that a single interpreter, due to its semantic disconnection from the domain, can simultaneously serve different business domains with no concerns regarding the need to rewrite or refactor code. Although high-reuse software construction is considered a relatively mature field, changes in the software services scenario demand constant evolution of the actual solutions. The emergence of new software architectures, such as serverless computing, reinforces the need to rethink software construction. This approach is presented as a response to this need.
ISSN:2331-8422