• No results found

ONTOLOGY BASED SEMANTIC KNOWLEDGE REPRESENTATION FOR SOFTWARE RISK MANAGEMENT

N/A
N/A
Protected

Academic year: 2020

Share "ONTOLOGY BASED SEMANTIC KNOWLEDGE REPRESENTATION FOR SOFTWARE RISK MANAGEMENT"

Copied!
7
0
0

Loading.... (view fulltext now)

Full text

(1)

ONTOLOGY BASED SEMANTIC

KNOWLEDGE REPRESENTATION FOR

SOFTWARE RISK MANAGEMENT

C.R.RENE ROBIN

Department of Computer Science and Engineering Jerusalem College of Engineering

Chennai-100, Tamil Nadu, India G.V.UMA

Department of Information Science and Technology Anna University, Chennai-25, Tamil Nadu, India Abstract:

Domain specific knowledge representation is achieved through the use of ontologies. The ontology model of software risk management is an effective approach for the intercommunion between people from teaching and learning community, the communication and interoperation among various knowledge oriented applications, and the share and reuse of the software. But the lack of formal representation tools for domain modeling results in taking liberties with conceptualization. This paper narrates an ontology based semantic knowledge representation mechanism and the architecture we proposed has been successfully implemented for the domain software risk management.

Keywords : Ontology, Semantic Web, Natural Language Processing, Protégé, Software risk management.

1. INTRODUCTION

Today many software development projects deal with huge risks and risks might occur in the entire development process irrespective of the type of applications. Most of the software projects try to advance current software capabilities and attain something that has not been done before while the opportunity for encroachment cannot be achieved without taking risks. So the risks must be narrowed for the success of a project, especially considering that current software market often demands updated software developed as quickly as possible. Application of knowledge-based computerised systems requires development of approaches to represent different kinds of knowledge. Nowadays modelling of static knowledge by ontologies is becoming more and more popular. This is not a surprise, that developers of IT environments try applying new approaches and methods to their domains first. There has been extensive research on ontologies for different areas of software engineering (SE) and software technology. In this paper we propose an architecture for ontology based semantic knowledge representation that helps the learners such as students, teachers and software developers to know all the areas of software risk management. For this proposed system, Software Risk Management Ontology (SRMONTO) has already been developed by the authors and it is used as knowledge base for the proposed work. The rest of the paper is organized as follows. Section 2 of this paper discuss on the related work that have been done on this area. Section 3 is dedicated for the domain description; Section 4 describes the architecture for the proposed; Section 5 describes ontology construction process used to construct SRMONTO; Section 6 presents the experimental results and Section 7 concludes the paper with some future work.

2. RELATED WORK

(2)

instances, which correspond to individual objects in the domain of discourse; each instance has a concrete value for each property of the class it belongs to. An ontology together with a set of individual instances of classes constitutes a knowledge base. An ontology defines a common vocabulary for researchers who need to share information in a domain. It includes machine-interpretable definitions (semantics) of basic concepts in the domain and relations among them. Classes are the focus of most ontologies. Classes describe concepts in the domain. A class can have subclasses that represent concepts that are more specific than the superclass. Slots describe properties of classes and instances. So developing an ontology includes defining classes in the ontology, arranging the classes in a taxonomic hierarchy, defining slots and describing allowed values for these slots, filling in the values for slots for instances[8]. Despite efforts and experience in developing ontologies, there is no agreement on a methodology for building ontologies. The ontology development methodology problem has been investigated in several projects. First attempt was by [Noy et. al, 2001] that specifies some principles and criteria for the design of ontologies. We can create a knowledge base by defining individual instances of these classes filling in specific slot value information and additional slot restrictions.

Software engineering ontology [M Pornpit Wongthongtham et. al, 2007] is a great motivation for the initiation of the proposed work. The software engineering ontology defines common sharable software engineering knowledge including particular project information. Software engineering ontology typically provides software engineering concepts – what they are, how they are related, and can be related to one another – for representing and communicating over software engineering knowledge and project information. Similar ontology for software risk management (SRMONTO) has been constructed as the part of this research and it is used as a knowledge base for the proposed work.

Then the knowledge available in SRMONTO is represented using document Semantic descriptions [Toma´sˇ Vitvar et. al, 2010] must usually co-exist with other already existing descriptions. Semantics enrich existing descriptions with additional expressivity that systems can use for advanced content manipulation and provisioning. Semantic description usually refers to a description of a resource, e.g., service, message, data, and alike expressed in a semantic language, that is, in a language that allows formal definition of semantic information (e.g., classes of concepts, relations between classes, axioms, etc.), while at the same time some logical foundations for the language exist. For example, every description in RDFS[Beckett], OWL[Michael K et. al, 2004], RIF,WSML is the semantic description. On the other hand, non-semantic description is a description of a resource, e.g., service, message, data, and alike which is captured in a language that does not allow expression of semantic information. In this respect, any description in XML, XML Schema, or any other proprietary format is the non-semantic description. Please note, that in the IT world, there might be different views on what semantics are about. People might call semantics a description of data in XML Schema with attributes’ types, restriction on values, etc. However, XML Schema does not comply with our semantic description definition as it does not allow expression of classes, their properties, nor relationships between classes, while it does not have any logical foundation. In addition, the XML is often used as a serialization format of semantic descriptions, for example, a description captured in RDFS may be formatted in XML (such serialization is called RDF/XML). Thus, XML is usually understood as the language capturing the syntax. The semantic knowledge representation definition we use is based on the Semantic Web point of view.

The knowledge of the software risk management domain has been represented by means of ontology, which has been used to guide the design of the application and to supply the system with semantic capabilities. The domain ontology was developed using Protégé tool[John H et. al, 2003][ Holger Knublauch, 2004][14], which serves as a rapid environment in which ontology designers can instantly create individuals of their ontology and experiment with semantic descriptions. With ontology-based semantic risk management, the risk management terms can be parsed with risk management ontology concepts and can recall the necessary details and relevant information. 3. Domain Description

(3)

4. Proposed Architecture

Fig.1 illustrates the software architecture for the proposed application. It consists of several modules such as domain knowledge acquisition, ontology construction, Ontology merging, ontology store and semantic knowledge representation. In the ‘domain knowledge acquisition’ module information about various areas of risk management such as risk identification, risk analysis, risk planning, risk tracking and risk control has to be collected from various sources like text book, discussion with experts, internet, magazines etc. The gathered information collectively called corpus which is the domain knowledge for the domain software risk management.

Fig.1 : System Architecture for the proposed work

Ontology merging is a technique which is used to merge the existing ontologies. A Java program has to be written to automate the translation of the individuals from XML into OWL, using the syntax of the OWL exported from Protégé as a guide. The merged ontology called SRMONTO with the possible instances is stored in a ONTOSTORE which serves as the knowledge base for the proposed system. The following are the description of various components present in the proposed architecture Fig. 1

4.1. Ontology Construction :

Ontologies are built based on data obtained from the gathered domain knowledge. These Ontologies form the basis of the complete architecture. The Ontologies are built based on various concepts identified among each of the five processes. These Ontologies have well defined hierarchies, relations and properties.

4.2. Ontology Repositories :

Store of Ontologies identified based on the 5 different process of risk management along with unique case scenarios identified for future cross reference and analysis.

Risk Identification

Risk Analysis

Risk Planning

Risk Tracking

Risk Control Domain Knowledge

C C

C

C C

C

C C

C

C C

C

C C

C

Onto I

Onto II

OntoIII

OntoIV

Onto V SRMONTO Construction

Onto IV

Ontology Merging

Onto V Onto

I

Onto II

Onto III

Ontology (SRMONTO) Repositories

(4)

4.3. Ontology Merger :

The Ontology Merger and Analyzer merges the ontology that has been created with the existing Ontology Repositories. The Prompt Algorithm is utilized for merging process.

4.4. Semantic Knowledge Representation:

This module takes care of visualizing semantic description of the concept, hierarchal arrangement of the concepts as tree based structure, super class of the concept and the instances of the particular concept.

5. Software Risk Management Ontology ( SRMONTO)

The process of constructing SRMONTO has following six stages such as studying domain-related issues, building up a methodology for developing an ontology for the software risk management area, developing sub ontologies for the target ontology, merging of sub ontologies yields the target ontology, implementing the environment and investigating applicability of the environment. Figure 2. shows the architecture used for the construction of SRMONTO.

Fig. 2 : Architecture of Ontology Construction Process

The SRMONTO restrains software risk management knowledge and also enhance the sharing of software risk management knowledge across geographically multiple users. It assists in defining information for the exchange of semantic project data and is used as a communication framework. Its end users are software engineers sharing software risk management domain knowledge as well as learner of software risk management such as teachers and students.

Figure 3 demonstrates five top levels of the developed ontology i.e. SRMONTO. Lower levels trivially expand the hierarchy therefore we have hidden them. Fig 4 shows the portion of risk analysis ontology in OWL format. Risk Analysis Ontology is sub ontology of SRMONTO. SRMONTO is an integration of Risk Identification Ontology, Risk Analysis Ontology, Risk Planning Ontology, Risk Control Ontology and Risk Tracking Ontology where N(C) is the number of concepts and N(P) is the number of relationships each ontology has.

C C

C

C C

C

Ontology C C

Protégé Experts

Domain Book

Knowledge

Domain Knowledge

Ontology Construction Process

Relationship Extraction

class Extraction

SubClass Extraction

Integration of Class, Subclass and Relationship

Semantic

(5)

Fig. 3 :The Structure of SRMONTO (Software Risk Management Ontology)

<?xml version="1.0"?> <rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:j.0="http://protege.stanford.edu/plugins/owl/protege#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#"

xmlns="http://www.owl-ontologies.com/unnamed.owl#" xml:base="http://www.owl-ontologies.com/unnamed.owl"> <owl:Ontology rdf:about=""/>

<owl:Class rdf:ID="Impact">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" >The potential impact to {your organization} if the event occurred</rdfs:comment> <rdfs:subClassOf>

<owl:Class rdf:ID="Factors"/> </rdfs:subClassOf>

</owl:Class>

<owl:Class rdf:ID="Priliminary_Risk_Analysis">

<rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"

>This method was developed in the 1950s by reliability engineers to determine problems that could arise from malfunctions of military system. Failure mode and effects analysis is a procedure by which each potential failure mode in a system is analyzed to determine its effect on the system and to classify it according to its

severity.</rdfs:comment> <rdfs:subClassOf>

<owl:Class rdf:ID="Qualitative_Methodologies"/> </rdfs:subClassOf>

… <j.0:PAL-CONSTRAINT rdf:ID="Risk_Analysis_Instance_7"/> <j.0:PAL-CONSTRAINT rdf:ID="Risk_Analysis_Instance_9"/> <j.0:PAL-CONSTRAINT rdf:ID="Risk_Analysis_Instance_6"/> </rdf:RDF>

<!-- Created with Protege (with OWL Plugin 3.4, Build 125) http://protege.stanford.edu -->

Fig. 4: A Portion of OWL based SRMONTO SRMONTO

Risk Planning

Risk Control Risk Tacking

Risk Identification

Risk Analysis

N(C)=12 N(P)=03 N(C)=48

N(P)=06 N(C) =16

N(P) =04 N(C)=80

N(P) =04 N(C)=40

(6)

6. Experimental Results

The proposed architecture has been successfully implemented. A total of 234 source files have been automatically generated by OWL document generator and each represents a concept in SRMONTO. Fig. 5 shows the snapshot of the main page used to represent the software risk management knowledge. At left side all the major areas of software risk management are displayed. The desired knowledge can be obtained by selecting the area. Here the concept ‘Risk Analysis’ has been selected and the knowledge about the concept has been effectively represented. Fig. 6 to Fig. 9 show the semantic representation of risk tracking, risk planning, risk identification and risk control respectively. Our approach is not only gives the hirarical structure but gives four different types of knowledge. After selecting a particular concept, the name of the concept is displayed at the top as ‘class’ name followed by the semantic description of the concept is displayed. Then the taxonomical arrangement of the domain starting from the top level concept to the selected concept is displayed from SRMONTO followed by the parent concept is displayed and at the end the descendents of the selected concept is displayed. The users can move further by selecting one of the descendents.

Fig. 5 : Main page contains five major categories of the domain

(7)

Fig. 8 : Representation of software risk identification knowledge

Fig. 9 : Representation of software risk control knowledge

7. Conclusion

In this paper the ontology based semantic knowledge representation for the domain software risk management has been described clearly. Since ontologies provide semantic web agents with background knowledge about domain concepts and their relationships, using it in knowledge representation which will become more effective. By using the SRMONTO the knowledge about software risk management has been clearly represented. The experimental results show how the proposed system extracts key concepts and discovers the relations among the concepts from SRMONTO and visualize four different types of knowledge of the domain. In future the proposed approach can be applied in any domains, if the formal ontology for the particular domain exits.

References

[1] Barry W. Boehm, Software Risk Management, IEEE Computer Society Press, 1993. [2] Beckett (eds.), RDF/XML Syntax Specification, W3C Recommendation, http://www.w3.org/. [3] Fairley, R. Risk management for software projects. IEEE Software 11:3 pp 57-67, 1994.

[4] Gennari et.al., The evolution of Protégé: an environment for knowledge-based systems development, International Journal of Human-Computer Studies, Volume 58, Issue 1, Pages 89-123,January 2003.

[5] Gomez-Perez A, M. Fernandez-Lopez, and O. Corcho, Ontological Engineering, Springer press, 2005.

[6] Holger Knublauch, The Protégé OWL Plugin: An Open Development Environment for Semantic Web Applications, Springer Berlin / Heidelberg, Volume 3298/2004.

[7] Karolak D W Software engineering risk management. IEEE Computer Society Press, 1996.

[8] Michael K. Smith, Chris Welty, and Deborah L. McGuinness, OWL Web Ontology Language Guide, W3C Recommendation,2004.

[9] Myerson M. Risk Management Processes for Software Engineering Models. Artech House, 1996.

[10] Noy, N. F., McGuiness D. L., Ontology Development 101: A Guide to Creating Your First Ontology, Stanford Knowledge Systems Laboratory Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report

[11] Pornpit Wongthongtham M, Elizabeth Chang, Tharam Dillon “Ontology Modelling Notations for Software Engineering Knowledge Representation” Inaugural IEEE International Conference on Digital Ecosystems and Technologies, IEEE DEST 2007.

[12] Toma´sˇ Vitvar, Vassilios Peristeras, and Konstantinos Tarabanis, “Semantic Technologies for E-Government : An Overview”, Springer Publishing Company, Incorporated, 2010.

Figure

Fig. 2 : Architecture of Ontology Construction Process
Fig. 3 : The Structure of SRMONTO (Software Risk Management Ontology)
Fig. 5 : Main page contains five major categories of the domain
Fig. 9 : Representation of software risk control knowledge

References

Related documents

1) Understand and prioritise site hazards and exposures, such as risks from combustible construction, combustible storage, hazardous materials, hazardous processes, external

Trace heating and localised heating systems Inspect/Test Weekly Check for correct function to prevent freezing including water tank and valve houses Remote alarms to

• A policy document that mandates use of a formal permit to monitor all impairments to fire protection and/or detection systems.. • Senior management support and endorsement for

• Form a dedicated project management group that will be responsible for initial screening, gathering feedback, validating action points and following changes through to completion..

This checklist should be used at sites in cold weather climates that have water-based fire protection equipment, to prevent or reduce the potential for freezing of

 Thermographic testing shall be performed on a yearly basis (twice per year where combustible materials are present) These surveys must include all electrical equipment such

Fire sprinkler systems provide a network of pipes that deliver pressurised water to a system of sprinkler heads that open when a predetermined temperature is reached, typically around

This Risk Control Guide provides information and guidance on some of the common risk exposures in which businesses who are responsible for the Protection of Children and