Ontologies and Software Modeling: Potentials, Experience and Challenges  Dragan Ga šević Athabasca University Email: dgase...
(How) Are  ontologies and MDE  related?
 
Topics to discuss about  <ul><li>Ontologies and MDE </li></ul><ul><li>Modeling spaces  </li></ul><ul><li>Integrating ontol...
<ul><li>Part I </li></ul><ul><li>Ontologies and MDE </li></ul><ul><li>- Basics -  </li></ul>
Semantic Web <ul><li>To create a universal medium for the exchange of data.  </li></ul><ul><li>…  to smoothly interconnect...
RDF
What is an ontology?  <ul><li>Important definition  ( Hendler, 2001 ) </li></ul><ul><ul><li>a set of knowledge terms, incl...
Semantic Web <ul><li>Ontologies: Interconnecting applications </li></ul><ul><ul><li>Shared domain conceptualizations  </li...
Ontology languages  enable  reasoning!   Not ontologies per se.
Model-Driven Engineering <ul><li>Rising level of abstraction </li></ul><ul><ul><li>From platform specific low-level detail...
Metamodels and Models <ul><li>Model </li></ul><ul><ul><li>a set of statements about a SUS  </li></ul></ul><ul><li>Metamode...
Ontologies are models &  OWL is a modeling language
<ul><li>Part II </li></ul><ul><li>Modeling Spaces </li></ul>
Modeling spaces <ul><li>Well-known examples </li></ul>
Modeling spaces <ul><li>EBNF MS “in the eyes of” MOF MS </li></ul>Everything is in the real world! We just use a conventio...
Relations among Modeling Spaces <ul><li>Two types of modeling spaces </li></ul><ul><ul><li>Orthogonal spaces   </li></ul><...
Relations among Modeling Spaces <ul><li>Two types of modeling spaces </li></ul><ul><ul><li>Parallel spaces </li></ul></ul>...
Relations among Modeling Spaces Parallel MS Orthogonal MS
Technical Spaces <ul><li>A working context </li></ul><ul><li>Includes various related modeling spaces </li></ul><ul><li>Ty...
Semantic Web Technical Space <ul><li>Overlapping TS through different MS  </li></ul>
Enough theory!  Some beef, please?!
<ul><li>Part III </li></ul><ul><li>Integrating Ontologies and MDE </li></ul>
Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages ...
Ontology Definition Metamodel
Ontology Definition Metamodel <ul><li>What it is useful for? </li></ul><ul><ul><li>MDE tooling support for ontologies </li...
ODM Tooling <ul><li>Integrated Ontology Development Toolkit  </li></ul>
ODM Tooling <ul><li>Integrated Ontology Development Toolkit </li></ul><ul><ul><li>No support for  </li></ul></ul><ul><ul><...
ODM Tooling <ul><li>Transformations </li></ul>
ODM Tooling <ul><li>Transformations </li></ul>Not really mature yet for OWL
ODM Tooling <ul><li>Challenges </li></ul><ul><ul><li>Know-how strategies for ontology and Semantic Web application develop...
Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages ...
Ontologies for metamodeling <ul><li>Defining modeling languages with OWL </li></ul><ul><ul><li>Ontology of finite state ma...
Ontologies for metamodeling <ul><li>When do we use this? </li></ul><ul><ul><li>When building Semantic Web systems </li></u...
Is OWL enough?  <ul><li>Typically not! We do need constraints. </li></ul><ul><ul><li>Static semantics and constraint check...
Is OWL enough?  <ul><li>Behavioral reasoning is not DL reasoning </li></ul><ul><ul><li>Do not expect to use DL instead of ...
Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages ...
<ul><li>Binding feature models to OWL semantics  </li></ul>Feature Models in OWL [Wang et al, 2007]
<ul><li>Binding feature models to OWL semantics </li></ul><ul><ul><li>TBox reasoning </li></ul></ul><ul><ul><li>Consistenc...
TwoUse  <ul><li>UML, ODM, and OWL in action together! </li></ul>[Parreiras et al, 2008]
Should OWL and UML/MOF be one language?   [Atkinson, 2005] OWL and UML/MOF  will be one language
<ul><li>Part IV </li></ul><ul><li>Trends and Challenges </li></ul>
Capturing Requirements <ul><li>(Semi-structured )Natural languages </li></ul><ul><li>Collaborative requirements/rule captu...
Assisting in Software Process  <ul><li>Software product lines </li></ul><ul><ul><li>Semantic annotation </li></ul></ul><ul...
Developing DS(M)L <ul><li>Specializing languages with ontologies </li></ul><ul><ul><li>To check validity of domain stateme...
Conclusion <ul><li>Ontology languages are well-defined </li></ul><ul><ul><li>Allowing for reasoning </li></ul></ul><ul><li...
Ontologies and MDE will live together!
 
 
 
Thank you! Questions?
Upcoming SlideShare
Loading in …5
×

Ontologies and Software Modeling: Potentials, Experience and Challenges

2,849 views

Published on

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

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,849
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
85
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • The device capability ontology and DL presentation syntax Some part of device ontology in borrowed from CC/PP and FIPA. DL representation sysntax for WiFi connection Ontology annotation using NFR ontologies can incorporate NFRs into the feature model ontology . In similar way service quality ontology can be opted for feature model annotation with attributes describing relevant NFRs such as reliability, quality and so on so forth (e.g Dublin Core ontology)
  • The device capability ontology and DL presentation syntax Some part of device ontology in borrowed from CC/PP and FIPA. DL representation sysntax for WiFi connection Ontology annotation using NFR ontologies can incorporate NFRs into the feature model ontology . In similar way service quality ontology can be opted for feature model annotation with attributes describing relevant NFRs such as reliability, quality and so on so forth (e.g Dublin Core ontology)
  • Ontologies and Software Modeling: Potentials, Experience and Challenges

    1. 1. Ontologies and Software Modeling: Potentials, Experience and Challenges Dragan Ga šević Athabasca University Email: dgasevic@acm.org
    2. 2. (How) Are ontologies and MDE related?
    3. 4. Topics to discuss about <ul><li>Ontologies and MDE </li></ul><ul><li>Modeling spaces </li></ul><ul><li>Integrating ontologies and MDE </li></ul><ul><li>Trends and challenges </li></ul><ul><li>Conclusion </li></ul>
    4. 5. <ul><li>Part I </li></ul><ul><li>Ontologies and MDE </li></ul><ul><li>- Basics - </li></ul>
    5. 6. Semantic Web <ul><li>To create a universal medium for the exchange of data. </li></ul><ul><li>… to smoothly interconnect personal information management, enterprise application integration and the global sharing of commercial, scientific and cultural data. </li></ul><ul><li> Semantic Web Activity Statement http://www.w3.org/2001/sw/Activity </li></ul>
    6. 7. RDF
    7. 8. What is an ontology? <ul><li>Important definition ( Hendler, 2001 ) </li></ul><ul><ul><li>a set of knowledge terms, including </li></ul></ul><ul><ul><ul><li>vocabulary </li></ul></ul></ul><ul><ul><ul><li>semantic interconnections </li></ul></ul></ul><ul><ul><ul><li>some simple rules of inference and logic for some particular topic </li></ul></ul></ul>
    8. 9. Semantic Web <ul><li>Ontologies: Interconnecting applications </li></ul><ul><ul><li>Shared domain conceptualizations </li></ul></ul>
    9. 10. Ontology languages enable reasoning! Not ontologies per se.
    10. 11. Model-Driven Engineering <ul><li>Rising level of abstraction </li></ul><ul><ul><li>From platform specific low-level details </li></ul></ul><ul><ul><li>Domain-specific modeling languages </li></ul></ul><ul><ul><li>Language engineering by using metamodeling </li></ul></ul><ul><ul><li>Model transformations </li></ul></ul><ul><ul><ul><li>Model to model </li></ul></ul></ul><ul><ul><ul><li>Model to text and text to model </li></ul></ul></ul>
    11. 12. Metamodels and Models <ul><li>Model </li></ul><ul><ul><li>a set of statements about a SUS </li></ul></ul><ul><li>Metamodel </li></ul><ul><ul><li>is a model of a modeling language, or </li></ul></ul><ul><ul><li>makes statements about what can be expressed in the valid models of a certain modeling language </li></ul></ul>
    12. 13. Ontologies are models & OWL is a modeling language
    13. 14. <ul><li>Part II </li></ul><ul><li>Modeling Spaces </li></ul>
    14. 15. Modeling spaces <ul><li>Well-known examples </li></ul>
    15. 16. Modeling spaces <ul><li>EBNF MS “in the eyes of” MOF MS </li></ul>Everything is in the real world! We just use a convention to put some things in layers
    16. 17. Relations among Modeling Spaces <ul><li>Two types of modeling spaces </li></ul><ul><ul><li>Orthogonal spaces </li></ul></ul><ul><ul><ul><li>One MS is represented in another MS </li></ul></ul></ul><ul><ul><ul><li>In round-trip engineering to facilitate different stages of modeling some system </li></ul></ul></ul><ul><ul><ul><li>Java grammar and Java metamodel </li></ul></ul></ul>
    17. 18. Relations among Modeling Spaces <ul><li>Two types of modeling spaces </li></ul><ul><ul><li>Parallel spaces </li></ul></ul><ul><ul><ul><li>One MS models the same set of real-world things as another MS, but in another way </li></ul></ul></ul><ul><ul><ul><li>RDF(S) ontologies and MOF-based models </li></ul></ul></ul>
    18. 19. Relations among Modeling Spaces Parallel MS Orthogonal MS
    19. 20. Technical Spaces <ul><li>A working context </li></ul><ul><li>Includes various related modeling spaces </li></ul><ul><li>Typically, built around one mod. space </li></ul><ul><ul><li>MDA TS – MOF, EBNF, RDF(S) </li></ul></ul>
    20. 21. Semantic Web Technical Space <ul><li>Overlapping TS through different MS </li></ul>
    21. 22. Enough theory! Some beef, please?!
    22. 23. <ul><li>Part III </li></ul><ul><li>Integrating Ontologies and MDE </li></ul>
    23. 24. Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages - ODM </li></ul></ul><ul><ul><li>Ontologies for language descriptions </li></ul></ul><ul><li>Integrating at the model level (M1) </li></ul>
    24. 25. Ontology Definition Metamodel
    25. 26. Ontology Definition Metamodel <ul><li>What it is useful for? </li></ul><ul><ul><li>MDE tooling support for ontologies </li></ul></ul><ul><ul><ul><li>Frameworks such as EMF </li></ul></ul></ul><ul><ul><ul><li>Model transformations such as QVT </li></ul></ul></ul>
    26. 27. ODM Tooling <ul><li>Integrated Ontology Development Toolkit </li></ul>
    27. 28. ODM Tooling <ul><li>Integrated Ontology Development Toolkit </li></ul><ul><ul><li>No support for </li></ul></ul><ul><ul><ul><li>set operators </li></ul></ul></ul><ul><ul><ul><li>instance editing capabilities </li></ul></ul></ul><ul><ul><ul><li>work with multiple ontologies </li></ul></ul></ul><ul><ul><li>No clear connection with reasoners to support ontology development </li></ul></ul>
    28. 29. ODM Tooling <ul><li>Transformations </li></ul>
    29. 30. ODM Tooling <ul><li>Transformations </li></ul>Not really mature yet for OWL
    30. 31. ODM Tooling <ul><li>Challenges </li></ul><ul><ul><li>Know-how strategies for ontology and Semantic Web application development </li></ul></ul><ul><ul><li>Collections of modeling patterns </li></ul></ul><ul><ul><li>Relations with other Semantic Web and modeling languages such as SWRL and OCL </li></ul></ul>
    31. 32. Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages - ODM </li></ul></ul><ul><ul><li>Ontologies for language descriptions </li></ul></ul><ul><li>Integrating at the model level (M1) </li></ul>
    32. 33. Ontologies for metamodeling <ul><li>Defining modeling languages with OWL </li></ul><ul><ul><li>Ontology of finite state machines [Dolog, 2004] </li></ul></ul><ul><ul><li>Petri net ontology [ Gašević, 200 4] </li></ul></ul>
    33. 34. Ontologies for metamodeling <ul><li>When do we use this? </li></ul><ul><ul><li>When building Semantic Web systems </li></ul></ul><ul><ul><ul><li>E.g., Petri nets </li></ul></ul></ul><ul><ul><li>When want to make use DL-based reasoning </li></ul></ul><ul><ul><ul><li>Reasoning over modeling languages </li></ul></ul></ul><ul><ul><li>Automated mapping between languages </li></ul></ul><ul><ul><ul><li>Inferring mappings among languages </li></ul></ul></ul>
    34. 35. Is OWL enough? <ul><li>Typically not! We do need constraints. </li></ul><ul><ul><li>Static semantics and constraint checking </li></ul></ul><ul><ul><li>Using UML/MOF with OCL for metamodels </li></ul></ul><ul><ul><li>Transforming </li></ul></ul><ul><ul><ul><li>OWL + SWRL and UML + OCL </li></ul></ul></ul><ul><ul><ul><li>via the R2ML language </li></ul></ul></ul><ul><ul><ul><li>no support for collections in SWRL/rule languages </li></ul></ul></ul>[Milan o vi ć et al, 2007]
    35. 36. Is OWL enough? <ul><li>Behavioral reasoning is not DL reasoning </li></ul><ul><ul><li>Do not expect to use DL instead of Petri nets/π-calculus ! </li></ul></ul><ul><li>Instantiation </li></ul><ul><ul><li>Only fine for languages w/o intensional and extensional parts </li></ul></ul>
    36. 37. Integrating MDE and ontologies <ul><li>Language descriptions (M2) </li></ul><ul><ul><li>Metamodels for ontology languages - ODM </li></ul></ul><ul><ul><li>Ontologies for language descriptions </li></ul></ul><ul><li>Integrating at the model level (M1) </li></ul>
    37. 38. <ul><li>Binding feature models to OWL semantics </li></ul>Feature Models in OWL [Wang et al, 2007]
    38. 39. <ul><li>Binding feature models to OWL semantics </li></ul><ul><ul><li>TBox reasoning </li></ul></ul><ul><ul><li>Consistency checking of feature models </li></ul></ul><ul><li>Only OWL is used here NOT ontologies! </li></ul>Feature Models in OWL
    39. 40. TwoUse <ul><li>UML, ODM, and OWL in action together! </li></ul>[Parreiras et al, 2008]
    40. 41. Should OWL and UML/MOF be one language? [Atkinson, 2005] OWL and UML/MOF will be one language
    41. 42. <ul><li>Part IV </li></ul><ul><li>Trends and Challenges </li></ul>
    42. 43. Capturing Requirements <ul><li>(Semi-structured )Natural languages </li></ul><ul><li>Collaborative requirements/rule capturing </li></ul><ul><ul><li>Semantic Wikis </li></ul></ul><ul><li>Ontologies </li></ul><ul><ul><li>Disambiguate shared terminology </li></ul></ul><ul><ul><li>Underlying business vocabularies </li></ul></ul><ul><li>Why don’t we use the OMG’s SBVR? </li></ul>
    43. 44. Assisting in Software Process <ul><li>Software product lines </li></ul><ul><ul><li>Semantic annotation </li></ul></ul><ul><ul><li>Business vocabularies & non-functional prop. </li></ul></ul><ul><li>Example </li></ul><ul><ul><li>Feasible features for a deployment platform </li></ul></ul><ul><li>On-going </li></ul><ul><ul><li>Combining with soft-requirements – fuzzy DL </li></ul></ul><ul><ul><li>Distributed DL for modular FMs </li></ul></ul><ul><ul><li>Integrating with BPMN </li></ul></ul>[Mohabbati et al, 2009] [ Bagheri et al, 2009; Boskovic et al, 2009]
    44. 45. Developing DS(M)L <ul><li>Specializing languages with ontologies </li></ul><ul><ul><li>To check validity of domain statements in general purpose languages </li></ul></ul><ul><li>Ontologies as a basis of DS(M)Ls </li></ul><ul><ul><li>Specially, for end-user development </li></ul></ul><ul><ul><li>Disambiguate meaning of end-user languages </li></ul></ul><ul><ul><ul><li>Assign some meaning to icons! </li></ul></ul></ul>
    45. 46. Conclusion <ul><li>Ontology languages are well-defined </li></ul><ul><ul><li>Allowing for reasoning </li></ul></ul><ul><li>Reasoning and ontologies are not magic </li></ul><ul><li>OWL does not meaning using ontologies </li></ul><ul><li>Some early and promising steps </li></ul><ul><li>Many challenges still open </li></ul>
    46. 47. Ontologies and MDE will live together!
    47. 51. Thank you! Questions?

    ×