Ontologies and Software Modeling: Potentials, Experience and Challenges

Preview:

DESCRIPTION

Keynote at TWOMDE 2009 held in Denver on October 5, 2009

Citation preview

Ontologies and Software Modeling: Potentials, Experience and Challenges

Dragan GaševićAthabasca University

Email: dgasevic@acm.org

(How) Are ontologies and MDE

related?

Topics to discuss about

Ontologies and MDE Modeling spaces Integrating ontologies and MDE Trends and challenges Conclusion

Part IOntologies and MDE

- Basics -

Semantic Web

To create a universal medium for the exchange of data.

… to smoothly interconnect personal information management, enterprise application integration and the global sharing of commercial, scientific and cultural data.

Semantic Web Activity Statementhttp://www.w3.org/2001/sw/Activity

< musician: Musician rdf:ID="urn:rdf:969914d5ca929194ea18787de32c665a-1"> … <musician:name>Eric Clapton</musician:name> <musician:records rdf:resource = "http://www.guitar.org/legendaryrecordings/EC#urn:rdf:958804d5ca918084ea17676de21c887a-0"/> … </musician:Musician>

Musician

Album

Event

plays

plays at

attends

records

Admirer

Instrument

musician:records

rdf:type rdf:type

<album: Album rdf:ID="urn:rdf:958804d5ca918084ea17676de21c887a-0"> … <album:title>Unplugged</album:title> <album:year>1992</album:year> … </album:Album>

RDF

What is an ontology?

Important definition (Hendler, 2001) a set of knowledge terms, including

vocabulary semantic interconnections some simple rules of inference and

logic for some particular topic

Semantic Web

Ontologies: Interconnecting applications Shared domain conceptualizations

Ontology languages enable

reasoning! Not ontologies per se.

Model-Driven Engineering

Rising level of abstraction From platform specific low-level details Domain-specific modeling languages Language engineering by using metamodeling Model transformations

Model to model Model to text and text to model

Metamodels and Models Model

a set of statements about a SUS Metamodel

is a model of a modeling language, or makes statements about what can be expressed in the

valid models of a certain modeling language

Metamodel Modeling Language

Model

m

ec

SUS

m

►►

m:RepresentationOfe:ElementOfc:ConformantTo

Ontologies are models&

OWL is a modeling language

Part IIModeling Spaces

Modeling spaces

Well-known examples

Modeling spaces

EBNF MS “in the eyes of” MOF MSEverything is in the real world!

We just use a convention to put some things in layers

Relations among Modeling Spaces

Two types of modeling spaces Orthogonal spaces

One MS is represented in another MS In round-trip engineering to facilitate different

stages of modeling some system Java grammar and Java metamodel

Relations among Modeling Spaces

Two types of modeling spaces Parallel spaces

One MS models the same set of real-world things as another MS, but in another way

RDF(S) ontologies and MOF-based models

Relations among Modeling Spaces

Parallel MS

Orthogonal MS

Technical Spaces

A working context Includes various related modeling spaces Typically, built around one mod. space

MDA TS – MOF, EBNF, RDF(S)

Semantic Web Technical Space

Overlapping TS through different MS

Enough theory!

Some beef, please?!

Part IIIIntegrating Ontologies and MDE

Integrating MDE and ontologies

Language descriptions (M2) Metamodels for ontology languages - ODM Ontologies for language descriptions

Integrating at the model level (M1)

Ontology Definition Metamodel

Ontology Definition Metamodel

What it is useful for? MDE tooling support for ontologies

Frameworks such as EMF Model transformations such as QVT

ODM Tooling

Integrated Ontology Development Toolkit

ODM Tooling

Integrated Ontology Development Toolkit No support for

set operators instance editing capabilities work with multiple ontologies

No clear connection with reasoners to support ontology development

ODM Tooling

Transformations Target language

ODM OUP OWL

EBNF MOF EBNF MOF ODM –

XSLT QVT XSLT TCS, Xtext

EBNF MOF EBNF MOF OUP

XSLT QVT –

XSLT TCS, Xtext

EBNF MOF EBNF MOF So

urc

e l

ang

uag

e

OWL Programmed*, XSLT

TCS, xText

Programmed*, XSLT

TCS, xText

ODM Tooling

Transformations Target language

ODM OUP OWL

EBNF MOF EBNF MOF ODM –

XSLT QVT XSLT TCS, Xtext

EBNF MOF EBNF MOF OUP

XSLT QVT –

XSLT TCS, Xtext

EBNF MOF EBNF MOF So

urc

e l

ang

uag

e

OWL Programmed*, XSLT

TCS, xText

Programmed*, XSLT

TCS, xText

Not really mature yet fo

r OWL

ODM Tooling

Challenges Know-how strategies for ontology and

Semantic Web application development Collections of modeling patterns Relations with other Semantic Web and

modeling languages such as SWRL and OCL

Integrating MDE and ontologies

Language descriptions (M2) Metamodels for ontology languages - ODM Ontologies for language descriptions

Integrating at the model level (M1)

Ontologies for metamodeling

Defining modeling languages with OWL Ontology of finite state machines [Dolog, 2004] Petri net ontology [Gašević, 2004]

Ontologies for metamodeling

When do we use this? When building Semantic Web systems

E.g., Petri nets When want to make use DL-based reasoning

Reasoning over modeling languages Automated mapping between languages

Inferring mappings among languages

Is OWL enough?

Typically not! We do need constraints. Static semantics and constraint checking Using UML/MOF with OCL for metamodels Transforming

OWL + SWRL and UML + OCL via the R2ML language no support for collections in SWRL/rule languages

[Milanović et al, 2007]

Is OWL enough?

Behavioral reasoning is not DL reasoning Do not expect to use DL instead of

Petri nets/π-calculus ! Instantiation

Only fine for languages w/o intensional and extensional parts

Integrating MDE and ontologies

Language descriptions (M2) Metamodels for ontology languages - ODM Ontologies for language descriptions

Integrating at the model level (M1)

Binding feature models to OWL semantics

Feature Models in OWL

[Wang et al, 2007]

Binding feature models to OWL semantics TBox reasoning Consistency checking of feature models

Only OWL is used here NOT ontologies!

Feature Models in OWL

TwoUse

UML, ODM, and OWL in action together![Parreiras et al, 2008]

Should OWL and UML/MOF be one language?

[Atkinson, 2005]

OWL and UML/MOF will be one language

Part IVTrends and Challenges

Capturing Requirements

(Semi-structured )Natural languages Collaborative requirements/rule capturing

Semantic Wikis Ontologies

Disambiguate shared terminology Underlying business vocabularies

Why don’t we use the OMG’s SBVR?

Assisting in Software Process

Software product lines Semantic annotation Business vocabularies &

non-functional prop. Example

Feasible features for a deployment platform On-going

Combining with soft-requirements – fuzzy DL Distributed DL for modular FMs Integrating with BPMN

[Mohabbati et al, 2009]

[Bagheri et al, 2009; Boskovic et al, 2009]

Developing DS(M)L

Specializing languages with ontologies To check validity of domain statements in

general purpose languages Ontologies as a basis of DS(M)Ls

Specially, for end-user development Disambiguate meaning of end-user languages

Assign some meaning to icons!

Conclusion

Ontology languages are well-defined Allowing for reasoning

Reasoning and ontologies are not magic OWL does not meaning using ontologies Some early and promising steps Many challenges still open

Ontologies and MDE will live together!

Thank you!

Questions?

Recommended