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