MANAGING CONCERN KNOWLEDGE IN SOFTWARE SYSTEMS
Knowledge representation, acquisition, and sharing in software development projects is challenging due to the involvement of different kinds of stakeholders and large heterogeneous repositories of artifacts. In this paper, we argue that the concept of a concern can be used to facilitate the management of knowledge concerning the various system artifacts. Concerns represent pieces of knowledge pertaining to various viewpoints and interests of the stakeholders. In order to represent concerns, we propose the use of a non-intrusive role-based mechanism called a fragment. Using this mechanism, tacit knowledge can be made explicit by mapping stakeholders interests to artifact repositories, concern-based queries can be addressed to the repositories, and concerns can be combined to produce new knowledge. A concern-based prototype tool environment for knowledge management has been built and used for evaluating the approach in the context of industrial case studies.