Using Ontologies in the Domain Analysis of Domain-Specific Languages

Post on 24-Feb-2016

65 views 0 download

Tags:

description

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. today‘s talk. what - PowerPoint PPT Presentation

transcript

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