Metadata Interpretation Driven Development

05/02/2021
by   Júlio G. S. F. da Costa, et al.
0

Despite decades of engineering and scientific research efforts, separation of concerns in software development remains not fully achieved. The ultimate goal is to truly allow code reuse without large maintenance and evolution costs. 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 code inscriptions play an even larger role in this challenge than the crosscutting of concerns. We then introduce a new methodology, called Metadata Interpretation Driven Development (MIDD) that suggests a possible path to realize separation of concerns by removing functional software concerns from the coding phase. We propose a change in the perspective for building software, from being based on object representation at the coding level to being based on object interpretation, whose definitions are put into layers of representation other than coding. The metadata of the domain data is not implemented at the level of the code. Instead, they are interpreted at run time. As an important consequence, such constructs can be applied across functional requirements, across business domains, with no concerns regarding the need to rewrite or refactor code. We show how this can increase the (re)use of the constructs. Furthermore, the execution of a single interpreter, due to its semantic disconnection from the domain, suggests that it can simultaneously serve different business domains. Although high-reuse software construction is considered a relatively mature field, changes in the software services scenario demand relevant 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/28/2021

The Impacts of Low/No-Code Development on Digital Transformation and Software Development

Low/No-code development is a software development method that provides u...
research
07/01/2021

IsiSPL: Toward an Automated Reactive Approach to build Software Product Lines

Over the past decades, Software Product Lines (SPLs) have demonstrated t...
research
10/22/2020

A Simple Methodology for Model-Driven Business Innovation and Low Code Implementation

Low Code platforms, according to Gartner Group, represent one of the mor...
research
07/31/2019

Tracy: A Business-driven Technical Debt Prioritization Framework

Technical debt is a pervasive problem in software development. Software ...
research
07/25/2018

Fast Flexible IO : A Compositional Approach to Storage Construction for High-Performance Devices

Building storage systems has remained the domain of systems experts for ...
research
10/08/2021

A Framework for Aspectual Requirements Validation: An Experimental Study

Requirements engineering is a discipline of software engineering that is...

Please sign up or login with your details

Forgot password? Click here to reset