افزایش تشخیص ضدالگو مبتنی بر هستی شناسی با استفاده از شبکه های بیزی
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|29178||2012||13 صفحه PDF||سفارش دهید||9798 کلمه|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Expert Systems with Applications, Volume 39, Issue 10, August 2012, Pages 9041–9053
Antipatterns provide information on commonly occurring solutions to problems that generate negative consequences. The antipattern ontology has been recently proposed as a knowledge base for SPARSE, an intelligent system that can detect the antipatterns that exist in a software project. However, apart from the plethora of antipatterns that are inherently informal and imprecise, the information used in the antipattern ontology itself is many times imprecise or vaguely defined. For example, the certainty in which a cause, symptom or consequence of an antipattern exists in a software project. Taking into account probabilistic information would yield more realistic, intelligent and effective ontology-based applications to support the technology of antipatterns. However, ontologies are not capable of representing uncertainty and the effective detection of antipatterns taking into account the uncertainty that exists in software project antipatterns still remains an open issue. Bayesian Networks (BNs) have been previously used in order to measure, illustrate and handle antipattern uncertainty in mathematical terms. In this paper, we explore the ways in which the antipattern ontology can be enhanced using Bayesian networks in order to reinforce the existing ontology-based detection process. This approach allows software developers to quantify the existence of an antipattern using Bayesian networks, based on probabilistic knowledge contained in the antipattern ontology regarding relationships of antipatterns through their causes, symptoms and consequences. The framework is exemplified using a Bayesian network model of 13 antipattern attributes, which is constructed using BNTab, a plug-in developed for the Protege ontology editor that generates BNs based on ontological information. Highlights ► The antipatterns OWL ontology contains sources of uncertainty. ► Ontologies cannot represent uncertainty. ► Probabilistic antipattern information can be added in the ontology. ► BNTab Protégé plug-in allows ontology based Bayesian network generation.
Applying a previously successful solution to a similar problem is one of the established ways in which humans solve problems and is the main concept behind design patterns. After the emergence of design patterns, the pattern community slowly developed problem–solution pairs in which the solution is not beneficial and leads to further difficulties and problems. Antipatterns are the next generation of design pattern research and are related with patterns in the sense that design patterns can evolve into antipatterns. An antipattern is a new form of pattern that has two solutions. The first is a problematic solution with negative consequences and the other is a refactored solution, which describes how to change the antipattern into a healthy solution (Brown, McCormick, & Thomas, 2000). The second solution is what makes antipatterns beneficial. The difference is in the context: An antipattern is a pattern with inappropriate context and is particularly useful in the case of knowledge representation, because it captures experience and provides information on commonly occurring solutions to problems that generate negative consequences (Brown, Malveau, McCormick, & Mowbray, 1998). The process that is followed by a pattern to change its solution into a better one is called refactoring. This solution has an improved structure that provides more benefits than the original solution and refactors the system toward minimized consequences. There exist different categories of antipatterns. For the purposes of this paper, software project management antipatterns are used in order to exemplify the proposed approach. In previous work, Bayesian Networks (BNs) (Settas, Bibi, Sfetsos, Stamelos, & Gerogiannis, 2006) and the formalism of ontology (Settas and Stamelos, 2007 and Settas et al., 2011) have been used separately in order to produce statistical and extensible ontological models of antipatterns. Bayesian networks provided a framework for project managers, who would like to model the cause-effect relationships that underlie an antipattern, taking into account the inherent uncertainty of a software project. An antipattern BN model provides the precise mathematical model of a project management antipattern and can be used to measure and handle uncertainty in mathematical terms. By applying the formalism of ontology (Settas and Stamelos, 2007 and Settas et al., 2011), a common lexicon of terms that can be communicated across people and software tools was defined. This provided the basis for the application of further methodology in order to address similar antipattern ontologies and implement SPARSE (Settas et al., 2011), an ontology-based intelligent system that can detect antipatterns based on the symptoms that appear during a software project. This system has recently been proposed for teaching and learning using antipatterns (Settas & Cerone, 2011). In this paper, we intertwine the formalisms of Bayesian Networks (BNs) and Ontologies. Ontology is a methodology that has been widely used for the development of expert systems (Liao, 2005). Bayesian networks are also widely used in expert systems for prognosis and prediction purposes (Ferreiroa, Arnaiza, Sierrab, & Irigoienb, 2012). The research goal in this paper is to further develop the existing antipattern ontology knowledge base by using Bayesian network analysis. Uncertainty concerns every aspect of ontologies (Taniar and Rahayu, 2006 and Pan et al., 2005) and it is one of the most important criteria that need to be taken into account in the selection of an appropriate knowledge representation (Richardson & Domingos, 2003). The task of capturing incomplete or uncertain antipattern knowledge is essential but is often not explored based on assumptions on the certainty and accuracy of software project data. For example, the certainty regarding the existence of the relationship between a specific cause and symptom of an antipattern. Support for uncertainty is essential for intelligent systems that support antipatterns, such as SPARSE because the creation of new antipatterns using the antipattern OWL ontology often relies on information from past project which comes from experience, memory and intuition. Antipattern ontology contributors might often rely on their own expert judgement to define how antipatterns might be linked, which has a clear impact on the effectiveness of the antipattern detection process. By incorporating BNs in the antipattern OWL ontology, we can represent probabilistic information regarding antipatterns and their attributes. As a result, the detection process can be improved by providing users not only a set of antipatterns that exist in a software project based on the symptoms they selected, but also to quantify, measure and visualize the uncertainty that lies behind antipattern attributes and relationships. At the moment there exist a variety of ontology editors offering different functionality. Protege is one of the most widely used open source ontology editors and was chosen for the implementation of SPARSE and the antipattern OWL ontology (Settas et al., 2011). Further development of the ontology in previous work tackled the challenge of providing a web-based collaborative environment by using WebProtege1 (Tudorache, Vendetti, & Noy, 2008), which is a web-client for Collaborative Protege. There is a variety of frameworks and tools under development in order to support the study of uncertainty in ontologies. BayesOWL framework (Ding et al., 2004 and Pan et al., 2005) can translate an OWL ontology into a Bayesian Belief Network structure, but it has still not been fully developed. Other frameworks currently under development such as POWL (Hung, Szeto, & Deng, 2009) and PR-OWL (Carvalho, Laskey, & Costa, 2010) can extend OWL vocabulary for representing uncertainty in different expressivities. These frameworks are being studied by the Uncertainty Reasoning for the World Wide Web Incubator Group (URW3-XG) (Laskey & Laskey, 2008) but at the moment they lack compatibility with OWL. In this paper, the issue of quantifying uncertainty in the antipattern ontology is addressed by using the BNTab Protege plugin. BNTab is the only plug-in that is currently available for Protege that can generate Bayesian networks based on ontologies. The BNTab2 plug-in enables users to efficiently generate Bayesian networks based on existing ontologies. The main contribution of this paper is the application of Bayesian networks on the antipattern OWL ontology. This approach incorporates probabilistic information in the ontology and allows the semi-automatic generation of BNs using BNTab. In that way, BNTab can illustrate the uncertainty that exists in antipatterns and antipattern attributes and enhance the antipattern detection process. Ultimately, the BNTab plugin will be used within the web-based collaborative version of the antipattern ontology (Settas, G., Stamelos, & Bassiliades, 2011) and antipattern contributors will be able to use the approach proposed in this paper simultaneously through the Web. This will ensure that all antipattern ontology users are editing the most up-to-date version of the ontology. SPARSE can benefit from this approach by including associated BNs with the resulting detected antipatterns in order to visualize the uncertainty of the data used for the detected antipatterns. This paper is divided in six sections, which are organized as follows: Section 2 describes the background, the related work and the literature review used in our research. Section 3 introduces the reader to Bayesian networks and the BN analysis used in the remaining sections. Section 4 describes the antipattern ontology and presents a short description of the rules and reasoning used in SPARSE in order to detect antipatterns. Section 5 presents the process of extending the OWL ontology in order to describe probabilistic information. Furthermore, the application of BNTab in the antipattern ontology is described and the approach is exemplified using an example of a software project management antipattern. Finally, in Section 6, the findings are summarized, future work is proposed and conclusions are drawn.
نتیجه گیری انگلیسی
This paper studied the incorporation of BNs in the antipattern OWL ontology. The proposed approach incorporated probabilistic information in the ontology and allowed the semi-automatic generation of BNs using BNtab, a Protege plug-in. BNtab successfully illustrated the uncertainty that exists in antipatterns. The proposed methodology reduces the complexity of modeling Bayesian networks by using high-level concepts and relations to integrate relevant sub-concepts into the Bayesian network, and provides by the usage of ontologies the possibility of easily maintaining the underlying knowledge body of Bayesian networks. The technology of antipatterns can benefit from this technology by using it with the web-based collaborative version (Settas et al., 2011) of the antipattern ontology. As a result, antipattern contributors will be able to produce BN models within the environment of Protege and add probabilistic information while editing or creating antipatterns. Ultimately, the SPARSE intelligent system will benefit from this approach by including associated BNs with the resulting detected antipatterns that can visualize the uncertainty of the data used for the detected antipatterns. For the purposes of this work both a machine learning formalism and an ontological formalism were used. Bayesian modeling proved to be particularly useful and well suited to the antipattern ontology by capturing and by illustrating the cause and effect relationships between antipattern variables and by providing a solid graphical representation of the probabilistic relationships among the set of variables. This formalism allowed further advantages for example its use in cases of missing data, using expert judgement. The proposed construction model used a semi-automated BN construction process using BNtab to exemplify the approach. Future work will redevelop SPARSE in order to take advantage of the proposed uncertainty based reasoning. Further limitations of the applied method (Fenz et al., 2009) are: (i) functions for calculating conditional probability tables are not provided by the ontology and have to be modeled externally and (ii) human intervention is still necessary if the ontology provides a knowledge model which does not exactly fit the domain of interest. Further research has to address these limitations to provide a more efficient method for creating and updating ontology-based antipattern Bayesian networks.