sabio: systematic approach for building ontologiesfalbo/files/eo/slides/3-metodo_sabio.pdf ·...

61
SABiO: S ystematic A pproach for B ui lding O ntologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo

Upload: others

Post on 08-Feb-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

SABiO: Systematic

Approach for Building Ontologies

Ricardo de Almeida Falbo

Engenharia de Ontologias Departamento de Informática

Universidade Federal do Espírito Santo

Page 2: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Agenda

• Preocupações Principais do Método

• Processo de Engenharia de Ontologias Proposto

• Processo de Desenvolvimento

• Processos de Apoio

Page 3: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

SABiO: Preocupações Principais

• Foco de SABiO: Desenvolvimento de ontologias de domínio

• Processos de Apoio e de Gerência considerados estão fortemente atrelados ao Processo de Desenvolvimento proposto.

• Distinção entre Ontologias de Referência e Ontologias Operacionais

– SABiO pode ser usado apenas parcialmente para o desenvolvimento de ontologias de referência de domínio ou

– Integralmente visando ao desenvolvimento de ontologias operacionais de domínio.

• Desenvolvimento com reúso

Page 4: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Engenharia de Ontologias

Do

cum

en

tation

Co

nfigu

ration

Man

agemen

t

Evaluatio

n

Reu

se

Purpose Identification and Requirements

Elicitation

Reference Ontology

Design

Implementation

Operational Ontology

Testing

Processo de Desenvolvimento Processos de Apoio

Kn

ow

ledge

Acq

uisitio

n

Ontology Capture and Formalization

Espinha

dorsal do

método

Fortemente

relacionados ao

processo de

desenvolvimento

Page 5: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Engenharia de Ontologias

Do

cum

en

tation

Co

nfigu

ration

Man

agemen

t

Evaluatio

n

Reu

se

Purpose Identification and Requirements

Elicitation

Reference Ontology

Design

Implementation

Operational Ontology

Testing

Processo de Desenvolvimento Processos de Apoio

Kn

ow

ledge

Acq

uisitio

n

Ontology Capture and Formalization

Page 6: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Engenharia de Ontologias

Do

cum

en

tation

Co

nfigu

ration

Man

agemen

t

Evaluatio

n

Reu

se

Purpose Identification and Requirements

Elicitation

Reference Ontology

Design

Implementation

Operational Ontology

Testing

Processo de Desenvolvimento Processos de Apoio

Kn

ow

ledge

Acq

uisitio

n

Ontology Capture and Formalization

Page 7: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Engenharia de Ontologias

Do

cum

en

tation

Co

nfigu

ration

Man

agemen

t

Evaluatio

n

Reu

se

Purpose Identification and Requirements

Elicitation

Reference Ontology

Design

Implementation

Operational Ontology

Testing

Processo de Desenvolvimento Processos de Apoio

Kn

ow

ledge

Acq

uisitio

n

Ontology Capture and Formalization

Diferentes modelos de ciclo de vida podem ser usados.

Sugestão: Modelos iterativos e incrementais

Page 8: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Desenvolvimento

Purpose Identification and Requirements

Elicitation

Ontology User

Ontology Engineer

Domain Expert

Purpose, Requirements, Competency Questions, Sub-ontologies

Purpose and Intended Uses Identification

Requirements Elicitation

Competency Questions

Identification

Ontology Modularization

Processo de Aquisição de Conhecimento

Essas quatro atividades devem ser realizadas de modo iterativo

Processo de Reúso

Page 9: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Propósito e Requisitos

Purpose Identification and Requirements

Elicitation

Ontology User

Ontology Engineer

Domain Expert

Purpose, Requirements, Competency Questions, Sub-ontologies

Purpose and Intended Uses Identification

Requirements Elicitation

Competency Questions

Identification

Ontology Modularization

Primeiro, uma descrição inicial do propósito da ontologia e de seus usos pretendidos deve ser

esboçada.

Page 10: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Identificação de Propósito e Usos Pretendidos

• Identificação do Propósito:

– Qual o propósito principal da ontologia?

• Qual a cobertura pretendida?

• Usos Pretendidos:

– Quem são os potenciais usuários da ontologia?

– Quais os usos pretendidos para a ontologia? Descreva brevemente os cenários de utilização da ontologia.

Page 11: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Propósito: prover um modelo conceitual consensual sobre teste de software, com ênfase no processo de teste, de modo a apoiar a comunicação entre profissionais envolvidos neste processo.

– (Cobertura) A ontologia deve tratar os principais conceitos, relações e restrições relativos às atividades do processo de teste, artefatos produzidos e requeridos por essas atividades, técnicas de teste que podem ser aplicadas, e ambiente de teste, incluindo recursos humanos, de hardware e de software. O foco deve ser a execução de processos de teste.

Page 12: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Potenciais usuários da ontologia:

– Profissionais de desenvolvimento de software atuando em teste de software, em especial na definição de processos de teste.

– Profissionais atuando na definição do ambiente de teste, incluindo responsáveis pela integração de ferramentas ao processo de teste.

Page 13: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Potenciais usos:

– Apoio ao aprendizado por humanos sobre o processo de teste de software.

• Profissionais, muitas vezes, desconhecem conceitos básicos de teste. Neste sentido, a ontologia pode ser usada para apoiar o aprendizado por humanos dos conceitos chave relacionados ao processo de teste de software.

– Base para a estruturação e representação de conhecimento relacionado a teste de software. • O processo de teste é rico em conhecimento. Neste contexto, é muito

útil aplicar técnicas de gestão do conhecimento em teste de software. A ontologia de teste deve poder ser usada como base para a representação do conhecimento relativo a teste de software (estruturação de repositórios de conhecimento), bem como para apoiar a busca nestes repositórios.

Page 14: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Potenciais usos:

– Modelo de referência para integração de aplicações de apoio ao processo de teste.

• Por ser um processo complexo, o processo de teste requer o uso de ferramentas de apoio. Diferentes ferramentas podem ser usadas: ferramentas de apoio ao projeto de casos de teste, ferramentas de execução de testes, ferramentas de registro de erros e questões, dentre outras. A ontologia proposta deve poder ser usada para apoiar a integração de tais ferramentas.

Page 15: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Requisitos

Purpose Identification and Requirements

Elicitation

Ontology User

Ontology Engineer

Domain Expert

Purpose, Requirements, Competency Questions, Sub-ontologies

Purpose and Intended Uses Identification

Requirements Elicitation

Competency Questions

Identification

Ontology Modularization

Requisitos Funcionais: referem-se ao conteúdo a ser representado pela ontologia. São definidos por meio de questões de competência. Requisitos Não Funcionais: incluem atributos de qualidade (ex., desempenho no raciocínio, capacidade de extensão etc.); requisitos de projeto (ex., aderência a modelos de documento, stakeholders que devem estar de acordo com a ontologia); requisitos relacionados aos usos pretendidos (ex., a terminologia usada na ontologia deve ser tomada de padrões (standards)).

Page 16: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Levantamento de Requisitos

• Etapa fortemente apoiada pelos Processos de Aquisição de Conhecimento e Reutilização.

• Técnicas colaborativas de Levantamento de Requisitos / Aquisição de Conhecimento devem ser aplicadas.

• Requisitos funcionais e não funcionais podem ser reutilizados.

Page 17: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Processo de Aquisição de Conhecimento:

– Identificação das Fontes de Conhecimento

– Identificação de Especialistas de Domínio

– Aplicação de Técnicas de Levantamento de Requisitos

• Processo de Reutilização:

– Processo de teste é um subtipo de processo de software.

– Oportunidade de Reutilização: core ontology de Processo de Software, organizada na forma de uma linguagem de padrões ontológicos (SP-OPL).

– Reúso e especialização de QCs, conceitos, relações e axiomas.

Page 18: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Questões de Competência

• São um meio de especificar requisitos funcionais da ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia.

– Questões que a ontologia deve ser capaz de responder

• Como requisitos funcionais de uma ontologia, devem possuir um identificador único.

Page 19: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Requisitos não funcionais:

– RNF01 - A ontologia deve levar em consideração os principais livros da área, bem como normas e padrões internacionais relacionados ao tema, tais como SWEBOK e ISO/IEC/IEEE 29119.

– RNF02 - A ontologia de teste de software deve estar integrada à ontologia de processo de software.

Page 20: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Questões de Competência: – QC01. Em que projeto, um dado processo de teste e suas atividades

ocorreram?

– QC02. Quais as atividades e sub-atividades de um processo de teste?

– QC03. Quando um processo de teste iniciou e quando foi concluído?

– QC04. Quando uma atividade de teste iniciou e quando foi concluída?

– QC05. De quais atividades uma atividade de teste depende para poder ser executada?

– QC06. Quais os artefatos produzidos em uma atividade de teste?

– QC07. Quais os artefatos usados em uma atividade de teste?

– …

Page 21: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Modularização da Ontologia

Purpose Identification and Requirements

Elicitation

Ontology User

Ontology Engineer

Domain Expert

Purpose, Requirements, Competency Questions, Sub-ontologies

Purpose and Intended Uses Identification

Requirements Elicitation

Competency Questions

Identification

Ontology Modularization

Se o domínio de interesse é complexo, é necessário modularizar a ontologia,

i.e., identificar módulos ou sub-ontologias.

Page 22: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Modularização da Ontologia

• Artefato a ser produzido: diagrama de pacotes UML.

• Alocar as questões de competência para os módulos da ontologia (sub-ontologias).

• As dependências entre os módulos, bem como a alocação das QCs aos módulos, vão sendo refinadas na medida em que o projeto avança para outras atividades, em especial da fase de Captura e Formalização da Ontologia.

Page 23: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

Page 24: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Planejamento do Projeto

• Na medida em que são levantadas as informações iniciais acerca do propósito, cobertura, usos pretendidos e requisitos da ontologia, atividades do planejamento de projeto devem ser realizadas, dentre elas:

– definição do modelo de ciclo de vida a ser seguido,

– definição do processo do projeto específico,

– alocação de recursos,

– elaboração de cronograma,

– análise de riscos,

– etc.

Page 25: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Planejamento do Projeto

– Modelo de Ciclo de Vida Adotado: Modelo Incremental.

– Cada sub-ontologia deve ser desenvolvida como um incremento, respeitando as dependências existentes entre os módulos.

Page 26: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

Ontology Capture and Formalization

Reference Ontology

Conceptual Modeling

Dictionary of Terms

Definition

Informal Axioms

Definition

Formal Axioms Definition

Purpose, Requirements, Competency Questions, Sub-ontologies

Domain Expert

Ontology Engineer

O principal objetivo desta fase é capturar a conceituação do domínio, tomando por base

as questões de competência.

Page 27: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

Ontology Capture and Formalization

Reference Ontology

Conceptual Modeling

Dictionary of Terms

Definition

Informal Axioms

Definition

Formal Axioms Definition

Purpose, Requirements, Competency Questions, Sub-ontologies

Domain Expert

Ontology Engineer

Uso de linguagem gráfica

Conceitos e relações devem ser analisados à luz de uma ontologia de fundamentação.

Termos usados para nomear os conceitos devem ser definidos em um Dicionário de Termos.

Page 28: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

Ontology Capture and Formalization

Reference Ontology

Conceptual Modeling

Dictionary of Terms

Definition

Informal Axioms

Definition

Formal Axioms Definition

Purpose, Requirements, Competency Questions, Sub-ontologies

Domain Expert

Ontology Engineer

Processo de Aquisição de Conhecimento

Processo de Reutilização

Page 29: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

• Base: Competência da Ontologia

• Modelagem Conceitual: OntoUML

– Patterns de OntoUML devem ser aplicados

• Atenção à escolha dos termos

• Definição dos elementos da ontologia no Dicionário de Termos

Page 30: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Testing Process and Activities sub-ontology

Page 31: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

Ontology Capture and Formalization

Reference Ontology

Conceptual Modeling

Dictionary of Terms

Definition

Informal Axioms

Definition

Formal Axioms Definition

Purpose, Requirements, Competency Questions, Sub-ontologies

Domain Expert

Ontology Engineer

Restrições e regras devem ser especificadas na forma de axiomas.

Page 32: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

• Definição de Axiomas (informais e formais)

– Axiomas de derivação (regras)

– Axiomas de consolidação (restrições)

• Axiomas formais: lógica de primeira ordem

Page 33: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Axiomas:

– Se um processo geral gpo ocorre em um projeto p e um processo específico spo é parte de gpo, então spo ocorre nesse mesmo projeto p.

– Se um processo específico spo ocorre em um projeto p e uma ocorrência de atividade ao é parte de spo, então ao ocorre nesse mesmo projeto p

Page 34: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

• Etapa fortemente apoiada pelos Processos de Aquisição de Conhecimento e Reutilização.

• Técnicas colaborativas de Levantamento de Requisitos / Aquisição de Conhecimento devem ser aplicadas.

• Fontes para aquisição de conhecimento/reutilização:

– Especialistas de domínio

– Material bibliográfico consolidado: livros, normas etc.

– Modelos de referência, modelos de sistemas etc.

– Ontologias existentes, padrões ontológicos, core ontologies, ontologias de fundamentação.

Recursos Ontológicos

Recursos Não Ontológicos

Page 35: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Captura e Formalização da Ontologia

• Reutilização de Recursos Ontológicos

– Ontologias de domínio existentes: aplicar técnicas de mapeamento e merge de ontologias

– Ontologias de fundamentação: estruturação

– Core ontologies: especialização

– Patterns: aplicação

• Foundational patterns

• Domain-related patterns

• Reutilização de Recursos Não Ontológicos

– Requer a realização de uma análise ontológica do NOR à luz da ontologia de fundamentação utilizada.

Page 36: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Design da Ontologia

Technical Non-Functional Requirements Elicitation

Implementation Environment Definition

Architectural Design

Detailed Design

Reference Ontology

Ontology Design Specification

Design

Ontology Engineer

Ontology Designer

Faz uma ponte entre os modelos conceituais de ontologias de referência e a sua

codificação em uma linguagem de ontologias operacionais (ex., OWL).

Page 37: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Design da Ontologia

• Levantamento de Requisitos Não Funcionais: garantir propriedades computacionais. Ex.: desempenho no raciocínio

• Definição da Plataforma de Implementação: questão importante: expressividade da linguagem

• Projeto Arquitetônico: refinamento da modularização, agora levando em conta os requisitos não funcionais e a plataforma de implementação da ontologia operacional

• Projeto Detalhado: resolver problemas de diferenças de expressividade das linguagens (OntoUML e linguagem operacional) heavyweight x lightweight ontologies

– Aplicação de Ontology Design Patterns e Ontology Idioms

Page 38: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Design da Ontologia

Technical Non-Functional Requirements Elicitation

Implementation Environment Definition

Architectural Design

Detailed Design

Reference Ontology

Ontology Design Specification

Design

Ontology Engineer

Ontology Designer

RNFs técnicos são refinados e usados como base para a definição do ambiente no qual

a ontologia será implementada. Por outro lado, o ambiente de implementação pode

impor novos RNFs técnicos.

Page 39: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Visando o uso para anotação semântica de itens de conhecimento em um repositório, decidiu-se implementar ROoST em OWL.

• Para a implementação, decidiu-se utilizar a ferramenta OLED e sua transformação para OWL.

Page 40: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Design da Ontologia

Technical Non-Functional Requirements Elicitation

Implementation Environment Definition

Architectural Design

Detailed Design

Reference Ontology

Ontology Design Specification

Design

Ontology Engineer

Ontology Designer

O projetista deve revistar a modularização da ontologia, levando em consideração RNFs

técnicos e características do ambiente de implementação, para definir a arquitetura final

da ontologia.

Page 41: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Design da Ontologia

Technical Non-Functional Requirements Elicitation

Implementation Environment Definition

Architectural Design

Detailed Design

Reference Ontology

Ontology Design Specification

Design

Ontology Engineer

Ontology Designer

O designer deve tratar problemas relacionados com a menor expressividade da

linguagens operacionais quando comparadas a modelos e axiomas da ontologia de

referência.

Page 42: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Implementação da Ontolgia

Operational Ontology

Reference Ontology

Ontology Programmer

Ontology Design Specification

Implementation

Ontology Designer

A fase de Implementação diz respeito à implementação da ontologia na linguagem

operacional escolhida.

Page 43: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Implementação da Ontologia

• Codificação na linguagem operacional escolhida (p.ex., OWL)

• Em alguns aspectos, a fronteira entre o projeto detalhado e a implementação não é clara. Assim, a solução de problemas e a aplicação de ontology design patterns / idiomas pode se dar no contexto da implementação.

Page 44: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

Ontology Testing

Test Cases, Test Results

Sub-ontology Testing

Integration Testing

Ontology Testing

Operational Ontology

Reference Ontology Ontology Design Specification

Ontology User

Ontology Tester

Refere-se à verificação dinâmica do comportamento da ontologia operacional tomando por base um conjunto finito de casos de teste.

Page 45: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

• SABiO propõe uma abordagem de testes dirigida a questões de competência

• Caso de teste: questão de competência implementada como query na linguagem da ontologia operacional + dados da instanciação do fragmento da ontologia (entrada) + resultado esperado (a partir da instanciação considerada)

Page 46: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

Ontology Testing

Test Cases, Test Results

Sub-ontology Testing

Integration Testing

Ontology Testing

Operational Ontology

Reference Ontology Ontology Design Specification

Ontology User

Ontology Tester

• Teste de sub-ontologia: casos de teste são executados considerando apenas o escopo de sua sub-ontologia. • O teste de cada QC pode ser visto como um teste de unidade.

Page 47: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

Ontology Testing

Test Cases, Test Results

Sub-ontology Testing

Integration Testing

Ontology Testing

Operational Ontology

Reference Ontology Ontology Design Specification

Ontology User

Ontology Tester

• Na medida em que sub-ontologias vão sendo integradas, o teste de integração é realizado. • Os mesmos casos de teste da fase anterior vão sendo reaplicados (teste de regressão), mas agora considerando as sub-ontologias integradas até então.

Page 48: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

Ontology Testing

Test Cases, Test Results

Sub-ontology Testing

Integration Testing

Ontology Testing

Operational Ontology

Reference Ontology Ontology Design Specification

Ontology User

Ontology Tester

• No teste da ontologia, casos de testes são rodados novamente, agora no considerando a

ontologia como um todo.

Page 49: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Testes da Ontologia

• Outros tipos de teste:

– Testes de Desempenho

– Testes de Validação: aplicação da ontologia nos cenários de uso pretendidos pela ontologia (usuários da ontologia)

– Testes de Stress (ontologias disponíveis na Web)

– etc.

Page 50: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processo de Engenharia de Ontologias

Do

cum

en

tation

Co

nfigu

ration

Man

agemen

t

Evaluatio

n

Reu

se

Purpose Identification and Requirements

Elicitation

Reference Ontology

Design

Implementation

Operational Ontology

Testing

Processo de Desenvolvimento Processo de Apoio

Kn

ow

ledge

Acq

uisitio

n

Ontology Capture and Formalization

Page 51: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processos de Apoio: Documentação

• Todas as fases do processo de desenvolvimento, bem como alguns dos processos de apoio e gerência (p.ex., avaliação) precisam ser documentados.

• Templates devem ser providos para garantir uniformidade nos projetos de desenvolvimento de ontologias.

Page 52: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Documento de Especificação de Ontologia de Referência 1. Introdução

2. Descrição do Propósito e Usos Pretendidos

3. Escopo (Cobertura) da Ontologia

4. Descrição do Domínio

5. Ontologia de Referência

4.1 - Modularização da Ontologia

4.2 - Sub-ontologia 1

• Questões de Competência

• Modelo OntoUML

• Axiomas (Informais e Formais)

• Tabela de Verificação de Questões de Competência

• Tabela de Instanciação

4.3 - Sub-ontologia 2 ...

6. Dicionário de Termos

Page 53: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processos de Apoio: Gerência de Configuração

• Os principais documentos propostos pelo método (p.ex., Documentos de Especificação da Ontologia de Referência e a Ontologia Operacional (código)), uma vez aprovados, devem ser submetidos à gerência de configuração.

• A gerência de configuração trata, dentre outros, de:

– Controle de alteração

– Controle de versão

– Controle de liberação e entrega

Page 54: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processos de Apoio: Avaliação

• Envolve duas perspectivas principais:

– Verificação: está-se construindo corretamente a ontologia?

– Validação: está-se construindo a ontologia correta?

• Verificação:

– A ontologia responde as questões de competência apropriadamente?

– Critérios de qualidade de ontologias: clareza, coerência e consistência, comprometimento ontológico mínimo etc.

– Aderência a padrões estabelecidos.

• Validação:

– A ontologia é capaz de representar situações de mundo real?

– A ontologia atende aos usos pretendidos para ela?

Page 55: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processos de Apoio: Avaliação

• As atividades de teste, ainda que mostradas no contexto do processo de desenvolvimento, são tipicamente atividades do processo de avaliação.

• Testes são atividades dinâmicas de V&V.

• Contudo, é necessário aplicar outras técnicas estáticas para a V&V de ontologias. Isso é fundamental para garantir a qualidade das ontologias resultantes, em especial quando o objetivo é desenvolver somente uma ontologia de referência.

Page 56: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Processos de Apoio: Avaliação

• Verificação Manual de Ontologias de Referência: analisar quais conceitos, relações e axiomas são necessários (e suficientes) para responder cada uma das QCs.

• Validação por meio de Instanciação: instanciar a ontologia de referência usando dados do mundo real e avaliar se a ontologia é capaz de representar adequadamente tais situações.

Page 57: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Testing Process and Activities sub-ontology

– CQ01. What is the project in which a given testing process and its activities occurred?

Page 58: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Testing Process and Activities sub-ontology

Page 59: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Testing Process and Activities sub-ontology

– CQ01. What is the project in which a given testing process and its activities occurred?

Page 60: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Exemplo: Ontologia de Teste de Software

• Dados extraídos de um projeto real realizado no INPE.

Page 61: SABiO: Systematic Approach for Building Ontologiesfalbo/files/EO/Slides/3-Metodo_SABiO.pdf · ontologia, na medida em que referem-se ao conhecimento a ser representado na ontologia

Conclusões

• A versão atual de SABiO (2.0) procura incorporar aspectos considerados relevantes, tanto pelos métodos mais modernos de Engenharia de Ontologias, como práticas consagradas de Engenharia de Software.