Application of Knowledge-based Approaches in Software Architecture: A Systematic Mapping Study

Z. Li, P. Liang, P. Avgeriou

Research output: Contribution to JournalArticleAcademicpeer-review

Abstract

Context: Knowledge management technologies have been employed across software engineering activities for more than two decades. Knowledge-based approaches can be used to facilitate software architecting activities (e.g., architectural evaluation). However, there is no comprehensive understanding on how various knowledge-based approaches (e.g., knowledge reuse) are employed in software architecture. Objective: This work aims to collect studies on the application of knowledge-based approaches in software architecture and make a classification and thematic analysis on these studies, in order to identify the gaps in the existing application of knowledge-based approaches to various architecting activities, and promising research directions. Method: A systematic mapping study is conducted for identifying and analyzing the application of knowledge-based approaches in software architecture, covering the papers from major databases, journals, conferences, and workshops, published between January 2000 and March 2011. Results: Fifty-five studies were selected and classified according to the architecting activities they contribute to and the knowledge-based approaches employed. Knowledge capture and representation (e.g., using an ontology to describe architectural elements and their relationships) is the most popular approach employed in architecting activities. Knowledge recovery (e.g., documenting past architectural design decisions) is an ignored approach that is seldom used in software architecture. Knowledge-based approaches are mostly used in architectural evaluation, while receive the least attention in architecture impact analysis and architectural implementation. Conclusions: The study results show an increased interest in the application of knowledge-based approaches in software architecture in recent years. A number of knowledge-based approaches, including knowledge capture and representation, reuse, sharing, recovery, and reasoning, have been employed in a spectrum of architecting activities. Knowledge-based approaches have been applied to a wide range of application domains, among which "Embedded software" has received the most attention. © 2012 Elsevier B.V. All rights reserved.
Original languageEnglish
Pages (from-to)777-794
JournalInformation and Software Technology
Volume55
Issue number5
DOIs
Publication statusPublished - 2013

Fingerprint

Dive into the research topics of 'Application of Knowledge-based Approaches in Software Architecture: A Systematic Mapping Study'. Together they form a unique fingerprint.

Cite this