Upload
dragan-gasevic
View
2.269
Download
2
Embed Size (px)
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: [email protected]
(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?