SABiO: Systematic Approach for Building Ontologies

Documentos relacionados
Engenharia de Ontologias Seminário UPON

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Engenharia de Software I: Análise e Projeto de Software Usando UML

Universidade Paulista

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Projeto de Sistemas I

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Processo de Desenvolvimento Unificado

Sistemas de Informação I

Objetivos. Processos de Software. Tópicos abordados. O processo de software. Modelos genéricos de modelos de processo de software.

Processo Unificado (RUP)

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UML - Unified Modeling Language

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Wilson Moraes Góes. Novatec

Portaria Inep nº 190 de 12 de julho de 2011 Publicada no Diário Oficial de 13 de julho de 2011, Seção 1, pág. 13

SABiO: Systematic Approach for Building Ontologies

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

3. Fase de Planejamento dos Ciclos de Construção do Software

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Programa do Módulo 2. Processo Unificado: Visão Geral

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Engenharia de Requisitos

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Engenharia de Software Processo de Desenvolvimento de Software

PROJETO DE FÁBRICA DE SOFTWARE

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Padrões de projeto 1

Feature-Driven Development

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Processos de Desenvolvimento de Software

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

Introdução ao OpenUP (Open Unified Process)

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Introdução à Engenharia de Software

Concepção e Elaboração

Fase 1: Engenharia de Produto

Uma Abordagem usando PU

RUP Rational Unified Process

Engenharia de Software Questionário sobre Engenharia de Requisitos Resolvido Prof. MSc Wagner Siqueira Cavalcante

Metodologia e Gerenciamento do Projeto na Fábrica de Software

EMENTAS DAS DISCIPLINAS

O modelo unificado de processo. O Rational Unified Process, RUP.

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Apresentação, xix Prefácio à 8a edição, xxi Prefácio à 1a edição, xxiii. Parte I - Empresa e Sistemas, 1

Pós Graduação Engenharia de Software

EMENTAS DAS DISCIPLINAS

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Fundamentos em Teste de Software. Vinicius V. Pessoni

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

ATIVIDADES PRÁTICAS SUPERVISIONADAS

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

Implantando um Programa de Melhoria de Processo: Uma Experiência Prática

ATO Nº 91/2015/GP/TRT 19ª, DE 1º DE JUNHO DE 2015

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

O Processo Unificado: Captura de requisitos

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Estudo de caso em UML

Tipos de teste de software

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Prototipação de Software

UNIP Ciência da Computação / Sistemas de Informação TED I - Orientações Gerais para Elaboração dos Documentos

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Ensino técnico Integrado ao médio.

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

UFG - Instituto de Informática

Pacote Microsoft Partner;Waldemar Nogueira;Microsoft Office 2007[2 licença(s)];impressora A3[1 und]

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Grupo 05 EAP e Dicionário Versão 3.0 2º Semestre Gestão de TI Unidade 903 Sul

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

Métodos de Desenvolvimento de Software. Aula 1: Introdução

Engenharia de software para desenvolvimento com LabVIEW: Validação

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Gerenciamento de Requisitos Gerenciamento de Requisitos

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

W Projeto. Gerenciamento. Construindo a WBS e gerando o Cronograma. Autor: Antonio Augusto Camargos, PMP 1/12

Engenharia de Requisitos

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Engenharia de Software na Prática Hélio Engholm Jr.

UNOCHAPECÓ - ÁREA DE CIÊNCIAS EXATAS E AMBIENTAIS ENGENHARIA MECÂNICA - P.I. PROF. EDERSON MOREIRA PAZ

Transcrição:

SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo

Agenda Preocupações Principais do Método Processo de Engenharia de Ontologias Proposto Processo de Desenvolvimento Processos de Apoio

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 Desenvolvimento colaborativo

SABiO: O Processo Proposto Processo de Desenvolvimento Processos de Apoio Identificação de Propósito e Definição de Requisitos Captura e Formalização da Ontologia Ontologia de Referência Design Implementação Aquisição de Conhecimento Documentação Gerência de Configuração Avaliação Reutilização Ontologia Operacional Testes

SABiO: O Processo Proposto Ainda que o processo de desenvolvimento proposto sugira uma sequência na realização de suas atividades, SABiO não prescreve um modelo de ciclo de vida específico. Ao contrário, quaisquer modelos de ciclo de vida podem ser usados. Contudo, sugere-se fortemente o uso de modelos de ciclo de vida incrementais e iterativos.

SABiO: Processo de Desenvolvimento Usuário da Ontologia Engenheiro de Ontologias Identificação de Propósito e Definição de Requisitos Identificação de Propósito e Usos Pretendidos Especialista de Domínio Propósito, Questões de Competência da Ontologia, Sub-ontologias Identificação de Sub-ontologias Identificação de Questões de Competência

Identificação de Propósito e Definição de Requisitos Identificação do Propósito Usos Pretendidos: usuários da ontologia Requisitos: questões de competência Questões que a ontologia deve ser capaz de responder Se domínio for complexo: modularizar ontologia Sub-ontologias: diagrama de pacotes UML Etapa fortemente apoiada pelo Processo de Aquisição de Conhecimento Técnicas colaborativas de Levantamento de Requisitos / Aquisição de Conhecimento devem ser aplicadas

SABiO: Processo de Desenvolvimento Propósito, Questões de Competência da Ontologia, Sub-ontologias Modelagem Conceitual Engenheiro de Ontologias Captura e Formalização da Ontologia Definição de Axiomas Formais Definição do Dicionário de Termos Especialista de Domínio Ontologia de Referência Definição de Axiomas Informais

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 Definição de Axiomas (informais e formais) Axiomas de derivação Axiomas de consolidação Axiomas formais: lógica de primeira ordem

Captura e Formalização da Ontologia Etapa fortemente apoiada pelo Processo de Aquisição de Conhecimento Técnicas colaborativas de Levantamento de Requisitos / Aquisição de Conhecimento devem ser aplicadas Fontes para aquisição de conhecimento: 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, ontologias de fundamentação.

Captura e Formalização da Ontologia Reutilização Ontologias de domínio existentes: aplicar técnicas de ontology merge / mapping para integrar Ontologias de fundamentação: estruturação Core ontologies: especialização Patterns: aplicação Foundational patterns Domain-related patterns

SABiO: Processo de Desenvolvimento Ontologia de Referência Levantamento de Requisitos Não Funcionais Engenheiro de Ontologias Definição da Plataforma de Implementação Design Projeto Arquitetônico Projetista de Ontologias Especificação de Projeto da Ontologia Projeto Detalhado

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

SABiO: Processo de Desenvolvimento Ontologia de Referência Projetista de Ontologias Especificação de Projeto da Ontologia Implementação Programador de Ontologias Ontologia Operacional

Implementação da Ontologia Codificação na linguagem operacional escolhida (p.ex., OWL) 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 / idioms pode se dar no contexto da implementação.

SABiO: Processo de Desenvolvimento Ontologia de Referência Ontologia Operacional Especificação de Projeto da Ontologia Testes de Sub-ontologia Testador de Ontologias Testes Testes de Integração Usuário da Ontologia Casos de Teste e Resultados de Teste Testes da 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) Teste de sub-ontologia: casos de teste são executados considerando apenas o escopo de sua sub-ontologia. Teste de Integração: casos de teste da fase anterior vão sendo reaplicados (teste de regressão) na medida em que sub-ontologias vão sendo integradas. Teste da Ontologia: casos de teste são reaplicados no escopo da ontologia completa, bem como outros testes.

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.

Processos de Apoio: Aquisição de Conhecimento Aplica-se principalmente nas fases iniciais do processo de desenvolvimento de ontologias Métodos e técnicas convencionais e, principalmente, de aquisição colaborativa de conhecimento devem ser empregadas. Fontes de conhecimento: Especialistas de domínio Material bibliográfico consolidado: livros, normais internacionais Modelos de referência, modelos de sistemas Ontologias e padrões ontológicos existentes

Processos de Apoio: Reutilização Reúso de ontologias de domínio existentes: necessário aplicar técnicas de ontology merge / mapping para integração das conceituações Reúso de ontologias de fundamentação: estruturação Reúso de core ontologies: especialização Ontology patterns: Ontology Conceptual Patterns (Foundational / Domainrelated patterns): captura da ontologia Ontology Architectural Patterns: projeto arquitetônico Ontology Design Patterns: projeto detalhado Ontology Idioms: projeto detalhado / implementação Reúso de casos de teste: teste

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 usados para garantir uniformidade nos projetos de desenvolvimento de ontologias. Documento de Especificação de Ontologia de Referência: documento contendo todas as informações importantes para a documentação de uma ontologia de referência. Especificação de Projeto da Ontologia Operacional: documento contendo informações relativas à plataforma de implementação, requisitos não funcionais, arquitetura da ontologia, principais decisões de projeto. Padrões para codificação e documentação de testes de ontologias operacionais.

Documento de Especificação de Ontologia de Referência 1. Introdução 2. Descrição do Propósito 3. Descrição do Domínio 4. 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... 5. Dicionário de Termos

Processos de Apoio: Documentação Devido ao caráter eminentemente colaborativo do desenvolvimento de ontologias, sugere-se o uso de Wikis para a documentação, sobretudo, de ontologias de referência.

Processos de Apoio: Gerência de Configuração Os principais documentos propostos pelo método, uma vez aprovados, devem ser submetidos à gerência de configuração. Os documentos de Especificação da Ontologia de Referência e Especificação de Projeto da Ontologia Operacional, bem como a Ontologia Operacional (código) têm de ter a configuração gerenciada obrigatoriamente. A gerência de configuração trata, dentre outros, de: Controle de alteração Controle de versão Controle de liberação e entrega

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 e processos estabelecidos. Validação: A ontologia é capaz de representar situações de mundo real? A ontologia atende aos usos pretendidos para ela?

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: atividades dinâmicas de V&V Revisões: atividades estáticas de V&V