Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Taíras, Marjan Mernik, Jeff Gray presentation by Túlio Caraciolo phD Candidate @ cin.ufpe.br
Feb 24, 2016
Using Ontologies in the Domain Analysis of Domain-Specific Languages
Robert Taíras, Marjan Mernik, Jeff Graypresentation byTúlio Caraciolo
phD Candidate @ cin.ufpe.br
Title Models in Software Engineering table of contents
Editor Michel R. Chaudron faculty of Mathematics and Natural Sciences, Leiden Institute of Advanced Computer Science, University of Leiden, Leiden, The Netherlands 2300 RA
Pages 332 - 342Publisher Springer-Verlag Berlin, Heidelberg
©2009ISBN: 978-3-642-01647-9 doi>10.1007/978-3-642-01648-6_35
Using Ontologies in the Domain Analysis of Domain-Specific Languages
today‘s talk
• what– ontologies as a doming analysis technique for DSL
creation• why– more systematic approach, might be formalized
• how– air traffic control case study
WHATontologies as a doming analysis technique for DSL creation
Projetando uma DSL
• Etapas sugeridas:
–Análise– Implementação– Utilização
Projetando uma DSL :: Análise
Objetivo: construir um entendimento do domínio
Passos:1. Identificar o domínio do problema2. Obter o conhecimento relevante sobre esse
domínio3. Juntar nesse conhecimento noções semânticas e
operadores nessas noções - combinadores4. Projetar a DSL que descreve concisamente
aplicações no domínio
“Why would someone want to develop an ontology? Some of the reasons are: share common understanding of the structure of information, enable reuse of domain knowledge, make domain assumptions explicit, separate domain knowledge from the operational knowledge and analyze domain knowledge”
Ontology Development 101 from W3C
WHYmore systematic approach, might be formalized
…observations suggest that ontology assists in the initial phase of doming understanding and can be combined with further formal domain analysis methods during the development of domain-specific language.
… formal approaches have shown to result in good language design, …
… the insertion of ontology development in the early stages of DSL development can potentially provide a structured mechanism in the part of DSL development that is still lacking attention.
HOWair traffic control case study
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
One of the ways to determine the scope of the ontology is to sketch a list of questions that a knowledge base based on the ontoloy should be able to answer, competency questions.
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
A simple Knowledge-Engineering Methodology (a.k.a. 7 steps for your ontology)
1. Determine the domain and scope2. Consider reusing existing ontologies3. Enumerate important terms4. Define the classes and the class hierarchy5. Define the properties of classes6. Define the facets of the slots7. Create Intances
Create Ontology
ontology
uml class diagram
ontology
uml class diagram
uml class diagram
CFG
step by step
• create the ontology– Follow the 7 steps from the 101
• tranform to uml– conceptual class diagram
• transform to CFG– following a collection of transformation rules
• refactor– might be necessary for proper human reading
• validation– create some possible scenarios and see how it goes
Using Ontologies in the Domain Analysis of Domain-Specific Languages
Robert Taíras, Marjan Mernik, Jeff Graypresentation byTúlio Caraciolo
phD Candidate @ cin.ufpe.br