Research Project

Rational API Designer (RAPID) - 2018 to 2020 - Department of Computer Science - University of Toronto

Researchers and Developers

  • Mahsa H. Sadi
  • Objectives

  • Recommending design fragments for a given set of non-functional requirements
  • Semi-automated transformation of requirements specifications into software designs and programs
  • Assisting developers with designing non-functional requirements in Web APIs
  • Tool

    Rational API Designer (RAPID): A knowledge-based 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 the related non-functional requirements
  • Recommending design alternatives based on the requirements of a given case
  • Video Demo


    RAPID is implemented as a rule-based knowledge-based system in Java.

    Source Code


  • Sadi, M. H. & Yu, E. (2021).
    RAPID: A Knowledge-Based Assistant for Designing Web APIs.
    Requirements Engineering Journal.

  • Sadi, M. H.,  (2020).
    Assisting with API Design through Reusing Design Knowledge.
    Doctoral Dissertation, Department of Computer Science, University of Toronto.