On Marrying Ontology and Software Technology

closebunkieAI and Robotics

Nov 15, 2013 (3 years and 11 months ago)

193 views

<
is

web
>

Information Systems & Semantic Web

University of Koblenz


Landau, Germany

On Marrying Ontology and

Software Technology



Ontological and Metamodeling Technical Spaces

Steffen Staab

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

2

of 42

Andreas Winter

Fernando Parreiras

Ontologies & Software Tech: Starting Point

Ontologies

OWL

F
-
Logic

Model
theory

Well
-
founded
semantics

RDF

<
is

web
>

@Koblenz

IST


Institute for

Software Technology

@Koblenz

UML

MDA

XMI

Metamodeling

Semantic
s

Gramma
r

Metamodeling

RDF

OWL

MDA

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

3

of 42

Andreas Winter

Fernando Parreiras

Schism?

Ontologies

OWL

F
-
Logic

Model
theory

Well
-
founded
semantics

RDF

<
is

web
>

@Koblenz

IST


Institute for

Software Technology

@Koblenz

UML

MDA

XMI

Metamodeling

Seman
-

tics

Gramma
r

Metamodeling

RDF

OWL

MDA

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

4

of 42

Andreas Winter

Fernando Parreiras

Synthesis!

Ontologies

OWL

F
-
Logic

Model
theory

Well
-
founded
semantics

RDF

<
is

web
>

@Koblenz

IST


Institute for

Software Technology

@Koblenz

UML

MDA

XMI

Metamodeling

QV
T

Gramma
r

Metamodeling

RDF

OWL

MDA

RDF

Semantic
s

It‘s

the

process,

stupid!

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

5

of 42

Rationale of this Talk

Core Statements:

Ontologies are yet another

type of Conceptual Models




Ontologies are used differently
and with different technology
than UML usually is




Hypotheses:

1 Ontologies and SE modeling
may be integrated by MDE!




2 New possibilities for SE!

3 New possibilities for ontologies
and ontology technologies!



A Generic Process of MDA + Ontology Technologies

(Classification Approach for MDA + Ontologies)

Advantages

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

6

of 42

Agenda of this Talk

Part 1: What is an ontology?


Definition


Purpose, Usage, Formality, Type, Communities


Part 2: Four cases of MDA & ontology technologies


Model checking


Model enrichment


Ontology engineering


Hybrid models


Part 3: A radical change


Ontologies in the Semantic Web

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

7

of 42

Definition: What is an ontology?

(in computer science)

Based on Gruber 93:


An Ontology is a


formal specification


of a
shared



conceptualization


of a
domain

of interest





Executable, Discussable



Group
of persons



About
concepts



Between

application


and „unique truth“

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

8

of 42

Purpose: What is an ontology?

To make domain assumptions
explicit


Easier to change domain assumptions


Easier to understand and update legacy data


To separate
domain knowledge

from operational
knowledge


Re
-
use domain and operational knowledge
separately


A
community reference

for applications


To
share a consistent understanding

of what
information means

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

9

of 42

Usage: What is an ontology?

Front
-
End

Back
-
End

Topic Maps

Extended ER
-
Models

Thesauri

Predicate Logic

Semantic Networks

Taxonomies

Ontologies

Navigation

Queries

Sharing of Knowledge

Information Retrieval

Query Expansion

Mediation

Reasoning

Consistency Checking

EAI

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

10

of 42

lightweight

heavyweight

Text
Corpora

Data

Dictionaries

(EDI)

Ad
-
hoc

Hierarchies

(Yahoo!)

Folks
-
onomies

Glossaries

Thesauri

XML

DTDs

Principled

Informal

Hierarchies

DB

Schema

XML

Schema

Data Models

(UML, STEP)

Formal

Taxonomies

Frames

(OKBC)


Description

Logics



Glossaries &

Data Dictionaries

Thesauri,

Taxonomies

MetaData,

XML Schemas,

Data Models

Formal Ontologies

& Inference

First
-
order,

Higher
-
order,

Modal Logic

F
-
Logic



Formality: What is an ontology?

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

11

of 42

Example: What is an ontology?

Foundational Model of Anatomy


Represents structures ranging from macromolecular
complexes to body parts


Contains



~70,000 distinct concepts


~ 110,000 terms


140 relations


Metaclasses to define class
-
level properties


Attributed relations


Different types of part
-
whole, location, and other spatial
relations


Synonyms

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

12

of 42

Agenda of this Talk

Part 1: What is an ontology?


Definition


Purpose, Usage, Formality, Type, Communities


Part 2: Four cases of MDA & ontology technologies


Model checking


Model enrichment


Ontology engineering


Hybrid models


Part 3: A radical change:


Ontologies in the Semantic Web


<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

13

of 42

Model
-
driven Architecture

Classical MDA

PIM

PSM

Code

JAVA

UML

UML

A Standard Process

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

14

of 42

MDA & Ontology Case 1: Model Checking

Reasoning on UML class diagrams

Classical MDA

PIM

PSM

Code

Translation

OWL

JAVA

UML

UML

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

15

of 42

Model Checking

Reasoning on UML class diagrams allows for checking:



Consistency

of the diagram
:

Can the classes be populated?



Classification

to
identify the possible omission of an
explicit generalization.



Equivalence

among classes

to discover redundancy.



Refinement

of properties
to apply stricter multiplicities or
typing than the ones explicitly specified in the diagram.

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

16

of 42

Model Checking: Example

UserAccount

User

0..n

1

0..n

1

Owns

Student

Uses

{complete, disjoint}

WebPortalAccount

Researcher

1..n

0..1

Researcher


is disjoint from

Student

if
Researcher

is

empty,
User

and

Student

will be

redundant

INCONSISTENT

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

17

of 42

Model Checking: Example

UserAccount

User

0..n

1

0..n

1

Owns

Student

Uses

{complete, disjoint}

WebPortalAccount

Researcher

1..n

0..1

INCONSISTENT

Advantage for SE:

Models with provably higher quality

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

18

of 42

MDA & Ontology Case 2:
Model Enrichment

Platform Independent Model Transformation based on
Datalog
-
style Inferences

Classical MDA

PIM

PSM

Code

Translation

JAVA

UML

UML

TRIPLE

OWL

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

19

of 42

Parreiras05 :

MScThesis

Model Enrichment: Example

// Mapping Mab

FORALL Ma @Mb(Ma) {


//
MScThesis2Thesis


FORALL X
MScThesis
[typeOf
-
>X]@Ma
--
> Thesis
[typeOf
-
>X]


//
PhDThesis2Thesis


FORALL X
PhDThesis
[typeOf
-
>X]@Ma
--
> Thesis
[typeOf
-
>X]

}

Parreiras05 :

MScThesis

Staab98:

PhDThesis

M0

M1

Model
Ma

Model

Mb

instanceOf

Publication

Article

Entry

MScThesis

Thesis

PhDThesis

Staab98:

PhDThesis

Transformation

Mab

PhDThesis2Thesis

MScThesis2Thesis

MScThesis2Thesis

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

20

of 42

Parreiras05 :

MScThesis

Model Enrichment: Example

Parreiras05 :

MScThesis

Staab98:

PhDThesis

M0

M1

Model
Ma

Model

Mb

instanceOf

Publication

Article

Entry

MScThesis

Thesis

PhDThesis

Staab98:

PhDThesis

Transformation

Mab

PhDThesis2Thesis

MScThesis2Thesis

MScThesis2Thesis

Advantage for SE:

Logics
-
based data and model transformation can be performed

at modeling time, at run
-
time and over relational databases.

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

21

of 42

MDA & Ontology Case 3:
Ontology Engineering

Visual Modeling of OWL DL Ontologies Using UML


Classical MDA

PIM

PSM

Code

Generation

JAVA

UML

UML

OWL

OWL

TRIPLE

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

22

of 42

Logical Concept
Expression

PurchaseOrder


DutyFreeOrder


Country


Customer


EU

{ }



hasCustomer

memberOfTZ

livesIn

«owl::someValuesFrom»





«owl::someValuesFrom»





memberOfTZ

hasCustomer

livesIn

TradeZone


{}

«rdfs:domain»

«rdfs:range»

«rdfs:domain»

«rdfs:range»

«rdfs:domain»

«rdfs:range»

«owl::equivalentClass»

Ontology Engineering: Example

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

23

of 42

Logical Concept
Expression

PurchaseOrder


DutyFreeOrder


Country


Customer


EU

{ }



hasCustomer

memberOfTZ

livesIn

«owl::someValuesFrom»





«owl::someValuesFrom»





memberOfTZ

hasCustomer

livesIn

TradeZone


{}

«rdfs:domain»

«rdfs:range»

«rdfs:domain»

«rdfs:range»

«rdfs:domain»

«rdfs:range»

«owl::equivalentClass»

Ontology Engineering: Example

Advantages for Ontology Engineering:

Visual models may be more accessible.

UML modeling paradigm is known by many software developers.

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

24

of 42

MDA & Ontology Case 4:
Hybrid Models

Integrating UML Models and OWL Ontologies:
TwoUse

TwoUse: Transforming and Weaving Ontologies and UML for SE

Classical MDA

PIM

PSM

Code

OWL

JAVA

UML

UML

Previously:

Ontology
Engineering

Software
Engineering

TwoUse:


Combined
Ontology &
Software
Engineering

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

25

of 42

MDA & Ontology Case 4:
Hybrid Models

Case: Integrating UML Models and OWL Ontologies with TwoUse

PIM

PIM

Code

. . .

M2

M1

InstanceOf

PIM

UML Profiled

Diagram

OWL

Ontology

UML Class

Diagram

Java Code

TwoUse

Model

OWL

(ODM)

UML/OCL

TwoUse

Metamodel

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

26

of 42

FreeTradeZone

Country

Customer

Purchase
Order

getCharges()

Product

Name: String

UML

+hasProduct

+has

Resident

+memberOfTradeZone

+hasMember

+hasOrder

+hasCustomer

+livesIn

Hybrid Model: Example UML

1

0..n

1..n

1

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

27

of 42

FreeTradeZone

Country

Customer

Purchase
Order

getCharges()

+has

Resident

+memberOfTradeZone

+hasMember

+hasOrder

+hasCustomer

+livesIn

Hybrid Model: Example OWL

<<owlValue>>

+{someValuesFrom = CountryFromEU}

<<owlRestriction>>

CountryFromEU

<<owlValue>> {hasValue = eu}

memberOfTradeZone : FreeTradeZone

livesIn

<<owlRestriction>>

OrderFromEUCustomers

<<equivalentClass>>

+{someValuesFrom= CustomersFromACountry }

<<owlValue>>

<<owlRestriction>>

CustomerFromEUCountry

DutyFreeOrder
=

OrderFromEUCustomer

1

0..n

1..n

1

<<owlRestriction>>

DutyFreeOrder

hasCustomer

OrdersFromEUCustomers

hasCustomer

SOME


CustomerFromEUCountries

OWL
(ODM)

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

28

of 42

FreeTradeZone

Country

Customer

Purchase
Order

getCharges()

TwoUse

Hybrid Model: Example TwoUse

<<owlValue>>

<<ocldlExpression>>

{context PurchaseOrder::getCharges() : Real

body: if self.isOwlInstanceOf(DutyFreeOrder)


then 0% else 60% endif}


+{someValuesFrom = CountryFromEU}

<<owlRestriction>>

CountryFromEU

<<owlValue>> {hasValue = eu}

memberOfTradeZone : FreeTradeZone

livesIn

<<owlRestriction>>

OrderFromEUCustomer

<<equivalentClass>>

+{someValuesFrom= CustomerFromACountry }

<<owlValue>>

<<owlRestriction>>

CustomerFromEUCountry

<<owlRestriction>>

DutyFreeOrder

hasCustomer

Product

Name: String

OWL

UML

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

29

of 42

PIM

PIM

Code

. . .

M2

M1

InstanceOf

PIM

UML Profiled

Diagram

OWL

Ontology

UML Class

Diagram

Java Code

TwoUse

Model

OWL

(ODM)

UML/OCL

TwoUse

Metamodel

Hybrid Model: Example TwoUse

<<ocldlExpression>>

{context PurchaseOrder::getCharges() : Real

body: if self.isOwlInstanceOf(DutyFreeOrder)

then 0% else 60% endif}


TwoUse

OWL

UML

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

30

of 42

TwoUse Models (excerpt)

M2

M1

Class

DataType

AnyType

OwlAny

owlIsInstanceOf()

OclAny

oclIsKindOf()

oclIsTypeOf()

PuchaseOrder

Product

TUClass

OWLClass

CustomerFromEUCountry

Classifier

InstanceOf

context PurchaseOrder::getCharges() : Real


body: if self.owlIsInstanceOf(DutyFreeOrder)


then 0.00 else 0.60 endif}

getCharges()

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

31

of 42

TwoUse Models (Excerpt)

M2

M1

Class

DataType

AnyType

OwlAny

owlIsInstanceOf()

OclAny

oclIsKindOf()

oclIsTypeOf()

PuchaseOrder

Product

TUClass

OWLClass

Country

Classifier

InstanceOf

context PurchaseOrder::getCharges() : Real


body: if self.owlIsInstanceOf(DutyFreeOrder)


then 0.00 else 0.60 endif}

getCharges()

Advantages for SE & Ontology Engineering:

Joint engineering of ontologies and SE models.

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

32

of 42

Cases seen today (there are more):

1.
Model Checking
, e.g. R
easoning on UML class diagrams (Berardi, 2005)

2.
Model Enrichment
, e.g. Platform independent model transformation based on
TRIPLE (Billig et. al)

3.
Ontology Modeling
, e.g. Neon Project (Haase et al., 2007)

4.
Hybrid Approach,
TwoUse: Integrating UML Models and OWL Ontologies
(Parreiras, Staab, Winter, 2007)

MDA with Ontologies

Classical MDA

PIM

PSM

Code

OWL

TRIPLE

OWL

JAVA

UML

UML

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

33

of 42

Revisiting Hypotheses

Hypotheses:

1 Ontologies and SE

modeling integrated

by MDE (specifically MDA)!




2 New possibilities for SE!

3 New possibilities for

ontologies and ontology
technologies!



A Generic Process

Advantages

Classical MDA

PIM

PSM

Code

OWL

TRIPLE

OWL

JAVA

UML

UML

Joint engineering of ontologies and SE
models.

Visual models more accessible.

UML modeling paradigm is well known.

Logics
-
based data and model
transformation.

Models with provably higher quality.

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

34

of 42

Open Questions for MDE + Ontologies


Language(s) and Metamodels:


“Best” profiles, metamodels, ontology languages


Syntactic and semantic translations between ontology
languages


Other diagram types (beyond class diagrams)


Even more scalable ontology reasoning technologies


Case Studies


Need for non
-
trivial case studies


Best Practices of where and

how to use MDE and ontologies

EU MOST

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

35

of 42

Agenda of this Talk

Part 1: What is an ontology?


Definition


Purpose, Usage, Formality, Type, Communities


Part 2: Four cases of MDA & ontology technologies


Model checking


Model enrichment


Ontology engineering


Hybrid models


Part 3: A radical change:


Ontologies in the Semantic Web

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

36

of 42

Ontologies are not the Semantic Web

Ontologies


卥man瑩c Web

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

37

of 42

PostDoc

Professor

rdf
s
:subClass

Research Ontolog
y

swrc.onto.org

Ontologies and the Semantic Web

<swrc:
Professor

rdf:ID="
person_sst
">


<swrc:
name
>Steffen Staab


</swrc:
name
>

...

</swrc:
Professor
>


http://www.uni
-
koblenz.de/~staab

rdf:type

rdf:type

Meta
-

data

<swrc:
PostDoc

rdf:ID="
person_sha
">


<swrc:
name
>Siegfried
Handschuh</swrc:
name
>




...

</swrc:
PostDoc
>

W
eb


page

http://www.deri.ie/~sha

URL

<swrc:
cooperatesWith

rdf:resource =


"http://www.uni
-
koblenz.de/~staab/

#
person_sst
"/>

swrc:
cooperatesWith

Employee

Person

rdf
s
:subClass

cooperatesWith

rdf
s
:Range


rdf
s
:Domain

Employee Ontolog
y

www.employee.org

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

38

of 42

A Network of Ontologies

O
1

O
1


priorVersionOf

O
2

M
1,2

relatedWith

source

target

O
3

O
4

O
1
‘‘

incompatibleWith

M
1‘,2

source

priorVersionOf

© P. Haase

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

39

of 42

Networked Ontology Metamodel

OWL

Metamodel

Rule

Metamodel

Mapping

Metamodel

Modularization

Metamodel

Ontology Languages / Formalisms

OWL

Datalog

F
-
Logic

E
-

Connections

C
-
OWL





Language Mappings / Groundings

© P. Haase

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

40

of 42

Open Questions for Networked Ontologies


Language(s): for Representation of Networked Ontologies


Difficult trade
-
off: Expressive, but not too complex!


Our proposal: Networked RDF Graphs (Schenk & Staab, 2007)



Semantics: Too many different, often counterintuitive,
semantics around now!



Maintenance and

Evolution



Autonomy of

Ontology Owners!



How to integrate Networked Ontologies into SE?

O
1

O
1


priorVersionOf

O
2

M
1,2

relatedWith

source

target

O
3

O
4

O
1
‘‘

incompatibleWith

M
1‘,2

source

priorVersionOf

<
is

web
>

ISWeb
-

Information Systems
& Semantic Web


Steffen Staab

staab@uni
-
koblenz.de



ESEC/FSE 2007

41

of 42

Now and Near Future


EU Integrated Project „NeOn“ (2006
-
2010)


Modeling Networked Ontologies


NeOn Toolkit, http://www.neon
-
toolkit.org/



EU STReP „MOST“ under negotiation

(i.e. highly probable to start 2008)


Integrating metamodeling, transformations and reasoning


Partners


SAP (D), Comarch (PL), BOC (A)


U Koblenz (D), TU Dresden (D), U Aberdeen (UK)



We are hiring PhD students and PostDocs!

<
is

web
>

Information Systems & Semantic Web

University of Koblenz


Landau, Germany

Thank You!

Andreas Winter

Fernando Parreiras

Steffen Staab