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
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

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...
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...
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...
01/13/2019

A Framework for Evaluating Model-Driven Self-adaptive Software Systems

In the last few years, Model Driven Development (MDD), Component-based S...
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 ...
10/08/2021

A Framework for Aspectual Requirements Validation: An Experimental Study

Requirements engineering is a discipline of software engineering that is...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.