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.


翻译:尽管进行了数十年的工程和科学研究努力,软件开发方面的关注问题仍未完全分离,但软件开发方面的关注问题仍未完全实现。挑战在于避免关切的交叉现象,这显然没有完全的解决办法。在本文件中,我们表明企业的维护编码在这一挑战中发挥了更大的作用。然后我们引入了一种叫作\emph{Metatadata解释驱动开发}(MIDDD)的新方法,它表明一种通过消除对功能关切的编码需要,加强当前将关注问题分开的方法。我们提议作为元数据解释员对非功能关切进行编码。这种解释发生在运行时,而且有可能发生,因为它假定在工艺的前几个阶段(例如建模阶段)产生的工艺品中存在这种元数据。我们展示了这如何能够增加这些建筑的(再)用途。此外,我们表明由于一个单一的翻译者与域的语义脱节,因此可以同时为不同的业务领域提供服务,而不必担心需要重写或重写功能代码。虽然高用途软件的构建被认为是一个相对成熟的领域,但软件服务设想中的变化要求不断演变这种实际解决方案,例如建模阶段。我们展示了新的软件结构,因此更需要重新思考新的软件结构。

0
下载
关闭预览

相关内容

专知会员服务
38+阅读 · 2020年9月6日
商业数据分析,39页ppt
专知会员服务
158+阅读 · 2020年6月2日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
145+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
187+阅读 · 2019年10月10日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
100+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Arxiv
0+阅读 · 2021年12月1日
Arxiv
3+阅读 · 2020年11月26日
Interpretable Active Learning
Arxiv
3+阅读 · 2018年6月24日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
26+阅读 · 2019年5月18日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
计算机视觉近一年进展综述
机器学习研究会
8+阅读 · 2017年11月25日
【今日新增】IEEE Trans.专刊截稿信息8条
Call4Papers
7+阅读 · 2017年6月29日
Top
微信扫码咨询专知VIP会员