当前位置: X-MOL 学术Requirements Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
RAPID: a knowledge-based assistant for designing web APIs
Requirements Engineering ( IF 2.8 ) Pub Date : 2021-02-03 , DOI: 10.1007/s00766-020-00342-0
Mahsa H. Sadi , Eric Yu

With the rise in initiatives such as software ecosystems and Internet of Things (IoT), developing web Application Programming Interfaces (web APIs) has become an increasingly common practice. One main concern in developing web APIs is that they expose back-end systems and data toward clients. This exposure threatens critical non-functional requirements, such as the security of back-end systems, the performance of provided services, and the privacy of communications with clients. Although dealing with non-functional requirements during software design has been long studied, there is still no framework to specifically assist software developers in addressing these requirements in web APIs. In this paper, we introduce Rational API Designer (RAPID), an open-source assistant that advises on designing non-functional requirements in the architecture of web APIs. We have equipped RAPID with a broad range of expert knowledge about API design, systematically collected and extracted from the literature. The API design knowledge has been encoded as a set of 156 rules using the Non-Functional Requirements (NFR) multi-valued logic, a formal framework commonly used to describe non-functional and functional requirements of software systems. RAPID uses the encoded knowledge in a stepwise inference procedure to arrive from a given requirement, to a set of design alternatives to a final recommendation for a given API design specification. Seven well-experienced software engineers have blindly evaluated the accuracy of RAPID’s consultations over seven different cases of web API design and on providing design guidelines for thirty design questions. The results of the evaluation show that RAPID’s recommendations meet acceptable standards of the majority of the evaluators 73.3% of the time. Moreover, analysis of the evaluators’ comments suggests that more than one-third of the unacceptable ratings (33.8%) given to RAPID’s answers are due to valid but incomplete design guidelines. We thus expect that the accuracy of the consultations will increase as RAPID’s knowledge of API design is extended and refined.



中文翻译:

RAPID:基于知识的Web API设计助手

随着诸如软件生态系统和物联网(IoT)之类的计划的兴起,开发Web应用程序编程接口(Web API)已成为一种越来越普遍的做法。开发Web API的一个主要问题是它们向客户端公开后端系统和数据。这种暴露威胁到关键的非功能性需求,例如后端系统的安全性,提供的服务的性能以及与客户端通信的隐私。尽管对软件设计过程中的非功能性需求进行了长期的研究,但仍然没有专门帮助软件开发人员解决Web API中的这些需求的框架。在本文中,我们介绍了Rational API Designer(RAPID),一个开放源代码助手,可为Web API架构中的非功能需求设计提供建议。我们为RAPID配备了有关API设计的广泛专家知识,这些知识是系统地从文献中收集和提取的。使用非功能需求(NFR)多值逻辑将API设计知识编码为一组156条规则,这是一种通常用于描述软件系统的非功能和功能需求的正式框架。RAPID在逐步的推理过程中使用编码的知识,从给定的需求得出针对给定API设计规范的最终建议的一组设计替代方案。七位经验丰富的软件工程师盲目评估了RAPID在七种不同的Web API设计案例中提供的咨询的准确性,并为30个设计问题提供了设计指南。评估结果表明,RAPID的建议在73.3%的时间内符合大多数评估者可接受的标准。此外,对评估人员意见的分析表明,RAPID答案给出的不可接受的评分中有超过三分之一(33.8%)是由于有效但不完整的设计指南造成的。因此,我们期望随着RAPID对API设计知识的扩展和完善,咨询的准确性将会提高。此外,对评估人员意见的分析表明,RAPID答案给出的不可接受的评分中有超过三分之一(33.8%)是由于有效但不完整的设计指南造成的。因此,我们期望随着RAPID对API设计知识的扩展和完善,咨询的准确性将会提高。此外,对评估人员意见的分析表明,RAPID答案给出的不可接受的评分中有超过三分之一(33.8%)是由于有效但不完整的设计指南而引起的。因此,我们期望随着RAPID对API设计知识的扩展和完善,咨询的准确性将会提高。

更新日期:2021-02-03
down
wechat
bug