Skip to content
/ RAPID Public

Rational API Designer (RAPID) is a conversational assistant that advises on designing non-functional requirements in the architecture of Web APIs.

License

Notifications You must be signed in to change notification settings

m-h-s/RAPID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rational API Designer (RAPID)

Design Objectives

RAPID is a conversational assistant that aids software developers
in addressing non-functional requirements in the design of web APIs.

Main Features

RAPID provides four types of guidelines to the users:

  • Elaborating and clarifying a given requirement
  • Introducing a set of design alternatives to address a given requirement
  • Analyzing the impact of design alternatives on non-functional requirements
  • Recommending design alternatives based on the requirements of a given case

Website and Video Demo

http://www.cs.toronto.edu/~mhsadi/Rational%20API%20Designer.html

Design and Architecture

RAPID is designed as a rule-based knowledge-based system and has four main components:

  • Rule Base Component (RB): RB is responsible for storing and managing the rules encoding design knowledge.

  • Rule Explorer (RE): RE is responsible for retrieving the rules that are related to a session of interaction with a user,
    and managing them until the interaction session ends.

  • User Interaction Component (UIM): UIM allows a user to interact with the system, to pose design queries over the rule base, to and receive a set of responses.

  • Reasoner: Reasoner is responsible for evaluating the rules related to an interaction session and selecting and recommending appropriate design solutions.

Implementation

RAPID is a working prototype implemented in Java.

Release Dates:

  • First Release: 2018 - 12 - 01
  • Public Release: 2019 - 08 - 22

Copyright

License: Creative Commons

The use, modification, and distribution of the source code is allowed under two conditions:

  1. The original research work and the original developer is cited.

  2. Explicit permission is obtained from the original developer.

References

  1. Sadi, M. H. (2020). "Assisting with API Design through Reusing Design Knowledge".
    Doctoral Dissertation. Department of Computer Science. University of Toronto.
    https://tspace.library.utoronto.ca/bitstream/1807/101172/3/Hasani_Sadi_Mahsa_%20_202003_PhD_thesis.pdf

  2. Sadi, M.H. & Yu, E. (2021). "RAPID: A Knowledge-Based Assistant for Designing Web APIs".
    Requirements Engineering Journal.
    http://www.cs.toronto.edu/~mhsadi/publications/RAPID%20-%20PrePrint.pdf

Contributers

  • Mahsa H. Sadi, PH.D., Department of Computer Science, University of Toronto

About

Rational API Designer (RAPID) is a conversational assistant that advises on designing non-functional requirements in the architecture of Web APIs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages