Abstract:
This paper proposes Architectural Pattern Recommender
(APR) system which helps in such architecture selection
process. Main contribution of this work is in replacing the
manual effort required to identify and analyse relevant architectural patterns in context of a particular set of software
requirements. Key input to APR is a set of architecturally
significant use cases concerning the application being developed. Central idea of APR’s design is two folds: a) transform the unstructured information about software architecture design into a structured form which is suitable for recognizing textual entailment between a requirement scenario
and a potential architectural pattern. b) leverage the rich
experiential knowledge embedded in discussions on professional developer support forums such as Stackoverflow to
check the sentiment about a design decision. APR makes
use of both the above elements to identify a suitable architectural pattern and assess its suitability for a given set
of requirements. Efficacy of APR has been evaluated by
comparing its recommendations for “ground truth” scenarios (comprising of applications whose architecture is well
known).