25.01.2014 Views

Ontology Modeling Profile, an Extension for the ... - ResearchGate

Ontology Modeling Profile, an Extension for the ... - ResearchGate

Ontology Modeling Profile, an Extension for the ... - ResearchGate

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

International Journal of Computer Applications (0975 – 8887)<br />

Volume 6– No.12, September 2010<br />

major benefits of profiles is that <strong>the</strong>y c<strong>an</strong> be h<strong>an</strong>dled in a natural<br />

way by UML tools [18].<br />

4. USING UML AND MDA-BASED<br />

STANDARDS IN ONTOLOGICAL<br />

ENGINEERING<br />

The import<strong>an</strong>ce <strong>an</strong>d use of ontology was exp<strong>an</strong>ded from being a<br />

basic building block of <strong>the</strong> Sem<strong>an</strong>tic web [14], to participate in<br />

m<strong>an</strong>y software applications <strong>an</strong>d <strong>the</strong> critical sem<strong>an</strong>tic foundation<br />

<strong>for</strong> m<strong>an</strong>y rapidly exp<strong>an</strong>ding technologies such as software agents,<br />

e-commerce <strong>an</strong>d knowledge m<strong>an</strong>agement [10]. This import<strong>an</strong>ce<br />

caused <strong>for</strong> m<strong>an</strong>y new tools to be developed to accelerate <strong>an</strong>d aid<br />

in building , representation, design <strong>an</strong>d construction of domain<br />

ontologies [20]. Most of <strong>the</strong> current Sem<strong>an</strong>tic Web ontologies<br />

are developed in AI laboratories. Because of this, <strong>the</strong> use of<br />

ontologies by Software engineers professionals <strong>an</strong>d researchers<br />

c<strong>an</strong> be seen as <strong>an</strong> additional learning experience, <strong>an</strong>d in some<br />

cases, of considerably great ef<strong>for</strong>t. Ano<strong>the</strong>r aspect is visualization<br />

<strong>for</strong> complex ontologies that need to be represented in a way that<br />

uses <strong>for</strong>mal notation with known tools.<br />

class), which by <strong>the</strong>mselves belong to special concept (class). A<br />

list of ontology classes exist each <strong>for</strong> different purpose. From<br />

describing a naturally occurring concepts(OWL:Class) to list of<br />

existing individual(enumeration) to concepts that is deduced<br />

from o<strong>the</strong>r concepts ei<strong>the</strong>r by union, intersection or complement.<br />

OWLRestriction class is responsible <strong>for</strong> setting values restriction<br />

or cardinality restrictions if exists. Individuals which are<br />

different from UML objects (inst<strong>an</strong>ces) are members of a<br />

classes. Ano<strong>the</strong>r <strong>an</strong>d import<strong>an</strong>t difference between Individual<br />

<strong>an</strong>d Object is that, individuals may be specified independently<br />

<strong>an</strong>d might not have <strong>the</strong> same set of properties that <strong>the</strong> class has,<br />

such as (sameAs, DifferentFrom) [17].<br />

The third shared concepts between UML <strong>an</strong>d ODM, but has<br />

completely different representation is property. Properties in<br />

UML , which are ei<strong>the</strong>r attributes or association's ends. As seen<br />

in Figure 3 properties appears ei<strong>the</strong>r in <strong>the</strong> class as <strong>an</strong> attribute,<br />

or in <strong>the</strong> association as <strong>an</strong> association end. So Property c<strong>an</strong> never<br />

be by itself in a model. It should be owned by some kind of class<br />

or association [2].<br />

Researchers have investigated that a strong coupling exists<br />

between <strong>the</strong> knowledge engineering <strong>an</strong>d software engineering<br />

phases of a knowledge-based system. These researches tried to<br />

converge between MDA st<strong>an</strong>dards <strong>an</strong>d ontology developments.<br />

Applying MDA techniques in developing ontologies has been<br />

discussed, focusing on what is common among <strong>the</strong>m [24].<br />

OMG ,as a consortium which develops st<strong>an</strong>dards <strong>for</strong> various<br />

aspects of software engineering which are widely used in<br />

industry, including UML, has published a RFP (Request <strong>for</strong><br />

Proposal) that tries to define a suitable l<strong>an</strong>guage <strong>for</strong> modeling<br />

Sem<strong>an</strong>tic Web ontology l<strong>an</strong>guages in <strong>the</strong> context of MDA. This<br />

RFP was responsible <strong>for</strong> modeling Web <strong>Ontology</strong> L<strong>an</strong>guage,<br />

which is a W3C ef<strong>for</strong>t. This metamodel will make ontology being<br />

used in a computing application. <strong>Ontology</strong> <strong>the</strong>n could be<br />

represented as some sort of computer-readable data structure [3].<br />

Although <strong>an</strong> ontology is a kind of data model, <strong>the</strong> UML<br />

metamodel, which is a rich in <strong>the</strong> purpose of representing data,<br />

widely used, <strong>an</strong>d well supported with software tools, was not<br />

being suitable <strong>for</strong> developing ontologies. The Web <strong>Ontology</strong><br />

l<strong>an</strong>guage has m<strong>an</strong>y shared concepts with <strong>the</strong> UML metamodel.<br />

But <strong>the</strong>se concepts have m<strong>an</strong>y deep differences, that make each<br />

has unique representation m<strong>an</strong>ner.<br />

The most import<strong>an</strong>t element is Class . A class in UML is a kind<br />

of classifier whose features are attributes <strong>an</strong>d operations. In<br />

UML, inst<strong>an</strong>ces (Objects) usually have more me<strong>an</strong>ing th<strong>an</strong> do<br />

classifiers because classifiers represent at least <strong>the</strong> first level of<br />

abstraction. Inst<strong>an</strong>ces under <strong>the</strong> same classifier help people<br />

underst<strong>an</strong>d what classifiers are. But class is not a collection of<br />

inst<strong>an</strong>ces (group of objects sharing <strong>the</strong> same description). Saying<br />

that "a class is a set of objects" is simply incorrect. Class is just a<br />

mold defining all <strong>the</strong> properties of inst<strong>an</strong>ces [2].<br />

While in ODM ,<strong>the</strong> concept Class refers to <strong>an</strong>y concept that<br />

could be modeled as a resource. The concept could be<br />

inst<strong>an</strong>tiated to create <strong>an</strong> individual or specified by having<br />

properties. A Class is a set of individuals (in contrast to UML<br />

Figure 3: Class <strong>an</strong>d Property concepts of <strong>the</strong> Kernel package.<br />

Unlike properties in ODM, properties are independent, st<strong>an</strong>d<br />

alone concepts. There exits two types of properties,<br />

DatatypeProperty <strong>an</strong>d ObjectProperty. The difference between<br />

<strong>the</strong>m is in <strong>the</strong> type of <strong>the</strong> r<strong>an</strong>ge <strong>the</strong>y link individual with.<br />

DatatypeProperties link individuals with primitive types value<br />

(e.g Integer, Boole<strong>an</strong>, String …), while ObjectProperties link<br />

individuals with individuals (e.g colleagueOf , hasParent..).<br />

Generally one c<strong>an</strong> map datatypeproerty to UML attribute while<br />

objectProperty could serve as UML association [13].<br />

In order <strong>for</strong> ODM to support well-known Sem<strong>an</strong>tic Web ontology<br />

l<strong>an</strong>guages, it has two separated metamodels, namely OWL <strong>an</strong>d<br />

RDFS Metamodels. These l<strong>an</strong>guages are W3C st<strong>an</strong>dards which<br />

<strong>for</strong>m a basis <strong>for</strong> <strong>the</strong> Sem<strong>an</strong>tic Web, thus are <strong>the</strong> central part of<br />

<strong>the</strong> ODM. O<strong>the</strong>r metamodels have two-way mappings to <strong>an</strong>d<br />

from RDFS/OWL. The o<strong>the</strong>r metamodels are Common L<strong>an</strong>guage<br />

(CL) metamodel, Topic Maps (TM) metamodel, <strong>an</strong>d <strong>the</strong><br />

Description Logics (DL) metamodel [3].<br />

23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!