In recent years, blockchain has been growing rapidly from a niche technology to a promising solution for many sectors, due to its unique properties that empower the design of innovative applications. Nevertheless, the development of blockchain applications is still a challenge. Due to the technological novelty, only a few developers are familiar with blockchain technologies and smart contracts. Others might face a steep learning curve or difficulties to reuse existing code to build blockchain applications. This study proposes a novel approach to tackle these issues, through software product line engineering. To support the approach, a web platform to configure and generate a blockchain application for on-chain traceability is introduced. First, a feature model has been designed to model core features of the chosen domain, based on the existing literature. Then, a configurator has been implemented to support the feature selection phase. Finally, a generator is able to ingest such configurations to generate on-the-shelf blockchain products. The generalizability of the contribution is validated by reproducing on-chain traceability applications proposed in the literature by using the platform. This work provides the first evidence that the implementation of blockchain applications using software product lines enhances the quality of produced applications and reduces the time to market.
翻译:近年来,由于具有赋予创新应用设计能力的独特性,供应链从利基技术迅速发展到许多部门的有希望的解决办法,因为其独特性能使创新应用得以设计;然而,块链应用的发展仍是一个挑战;由于技术创新,只有少数开发商熟悉链技术和智能合同;其他人可能面临一个巨大的学习曲线,或难以再利用现有代码来建立块链应用;本研究报告提出一种新办法,通过软件产品系列工程来解决这些问题;为支持这一办法,引入了一个配置和生成链链追踪应用的网络平台;首先,根据现有文献设计了一个功能模型,以模拟选定域的核心特征;随后,实施了一个配置器以支持特征选择阶段;最后,一个生成器能够利用这种配置来产生现成的块链产品;通过利用该平台再生产文献中提议的链链可追踪应用软件,可以验证贡献的通用性。这项工作提供了第一个证据,证明使用块链应用软件系列应用的应用能够提高生产应用的质量,并缩短市场时间。