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
Using Ontologies in the Domain
Analysis of Domain-Specific Languages
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 - 342
Springer-Verlag Berlin, Heidelberg
©2009
Publisher
ISBN: 978-3-642-01647-9
doi>10.1007/978-3-642-01648-6_35
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
ontologies as a doming analysis technique for DSL creation
WHAT
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 problema
2. Obter o conhecimento relevante sobre esse
domínio
3. Juntar nesse conhecimento noções semânticas e
operadores nessas noções - combinadores
4. 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
more systematic approach, might be formalized
WHY
…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.
air traffic control case study
HOW
A simple Knowledge-Engineering Methodology
(a.k.a. 7 steps for your ontology)
1.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
Create Intances
A simple Knowledge-Engineering Methodology
(a.k.a. 7 steps for your ontology)
1.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
Create Intances
A simple Knowledge-Engineering Methodology
(a.k.a. 7 steps for your ontology)
1.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
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.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
Create Intances
A simple Knowledge-Engineering Methodology
(a.k.a. 7 steps for your ontology)
1.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
Create Intances
A simple Knowledge-Engineering Methodology
(a.k.a. 7 steps for your ontology)
1.
2.
3.
4.
5.
6.
7.
Determine the domain and scope
Consider reusing existing ontologies
Enumerate important terms
Define the classes and the class hierarchy
Define the properties of classes
Define the facets of the slots
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 Gray
presentation by
Túlio Caraciolo
phD Candidate @ cin.ufpe.br
Download

Using Ontologies in the Domain Analysis of Domain