arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2105.00534cs.SE
收藏

元数据解释驱动的开发

Metadata Interpretation Driven Development

Júlio G. S. F. da Costa, Reinaldo A. Petta, Samuel Xavier-de-Souza

摘要:

尽管经过几十年的工程和科学研究努力,软件开发中的关注点分离仍然没有完全实现。面临的挑战是如何避免交叉关切的现象,这种现象没有明显的全面解决办法。在本文中,我们表明,业务域编码在这一挑战中发挥着更大的作用。然后,我们介绍了一种新的方法,称为\emph{Metadata Interpretation Driven Development}(MIDD),它提出了一种方法,以提高目前的方式实现分离的关注点,消除了需要的代码功能的关注点。我们建议将非功能性关注点编码为元数据解释器。这种解释发生在运行时,并且是可能的,因为它假设在过程的先前阶段(例如建模阶段)中创建的工件中存在这种元数据。我们展示了如何增加结构的(再)使用。此外,我们表明,一个单一的解释器,由于其语义断开域,可以同时服务于不同的业务领域,无需考虑需要重写或重构代码。尽管高重用软件构造被认为是一个相对成熟的领域,但软件服务场景的变化要求不断改进实际的解决方案。新软件架构的出现,如无服务器计算,加强了重新思考软件构建的必要性。这种方法是为了满足这一需求而提出的。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑