Using Integrated Ontologies for Determining

27 downloads 0 Views 1MB Size Report
based (XML-based) formats available online by using created Java–based ... ontology libraries are usually restricted to plain text files or some XML-based ... Ontology mapping and merging are trendy and interesting topics in Artificial Intelligent (AI) ..... aachen.de/Publications/ CEUR-WS/Vol-87/EON2003_Knublauch.pdf.
Advances in Information Sciences and Service Sciences Volume 2, Number 4, December 2010

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach 1

1

Waralak V. Siricharoen School of Science, University of the Thai Chamber of Commerce (UTCC) Vipavadee-Rangsit Rd., Bangkok, Thailand 10700 E-mail: [email protected], [email protected] doi:10.4156/aiss.vol2. issue4.7

Abstract More and more ontologies are becoming available on the web, and are increasing in number and demand. Ontologies can be beneficial for the objects identification in software engineering approach. Semantic and ontologies search engines have used to assist search and recovery of online ontologies which it is the first to find the ontologies for particular domain of interest. Considering an object oriented software engineering classic problem, is the difficulty of finding the appropriate objects for the system. The main goal of this research is to integrate the different eXtensible Markup Language based (XML-based) formats available online by using created Java–based application program to merge and modify ontologies for building object model. The author also provides the alternative option to apply off-the-shelf software as tools for the same purpose. The Java–based application program will allow the developer to choose objects (extracted from ontologies classes) and their components which are attributes, operations, and relationships. The final result of the program will be used as the sketch object diagrams of the system.

Keywords: Ontologies, Software Engineering, Object Models 1. Introduction This paper attempts to suggest the framework about using what we have to help semi-automatic process of creating object models from ontologies. The similarity between ontologies and object models in object oriented software engineering is the important issue to address in this case. From researcher point of view, the classes in object oriented are similar to classes in ontologies [1]. Many organizations try to construct ontologies for reusing and integrating. So this benefit comes to the interest of supporting software engineering as well. Ontologies are specifications of conceptualizations, used to help programs and humans share knowledge [2]. Ontology provides the fundamental in describing concepts as well as their relationships. It forms the basis in describing how information with a different data structure can be transformed from different application and/or platforms. From a technology point of view, it can be seen as a repository of classes; much like a database represents a repository of data [3]. Ontologies enhance the semantics by providing richer relationships between the terms of concepts/classes. The three major uses of ontologies are: to assist in communication between humans, to achieve interoperability and communication among software systems, to improve the design and the quality of software systems. One significant of the major advantages claimed of ontologies is the potential for the “reuse” of knowledge. We should be able to reuse available ontologies, thereby avoiding the huge effort of starting from scratch [4]. There are many ontologies available for reusing. The most of them are stored in ontology libraries. Ontology libraries are storage areas for ontologies. A number of ontology libraries currently exist, hosting various ontology files. In practice they consist of definitions of representational vocabulary, some including axiomatic theories. Most of the files here are in a machine-readable form [4]. There is no one ontology language, therefore ontology libraries are usually restricted to plain text files or some XML-based storage format. In order to achieve an effective level of ontologies reuse, we need semantic search engines capable of helping us find the ontologies we are looking for. Some ontologies search engines have been developed that can provide lists of ontologies that contain specific search terms or keywords, such as Swoogle 1. After

1

http://swoogle.umbc.edu/

- 61 -

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach Waralak V. Siricharoen

all, ontologies are meant to provide an “easy to reuse library of class objects for modeling problems and domains'' [5, 6, and 7]. This paper indicate the possibilities of using ontologies as the inputs of the semi-automatic object model construction program which will be advantage for object oriented software engineering. The approach is intended to encourage and support reuse of existing ontologies. The program extracts representations of certain classes of retrieved ontologies, and then allows the developers decide on modification object model components which are attributes, operations and relationships. At the last result, the program will generate the visualize object model as the draft for developers. The similarities between ontologies and object models are addressed in the following section. In this paper presents the selected three XML-based formats of ontologies description from online ontologies which are Resources Description Framework Schema (RDFS), Web Ontology Language (OWL), and DARPA Agent Markup Language (DAML) as the inputs to the program. A full description of the program framework and integrating methodology is given in section 3. An example of how to exploit the program to create object model from ontologies is detailed in section 4. Section 5 shows the alternatives processes of creating object model with off-the-shelf software. Section 6 is the conclusion, and the last section is the conclusion.

2. The similarities between ontologies and object models Considering ontology structure also holds definitions of classes, binary relationship between classes and attributes. Relationships may be symmetric, transitive and have an inverse. A minimum and maximum cardinality constraint for relations and attributes may be specified [9]. Concepts and relationships can be arranged in generalization hierarchies (Figure 1).

Figure 1. The example of Contact-ont ontologies2 in class hierarchy present in Protégé3 The object model is the center of object oriented software engineering; on the other hand ontology itself has the class which is the foundation of knowledge base. Ontologies are closely related to modern object-oriented software design [3]. Concepts or classes, which describe concepts in the domain, of ontologies are defined and related to each other, much like classes in an object model [10]. A class in ontologies can have subclasses that represent concepts that are more specific than the superclass as well as in object model. Slots in ontologies are the same as attributes in object models, which describe properties of classes and instances. Concepts, relationship types and attribute abstract from concrete objects or value and thus describe the ontology on the other hand concrete objects populate the concepts, concrete values instantiate the attributes of these objects and concrete relationship instantiate relationships [1]. 2 3

http://orlando.drc.com/SemanticWeb/OWL/Ontology/Contact/ver/1.0.0/Contact-ont.owl http://protege.stanford.edu/

- 62 -

Advances in Information Sciences and Service Sciences Volume 2, Number 4, December 2010

We can view ontology design as an extension of logical database design, which mean that the guidance object data modelers could be a promise approach. An ontology use the equivalent of database schema but ontology represent a much more richer information model than normal database schema, and also a richer information model compared to class/object model. It is one of the best known modeling languages for real-world projects. The Object Management Group (OMG) has recently issued a call for proposals for a XML-based ontology language which will boost interest in ontology design among software developers. In order to provide some interoperability between ontologies and tools, the plug-in has been developed in 2003 [11]. Since then, it has been adopted into routine use by many users. The conversions exist: classes can be compared to ontology classes; objects are similar to ontology instances. The attributes and relationships are comparable to ontology slots. It is suitable to attempt to highlight similarities as well as significant differences in the approach. Ontology are meant to describe and explain the world, while object model(database) are meant to describe that part of the world whose representation has to be managed for some application purpose. The bottom line is that ontologies methodologies show promise as a basis for object oriented software development methodologies.

2. Integrated Ontologies Framework Methodology and Algorithm Ontology mapping and merging are trendy and interesting topics in Artificial Intelligent (AI) research, aiming to bridge the communication gap between applications that rely on different, but overlapping, knowledge representations. A number of tools have been developed to map and/or merge ontologies semi-automatically. To get the idea how we can get and utilize ontologies, let’s start with this scenario; when searching for ontologies on the term “beach” in Swoogle (Semantic search engine), a list of 232 ontologies was returned (Figure 2).

Figure 2. Swoogle’s search result page The two ontologies on Swoogle's results list, which we are interested in, are Space4 ontology and Earthrealm5 ontology. The description of both ontologies is represented in OWL. Space ontology comprises of only one class called“beach” which is subclass of a class called “coast” (Figure 3). The class “beach” has ObjectProperty are “Geopolitical_entity”, “Continent”, “nontangential_proper_part”, “disconnected”, etc. This class has DataProperty which are “altitude” (range: integer) and “longitude” (range: float, and FunctionProperty).

4 5

http://212.119.9.180/Ontologies/0.3/space.owl http://sweet.jpl.nasa.gov/ontology/earthrealm.owl

- 63 -

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach Waralak V. Siricharoen

Earthrealm ontology has also a class called “beach” which is a subclass of a class called “CoastalRegion”. Class “CoastalRegion” has onProperty called “hasCommon2DBorderWith” and has SomeValuesFrom property from class “LandRegion” (Figure 4). The shore of a sea or ocean …



An area of sand or fine rock sloping down to the water of a sea or lake



… GPS longitude

Figure 3. Space ontology …

Figure 4. Earthrealm ontology There could be many ontologies out there that covers preferred concept, in this case is “beach”. Examples of the concept (class) “beach” from two Ontologies, it might not be sufficient, in terms of coverage, detail, etc. However, many other ontologies were found by the search engine when searching for this concept. The idea proposed in this paper is to merge at least two ontologies (or segments of ontologies) to make the new ontology (Figure 5). The small different shapes within “WWW” box

- 64 -

Advances in Information Sciences and Service Sciences Volume 2, Number 4, December 2010

represent the variety types of ontologies provided for searching. This may result in the creation of new classes and properties in the merged ontology to cover these additional knowledge representations.

Figure 5. Idea proposed of Ontology Merging Concept The main framework methodology is to use existing ontologies in different format which are DAML, OWL, and RDFS/N3 to discover the objects from ontologies description, and to develop the Java-based program to extract object by integrating ontologies, and also to use according program to identifying the object and creating object models. Figure 6 illustrates the whole suggestive framework of research. The processes required by this system are briefly described below.

Ontologies

Different Type of Ontologies: RDFS, DAML, and OWL

Merging processes by Java-based program

Figure 6. Research framework methodology In Figure 6 shows the whole proposal of framework which is started by searching for the ontologies available relevant ontologies, which will usually come in a different XML-based format language. We select them in accordance with their relevance of terms and concepts. The different dot-circle appeared in Figure 6 represents the different ontologies existing online which also have relationships to each other. As our purpose is to use only three well known format of ontologies description which are DAML, OWL, and RDFS/N3. So we select few ontologies we need, and uploaded them as a text files into the program. Then the program will extract the classes/objects and their components. At that moment program will have everything we require in order to create object model. It then merges all objects and developers will come in the part of editing objects and their components as they decide on. In this phase, we use the program as the filter of objects component which some of objects and their components will be drawn off from the object model according to developer’s decision. In this paper we try to build semi-automatic object model by comparing the concepts in the ontology as objects, slot or properties as attributes, and some properties can act as functions or operation. Data (attributes) and functions (methods, operations) are the two fundamental parts of any object. We can continue in this way relying on the decision making abilities of the developer to the final acceptable object. [10]

- 65 -

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach Waralak V. Siricharoen

This part is clarification the rationale of how to compare the components of ontologies and convert them to the object model. There are three difference formats of ontologies description as mentioned before which are DAML, OWL and RDFS/N3. The classes in ontologies are comparing as

classes in object model while the attributes of the ontologies classes are generated as DatatypeProperty. The generalization/specialization are mapped as either subClassOf or subPropertyOf depending on the stereotype used. Classes without the specification of any stereotype, represented, would generate a subClassOf. Associations or relationships in object model are translated as ObjectProperty. However, ObjectProperty items are first-class objects while associations-in are not. ObjectProperty can exist independently of classes. Associations-in are defined in terms of association ends, which are related to classifiers. While supports multiple associations, only binary associations are supported in ontologies. Binary associations have only 1 domain class and 1 range class, whereas ontologies property can have multiple domains. It is the direction of the association which determines the source and the object of ObjectProperty. The association ends are translated as Restrictions in ontologies. The property's source becomes a subClassOf Restriction. The Restriction has an onProperty value of the ObjectProperty and a to-class value of the object class. The role of the association with a single value in will generate a cardinality of 1 while an association end with many values would generate a value of minCardinality [12]. The clearest way of modeling a subproperty relationship is to model the associations involved as a association class. The ontologies language constructs for identity ( SameClassAs SamePropertyAs and SameIndividualAs can be defined in a similar style, namely by introducing a constraint with the same name [13,14].

4. How to use the Java-based program create object model This part is to explain the scenario of the created program. To help explaining how our proposed framework might work for real, consider that we are object model developers who are in need of system representing the travel domain. The ontologies are to be used for creating an object model to hold information on Accommodation, Room, Ticket, Activity etc. There are many ontologies online that covers various portions of this travel or tourism domain.

4.1. Selecting Ontologies First step is to find some potentially relevant ontologies to reuse. This may be done by searching for specific keywords as in Swoogle [3]. This process should produce a list of ontologies URIs that are potentially relevant to what ontologies we needs. Let’s assume that one of the terms that our system wrote was “Accommodation”. We went to the selected URIs as we needed and downloaded those ontologies as text files.

4.2. Merging Ontologies After uploaded text files of ontologies into Java-based program, the all objects are extracted from ontologies classes which show in Figure 7. The developers decide which objects they need by clicking in the small box in “Selected” column. After choosing the appropriate objects for the system, then the program will show all the object’s components which have been shown in tree view diagram including showing their components extracted from ontologies properties (Figure 8).

- 66 -

Advances in Information Sciences and Service Sciences Volume 2, Number 4, December 2010

Figure 7. The object selecting process

Figure 8. The tree view of selected objects Up to now, developers still can modify, extend or reduce any objects and their components they like by click on “Modify Flag” then click save. The program will remember all the decision which developers have been made in Figure 9.

Figure 9. Editing object’s components processes

- 67 -

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach Waralak V. Siricharoen

Developers extend one attributes (“hasbaggageRoom”) in Figure 9. The keyword “Added by designer” will be shown in source column. Finally the program will show the final result as sketch object model or object diagram (Figure 10).

Figure 10. The final result of object model

5. An Alternative Approach…How can we make it easier? Currently, the integrating or merging ontology processes can be done easier without creating our own program. It can be done by the advance ontology editor tools such as Protégé. We can only upload plain text files of any types ontologies from URIs, then go for the “Merge Ontologies” function. Protégé will merge ontologies and export new ontology into XMI. Then we can transform XMI to UML using UML-based represented software such as Poseidon6 or Visual Paradigm7(Figure 12). We will get the object model as we can do from the created program shown in previous section. The idea is still the same; the matter is that we use merged ontologies in order to benefit the software engineering process.

Figure 11. Merging function in Protégé 6 7

http://www.gentleware.com/ http://www.visual-paradigm.com/

- 68 -

Advances in Information Sciences and Service Sciences Volume 2, Number 4, December 2010

Figure 12. Object Model outcome from text files of ontologies

6. Conclusions and Recommendations Discovering the right objects is a difficult task for software developers. Objects are the most important starting point of software analysis and design in software engineering paradigm. During the analysis and design process, the confusion always happens between end users and developers or even among developers themselves. The developers start program with selecting objects and their properties by using discusses the requirement, and start from the requirement specification of the system. This process need developer experience and sometimes it is very time consuming. Ontologies are a defined description of concepts and relations that exist in a particular domain such as a given organization, a study field, an application area, etc. The main properties of ontologies are distribution and categorizing. Distribution means that conformity may exist between different computers based on the approval of common ontologies, that they have the same understanding of a given concept. Ontologies declare hierarchical categories and valid relationships. When two people are talking about terms or objects, they are talking about the same concept. Categorizing is linked to viewpoint when we are taking models of reality into consideration. This paper assumes the identifying objects are the challenge task and there is no accurate way to do it. The author believe that using ontologies at this phase makes the developer’s work if not easier much more understandable and organized. As a consequence they help reducing developing time and increase efficiency and effectiveness of the development process. This methodology takes into account only a part of the practical experimental. Their usefulness is based on their ability to sort out a lot of undesirable characteristics. Ontology defines what should be extracted from a program in order to build a given model of this system. The definition of ontology here corresponds closely to the classical definition of a meta-model. Generalizations and specializations used in ontologies are the same concepts used in the object-oriented software engineering process. This paper presented a new approach for construction of object model for the system in domain of interest. In this paper, we present the travel/tourism domain as illustrated example. The idea is based on reusing the increasing number of online ontologies to build new object model, rather than the costly construction of starting ontology from scratch. The proposed idea intends to take advantage of a number of technologies to complete its task, such as ontology searching, merging, and editing. Object models and ontologies have some similarities as well as differences. At the center of both object models and ontologies are objects. The difference is that while the object model should contain clearly shown structural dependencies between objects in a system, including their properties, relationships, events and processes, the ontologies are based on related terms only. On the other hand, the object model refers to the sets of concepts used to describe the generic characteristics of objects in object-oriented languages. An ontology is an explicit specification of a conceptualization. It came from philosophy, where an Ontology is “being existence”. For AI systems, what "exists" is that which can be represented, we can naturally link ontologies with object models, which represent a system-oriented map of related objects. In this paper has discussed how ontologies and object models can be mapped to each other. However, only the ontologies are not enough. The functions/methods are fundamental elements of the complete object model, consisting of developer-defined concepts (objects) and

- 69 -

Using Integrated Ontologies for Determining Objects towards Software Engineering Approach Waralak V. Siricharoen

represented as Object model. Defining those elements require additional complete ontologies of system functionality (behavior) combining with the intuitive and experience of developers. This paper deals with merging ontologies with existing methods, techniques, and tools used and shows that they can contribute significantly to accomplishment better decisions, with a positive effect on all the following stages of the development process. This paper describes a framework methodology for supporting the high-level analysis phase of object-oriented software engineering using ontologies for identification of system objects and also the alternative approach of applying the same idea but by using the off-the-shelf commercial products available on the market to build the object model from ontologies. As the author recommendation, applying proper ontologies at the first place might help selecting the right objects. However, it cannot be sure that the part extracted from the selected ontologies will maintain the quality and consistency of their foundation. The program proposed in this paper is reusing existing ontologies; the quality of those ontologies will certainly affect the quality of the merged ontology. So it comes to the point that developers are the still the significant factor for software engineering approach in term of selecting the right ontologies and editing them. Because they might want to limit the system to only those ontologies that pass certain quality, or they want to edit more components in the program to complete the object models as the results.

7. References [1] W. Vongdoiwang, and D. N. Batanov, “Similarities and Differences between Ontologies and Object Model”, In Proceedings of The 3th International Conference on Computing, Communications and Control Technologies: CCCT 2005, Austin, Texas, USA, 2005. [2] T. R. Gruber, “A Translation Approach to Portable Ontology Specifications”, Knowledge Acquisition, 5(2), 1993, pp. 199-200. [3] W. V. Siricharoen, “Ontologies and Object models in Object Oriented Software Engineering”, IAENG International Journal of Computer Science, 33(1), 2007, pp. 19-24. [4] Y. Ding, and D. Fensel, “Ontology library systems: The key to successful ontology re-use”, In International Semantic Web Working Symposium (SWWS), Stanford, CA, USA, 2001. [5] M. R. Genesereth, and R. E. Fikes, “Knowledge Interchange Format, Version 3.0 Reference Manual”. Computer Science Department, Stanford University, Technical Report Logic-92-1, March 1992. [6] M. Uschold and M. Gruninger, “Ontologies: Principles, methods and applications”, Knowledge Engneering Review, 11(2), 1996, pp. 93-155. [7] A. Maedche, B. Motik, L. Stojanovic, R. Studer, and R. Volz, “An infrastructure for searching, reusing and evolving distributed ontologies”, In Proceedings of the Twelfth International World Wide Web Conference (WWW'03), Budapest, Hungary, 2003, pp. 439-448. [8] K. Yang, A. Lo, and R. Steele, “Ontology-Based Multi-agent System for the Accommodation Industry”,2007,[Online]Retrieved: http://ausweb.scu.edu.au/aw07/papers/refereed/yang/paper.html [9] R.Volz, D.Oberle, and R. Studer, “Views for light-weight web ontologies”, In Proceeding of SAC 2003, Melbourne, Florida, USA, 2003. [10] M. Klein, D. Fensel, F. V. Harmelen, and I. Horrocks, “The Relation between Ontologies and Schema-languages: Translating OIL-specifications in XML-Schema”, 2000, [Online] Retrieved: http://www.cs.vu.nl/~mcaklein/papers/oil-xmls.pdf [11] S. Paul, “Using an Class Diagram to Model DAML+OIL Ontology” [Online] Retrieved: http://www.codeguru.com/cpp/misc/misc//article.php/c3839/ [12] G. Schreiber, “A Presentation Syntax for OWL Lite”, 2002 [Online] Retrieved: http://hcs.science.uva.nl/usr/Schreiber/docs/owl-/owl-.html [13] E.F. Kendall and M. E. Dutra, “An Introduction and Profile for the Web Ontology Language (OWL)”October,23,2002,[Online]Retrieved: http://www.omg.org/news/meetings/workshops/2002-Manual/07-2_A__Profile_for_the_Web_ Ontology_Language_OWL.pdf [14] H. Knublauch, “Case Study: Using Protege to Convert the Travel Ontology to and OWL”, Stanford Medical Informatics. Stanford University, 2003, [Online] Retrieved: ftp.informatik.rwthaachen.de/Publications/ CEUR-WS/Vol-87/EON2003_Knublauch.pdf

- 70 -