Assisting with API Design through Reusing Design Knowledge
In my thesis project, I have developed and evaluated Rational API Designer (RAPID)
an assistant that aids in designing non-functional requirements, including security, performance, usability, and others, in the architecture of Web APIs. RAPID has been designed as a conversational assistant and has been implemented and evaluated as a rule-based knowledge-based system in Java. To develop and evaluate RAPID, I have used methods from two fields of Artificial Intelligence and Software Engineering, namely knowledge representation, multi-valued logic, automated inference, and empirical software engineering.
Designing Openness Requirements in Software Platforms
★ ★ ★ Award Winner ★ ★ ★
In this research project, I have devised a semi-formal approach that allows to analyze openness requirements in parallel with other critical requirements such as security, privacy and performance
in the design of interaction mechanisms with third-party applications and services.
Parts of this research received best-paper award at REFSQ 2017 and was invited to the Empirical Software Engineering journal.
Modeling and Designing Software Ecosystems
In this exploratory research project, I have studied how social and human-related aspects of software ecosystems can be formally represented and modeled,
and how this modeling and analysis can be used to improve the design of the socio-technical environment of software development in software ecosystems.
Algorithms and Codes
Bahen Center for Information Technologies
40 St George St.
Toronto, Ontorio, Canada
Email: mhsadi -at- cs -dot- toronto -dot- edu