Description

The design and development of sustainable software systems require software architects to consider a variety of architectural solutions and their trade-offs. With the frequent introduction of new architectural methods and software solutions, as well as, due to time-to-market constraints faced by software architects, considering even a subset of alternative architectural solutions during the decision-making process is a challenge. In this paper, we propose a recommendation system that automatically annotates architectural elements in software architecture documents and then proposes a) alternative architectural solutions for the annotated elements and b) concrete software solutions to realize an architectural design decision. These annotations and recommendations are derived from the knowledge captured in a publicly available cross-domain ontology. The evaluation of the recommendation system indicates that our approach can effectively support software architects to consider alternative architectural solutions while making architectural design decisions.

Share

COinS
 
Aug 10th, 12:00 AM

An Ontology-based Approach for Software Architecture Recommendations

The design and development of sustainable software systems require software architects to consider a variety of architectural solutions and their trade-offs. With the frequent introduction of new architectural methods and software solutions, as well as, due to time-to-market constraints faced by software architects, considering even a subset of alternative architectural solutions during the decision-making process is a challenge. In this paper, we propose a recommendation system that automatically annotates architectural elements in software architecture documents and then proposes a) alternative architectural solutions for the annotated elements and b) concrete software solutions to realize an architectural design decision. These annotations and recommendations are derived from the knowledge captured in a publicly available cross-domain ontology. The evaluation of the recommendation system indicates that our approach can effectively support software architects to consider alternative architectural solutions while making architectural design decisions.