SPARSE: A Symptom-based Antipattern Retrieval Knowledge-based System Using Semantic Web Technologies
- Antipattern detection
Antipatterns provide information on commonly occurring solutions to problems that generate negative consequences. The number of software project management antipatterns that appears in the literature and the Web increases to the extent that makes using antipatterns problematic. Furthermore, antipatterns are usually inter-related and rarely appear in isolation. As a result, detecting which antipatterns exist in a software project is a challenging task which requires expert knowledge. SPARSE, is an OWL ontology based knowledge-based system that aims to assist software project managers in the antipattern detection process. The antipattern ontology documents antipatterns and how they are related with other antipatterns through their causes, symptoms and consequences. The semantic relationships that derive from the antipattern definitions are determined using the Pellet DL reasoner and they are transformed into the COOL language of the CLIPS production rule engine. The purpose of this transformation is to create a compact representation of the antipattern knowledge, enabling a set of object-oriented CLIPS production rules to run and retrieve antipatterns relevant to some initial symptoms. To use SPARSE, simply import the antipattern ontology (.owl file), select some symptoms and execute the system to retrieve the antipatterns relevant to the selected symptoms. SPARSE can also provide the user with further explanations on the reasons why a specific antipattern has been detected and how it is related with other detected antipatterns semantically. The example ontology .owl file that is included contains an example dataset of 31 software project management antipatterns that appear on the Web.