51
Ontologies and Software Modeling: Potentials, Experience and Challenges Dragan Gašević Athabasca University Email: [email protected]

Ontologies and Software Modeling: Potentials, Experience and Challenges

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontologies and Software Modeling: Potentials, Experience and Challenges

Dragan GaševićAthabasca University

Email: [email protected]

Page 2: Ontologies and Software Modeling: Potentials, Experience and Challenges

(How) Are ontologies and MDE

related?

Page 3: Ontologies and Software Modeling: Potentials, Experience and Challenges
Page 4: Ontologies and Software Modeling: Potentials, Experience and Challenges

Topics to discuss about

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

Page 5: Ontologies and Software Modeling: Potentials, Experience and Challenges

Part IOntologies and MDE

- Basics -

Page 6: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 7: Ontologies and Software Modeling: Potentials, Experience and Challenges

< 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

Page 8: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 9: Ontologies and Software Modeling: Potentials, Experience and Challenges

Semantic Web

Ontologies: Interconnecting applications Shared domain conceptualizations

Page 10: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontology languages enable

reasoning! Not ontologies per se.

Page 11: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 12: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 13: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontologies are models&

OWL is a modeling language

Page 14: Ontologies and Software Modeling: Potentials, Experience and Challenges

Part IIModeling Spaces

Page 15: Ontologies and Software Modeling: Potentials, Experience and Challenges

Modeling spaces

Well-known examples

Page 16: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 17: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 18: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 19: Ontologies and Software Modeling: Potentials, Experience and Challenges

Relations among Modeling Spaces

Parallel MS

Orthogonal MS

Page 20: Ontologies and Software Modeling: Potentials, Experience and Challenges

Technical Spaces

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

MDA TS – MOF, EBNF, RDF(S)

Page 21: Ontologies and Software Modeling: Potentials, Experience and Challenges

Semantic Web Technical Space

Overlapping TS through different MS

Page 22: Ontologies and Software Modeling: Potentials, Experience and Challenges

Enough theory!

Some beef, please?!

Page 23: Ontologies and Software Modeling: Potentials, Experience and Challenges

Part IIIIntegrating Ontologies and MDE

Page 24: Ontologies and Software Modeling: Potentials, Experience and Challenges

Integrating MDE and ontologies

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

Integrating at the model level (M1)

Page 25: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontology Definition Metamodel

Page 26: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontology Definition Metamodel

What it is useful for? MDE tooling support for ontologies

Frameworks such as EMF Model transformations such as QVT

Page 27: Ontologies and Software Modeling: Potentials, Experience and Challenges

ODM Tooling

Integrated Ontology Development Toolkit

Page 28: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 29: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 30: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 31: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 32: Ontologies and Software Modeling: Potentials, Experience and Challenges

Integrating MDE and ontologies

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

Integrating at the model level (M1)

Page 33: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontologies for metamodeling

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

Page 34: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 35: Ontologies and Software Modeling: Potentials, Experience and Challenges

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]

Page 36: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 37: Ontologies and Software Modeling: Potentials, Experience and Challenges

Integrating MDE and ontologies

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

Integrating at the model level (M1)

Page 38: Ontologies and Software Modeling: Potentials, Experience and Challenges

Binding feature models to OWL semantics

Feature Models in OWL

[Wang et al, 2007]

Page 39: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Only OWL is used here NOT ontologies!

Feature Models in OWL

Page 40: Ontologies and Software Modeling: Potentials, Experience and Challenges

TwoUse

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

Page 41: Ontologies and Software Modeling: Potentials, Experience and Challenges

Should OWL and UML/MOF be one language?

[Atkinson, 2005]

OWL and UML/MOF will be one language

Page 42: Ontologies and Software Modeling: Potentials, Experience and Challenges

Part IVTrends and Challenges

Page 43: Ontologies and Software Modeling: Potentials, Experience 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?

Page 44: Ontologies and Software Modeling: Potentials, Experience and Challenges

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]

Page 45: Ontologies and Software Modeling: Potentials, Experience and Challenges

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!

Page 46: Ontologies and Software Modeling: Potentials, Experience and Challenges

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

Page 47: Ontologies and Software Modeling: Potentials, Experience and Challenges

Ontologies and MDE will live together!

Page 48: Ontologies and Software Modeling: Potentials, Experience and Challenges
Page 49: Ontologies and Software Modeling: Potentials, Experience and Challenges
Page 50: Ontologies and Software Modeling: Potentials, Experience and Challenges
Page 51: Ontologies and Software Modeling: Potentials, Experience and Challenges

Thank you!

Questions?