ontologies and software modeling: potentials, experience and challenges
DESCRIPTION
Keynote at TWOMDE 2009 held in Denver on October 5, 2009TRANSCRIPT
![Page 1: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/2.jpg)
(How) Are ontologies and MDE
related?
![Page 3: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/3.jpg)
![Page 4: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/5.jpg)
Part IOntologies and MDE
- Basics -
![Page 6: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/7.jpg)
< 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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/9.jpg)
Semantic Web
Ontologies: Interconnecting applications Shared domain conceptualizations
![Page 10: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/10.jpg)
Ontology languages enable
reasoning! Not ontologies per se.
![Page 11: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/13.jpg)
Ontologies are models&
OWL is a modeling language
![Page 14: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/14.jpg)
Part IIModeling Spaces
![Page 15: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/15.jpg)
Modeling spaces
Well-known examples
![Page 16: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/19.jpg)
Relations among Modeling Spaces
Parallel MS
Orthogonal MS
![Page 20: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/21.jpg)
Semantic Web Technical Space
Overlapping TS through different MS
![Page 22: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/22.jpg)
Enough theory!
Some beef, please?!
![Page 23: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/23.jpg)
Part IIIIntegrating Ontologies and MDE
![Page 24: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/25.jpg)
Ontology Definition Metamodel
![Page 26: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/27.jpg)
ODM Tooling
Integrated Ontology Development Toolkit
![Page 28: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/38.jpg)
Binding feature models to OWL semantics
Feature Models in OWL
[Wang et al, 2007]
![Page 39: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/40.jpg)
TwoUse
UML, ODM, and OWL in action together![Parreiras et al, 2008]
![Page 41: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/42.jpg)
Part IVTrends and Challenges
![Page 43: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/47.jpg)
Ontologies and MDE will live together!
![Page 48: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/48.jpg)
![Page 49: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/49.jpg)
![Page 50: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/50.jpg)
![Page 51: Ontologies and Software Modeling: Potentials, Experience and Challenges](https://reader035.vdocuments.mx/reader035/viewer/2022062307/554a05fab4c905e56c8b5619/html5/thumbnails/51.jpg)
Thank you!
Questions?